在 Linux、AIX 和 Solaris 上安装二进制文件的良好软件包格式是什么。RPM?

在 Linux、AIX 和 Solaris 上安装二进制文件的良好软件包格式是什么。RPM?

在 Redhat Linux、IBM AIX 和 Solaris 上,是否有一种用于运送编译文件(而非源代码)的通用打包格式?

答案1

不幸的是,没有。至少没有与“标准”系统软件包集成的方式。我见过 AIX 上的 RPM 软件包,它主要用于在那里安装开源软件包。而且,在 Solaris 上打包完全是脑残行为。OpenSolaris 有所改进,但它仍然不是跨平台友好的。

答案2

尽管基于网络存储库而不是分发文件,IPS(映像打包系统)是一种新近但很有前途的跨平台解决方案(基于 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

答案3

虽然上述三种 Unix 变体均在 x86 架构(以及其他架构)上运行,但您更有可能在 PowerPC 上遇到 AIX、在 SPARC 上遇到 Solaris 以及在 x86 上遇到 RedHat。在这种情况下,给定应用程序的单个软件包在尝试处理多个操作系统版本和多个指令集时会相当大。

这让我们回到经典的 Unix 模式:源代码 tarball 或 shar 脚本,使用make configmake install在 CLI 级别处理操作系统依赖关系,而不是尝试融入低级细节。

答案4

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

相关内容