在Linux,AIX和Solaris上安装二进制文件的最佳软件包格式是什么? RPM?

在Redhat Linux,IBM AIX和Solaris上是否有一个通用的打包格式来运送编译的文件(不是来源)?

很不幸的是,不行。 至less不是与“标准”系统包集成的方式。 我已经看到AIX上的RPM软件包,主要用于在那里安装开源软件包。 而且,Solaris上的包装已经完全死了。 OpenSolaris有一些改进,但它仍然不是跨平台的。

IPS(图像打包系统)基于networking存储库而不是分发文件,它是一个最新但有前途的跨平台解决scheme(基于python),它支持引用的操作系统和其他一些操作系统(包括Windows和MacOS X):

http://wikis.sun.com/display/IpsBestPractices/Multi-platform+Packaging+for+Layered+Distros

http://wiki.updatecenter.java.net/Wiki.jsp?page=UC2Documentation.ReleaseNotes.2.3

尽pipe提到的所有三种Unix变体都运行在x86体系结构(和其他)上,但更有可能在PowerPC上运行AIX,在SPARC上运行Solaris,在x86上运行RedHat。 既然如此,给定应用程序的单个程序包在试图处理多个OS版本和多个指令集时会相当大。

这使我们回到了传统的Unix模式:源代码tarball或shar脚本,使用make configmake install来处理CLI级别的操作系统依赖关系,而不是尝试在低级别细节中进行烘焙。

不,RPM主要是Linux专用的,而且三种平台的二进制格式都不同。 你不能使用一个包来定位它们。 您将能够得到的最接近的是一个shell脚本,其内部编码了数据。 Sun对于Linux的Java安装程序做了类似的事情。 实际上,当你运行shell脚本时,它将一个tarball写入磁盘,然后提取这个tarball并执行安装。