商业软件应使用哪些安装程序类型来支持Linux?


9

源代码未打开或免费,因此无法选择在安装时进行编译。到目前为止,我已经看到开发人员:

  • 提供tar.gz文件,这取决于用户在合适的位置进行解压缩。
  • 为.tar.gz提供install.sh脚本以运行基本安装程序,甚至可能提示用户提供安装选项。
  • 提供RPM和/或deb文件,从而允许用户继续使用他们熟悉的本机软件包管理工具来安装/升级/卸载。

希望支持最多数量的Linux发行版,使用户的生活尽可能轻松,同时也保持尽可能少的构建/打包/安装程序基础结构。

寻找有关如何打包软件的建议。

Answers:


19

我看到两种查看方式。

一种是针对最受欢迎的Linux,为每个Linux提供本机软件包,并按流行程度交付软件包。几年前,这意味着首先为Red Hat类型的Linux提供RPM,然后在时间允许的情况下为每个不太受欢迎的基于RPM的Linux重建源RPM。这就是为什么说Mandriva RPM通常比Red Hat或SuSE RPM老一些的原因。但是,由于Ubuntu在过去几年中非常流行,因此您可能要从.deb开始,然后再添加RPM。

另一种是尝试一次针对所有 Linux,这是提供二进制tarball的人们正在尝试的。作为系统管理员和最终用户,我真的不喜欢此选项。这样的tarball会将文件分散到您解压缩的整个系统上,以后便无法选择卸载,软件包验证,智能升级等功能。

您可以尝试混合的方法:适用于最受欢迎的Linux的本机软件包,以及适用于奇数Linux和老派系统管理员的二进制压缩文件,这些管理员无论出于何种原因都不喜欢软件包管理器。


这几乎就是我到目前为止所采用的方法-从Red Hat / Fedora / CentOS的RPM开始,现在提供Ubuntu / Debian .deb文件,但尚未决定制作tar.gz是否仍然有用和需要。听起来,这可能会让发行较少的用户至少可以自行运行该软件,而不是什至没有选择权。谢谢。
Mike Gray

2
制作便携式二进制tarball可能比您想象的要多得多。多年来,g ++ ABI发生了几次更改,这只是一个潜在的陷阱,因此您可能必须交付所用任何C ++库的二进制版本,而不是使用平台版本来实现足够的兼容性。这是单个二进制RPM无法在所有地方安装和运行的原因之一。不过,RPM似乎在文化上已经接受了这一事实,而预期tarball(可能是因为它们是古老的标准)在任何地方都可以使用。
沃伦·杨

我已经看到混合方法是最好的方法:可以吸引很多人,而付出的努力并不多。
雨果

制作一个简单的二进制tarball仍然不错。特别是如果该tarball将所有游戏文件存储在一个独立的目录中。它将允许某些用户解压缩并运行它而无需安装;而且这也将使其他发行版(如Gentoo,Arch等)的生活更加轻松,因为对他们而言,解压缩/重新打包tarball更加容易。
DenilsonSáMaia

4

无论做什么,请确保包含“支持脚本”,该脚本可让您在目标系统上收集尽可能多的信息以排除错误。我保证您会遇到问题,并且调试客户说的与实际情况通常大不相同。


0

我的偏好始终是包装(rpm | deb等)。根据软件的性质,可能值得针对特定发行版(rhel / centos等)的软件包,但是您可能永远无法为每个人推出足够的软件包。

根据脚本的不同,安装脚本可以。对我来说,非打包软件最重要的是,可以很容易地将其安装在我选择的位置。


0

游戏倾向于使用安装程序(以前称为Loki Installer,现为MojoSetup),该程序将游戏干净地安装到前缀中并处理诸如图标之类的内容。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.