我们正在尝试将跨平台桌面应用程序发布到3个主要平台(Windows,MacOSX和Linux)。在Windows上,通过exe安装程序和MacOSX上的dmg分发非常常见。我的问题是,在Linux上发布什么?
我见过公司分发.sh二进制文件。这是发布Linux的最佳方式吗?
由于
答案 0 :(得分:1)
某些公司,如Mozilla,每个架构分发一个tar.gz:
其他公司,如谷歌,分发多种软件包格式,或至少.rpm和.deb,针对主要版本的主要版本。
答案 1 :(得分:0)
虽然.rpm和.deb包是许多人的标准 如9000所述,Linux发行版将被迫使用 保持多种格式,也担心差异 包管理器的不同版本。例如,RPM包 定位4.x不适用于3.x:
http://fedora.linuxsir.org/fedoradocs/rpm-guide/en/ch-rpm-evolution.html
并且在许多情况下,分发之间的RPM依赖关系的方式非常大。 如果您的应用程序是一个流行的开源应用程序,那么它就更少了 一个问题,因为分发维护者将负责创建 包裹。如果你是商业或封闭的,事情就会改变 来源公司,特别是如果你还需要支持Windows和 OS X
有时使用单个安装程序会更方便 在不同的Linux发行版上工作,或者在某些情况下,您需要更多 在向您的最终用户询问所需信息之前的灵活性 您的应用程序的实际安装。使用的shell脚本 一些公司(内部包装tar.gz)可能会解决这个问题 本机包的限制,但其UI仍然非常有限 并且维护起来非常复杂(大多数逻辑必须包括在内 shell脚本,必须可以在不同的shell之间移植...)。他们 还需要预先打包捆绑的tar.gz。
有一些工具允许创建二进制可执行安装程序, 独立于Linux版本并且高度可定制。这些工具 具有易于维护和安装的优点但是 取决于工具可能需要目标中的一些先决条件 机器如Java。
你可以尝试我们的BitRock InstallBuilder(免责声明,我是其中之一 开发人员),创建在任何Linux中运行的二进制安装程序 没有任何外部依赖关系或先决条件的版本。该 生成的安装程序为打包文件添加最小大小的开销 并且非常容易定制。此外,相同的项目文件可以 共享以生成多个平台,以便您可以拥有这三个平台 几乎没有增量工作的平台。我们也支持 生成.rpm和.deb包,但如上所述,你会 失去灵活性。我想要注意的是,我们提供免费的开放许可 源项目。