2011-08-20 81 views
2

我们正在尝试将一个跨平台桌面应用程序发布到三个主要平台(Windows,MacOSX和Linux)。在Windows上,通过exe安装程序和MacOSX上的dmg非常常见。我的问题是,在Linux上发布什么?发送一个跨平台桌面应用程序

我见过公司发布.sh二进制文件。这是发布Linux的最佳方式吗?

感谢

回答

1

一些公司,如Mozilla,分发每一个建筑的tar.gz:

  • 大,静态链接,
  • 没有标准的工具更新,
  • 很难维持集中(在一个组织中),
  • 死易安装
  • 简单发布。

其他公司,如谷歌,分发多种包格式,或至少.rpm和.deb,旨在主要版本的主要分布。

  • 结构紧凑,公共依赖由包管理器处理,
  • 使用标准的包管理器,可以方便地集中维护,
  • 需要特权才能安装,
  • 需要密切关注与支持迪士通版本的兼容性,
  • 需要复杂的封装基础设施。
0

尽管rpm和deb包是许多 Linux发行版的标准,由9000提到的,你将被迫 维护多个格式,同时也担心 不同版本的包管理的差异。例如,RPM包 4.x的目标将无法在3.x的工作:

http://fedora.linuxsir.org/fedoradocs/rpm-guide/en/ch-rpm-evolution.html

,并在许多情况下,分布之间的方式RPM依赖关系是相当大的。 如果您的应用程序是一个流行的开源应用程序,那么它就不是 的问题,因为分发维护人员将负责为其创建 程序包。事情的变化,如果你是一个商业或关闭 源公司,特别是如果你还需要支持Windows和 OS X

有时更方便有一个单独的安装程序,在不同的Linux发行版的顶部 工作或者在某些情况下,在实际安装应用程序之前向最终用户询问所需信息时,您需要更多的灵活性。某些公司(内部打包tar.gz)使用的shell脚本可能会解决这个本地程序包的限制,但其UI 中的限制仍然非常有限,且维护起来非常复杂(大多数逻辑必须包含在 shell脚本,必须在不同shell中可移植......)。他们 也需要预先解压捆绑的tar.gz。

有一些 独立的Linux版本和高度可定制的工具,使得创建二进制可执行安装程序。这些工具 具有易于维护和安装的优点,但取决于该工具的 可能需要某些目标机器(例如Java)中的一些先决条件。

您可以尝试我们的BitRock InstallBuilder(免责声明,我的 开发者之一),创建在任何Linux版本 没有任何外部依赖关系或先决条件运行的二进制安装程序。 生成的安装程序将最小的开销添加到打包文件 ,并且非常容易定制。此外,同一个项目文件可以共享为 以生成多个平台,因此您可以使用三个 平台进行很少的增量工作。我们也支持 生成.rpm和.deb软件包,但正如上面提到的那样,您会在 上失去灵活性。我想指出,我们为开放的 源项目提供免费许可。