在AIX上安装软件使用哪些命令?

最通用的方法 - 解决不同格式的“下层”或差异的方法是:smit install

smit install - 作为 smit 的一部分,它将引导您通过一系列对话框以帮助进行选择。最终,这会调用程序 /usr/sbin/geninstall

那么,这个问题的下一个方面是:geninstall 调用了什么?

Legacy INSTALLP

(也称为BFF - 备份文件格式)

installp/bff格式使用命令installp。

从命令行使用installp非常简单:

installp还是一个软件包管理器,它可以解决和安装依赖项 - 如果在/software/repository/directory中可用

以下命令演示了一些常见的LPP/installp/BFF打包操作。

从/software/repository/directory安装some.fileset.name,同时查找并安装依赖项 - 如有必要,还可以增加文件系统大小

installp -d /software/repository/directory -agX some.fileset.name

-d:以BFF格式存储软件包/软件包的目录

-a:应用

-g:解决并应用依赖项(如果有)

-X:如有需要,增加目标文件系统大小

列出存储库中的软件

installp -d /software/repository/directory -L

-d:以BFF格式存储软件包/软件包的目录

-L:列出目录中的LPP软件包

重新生成/software/repository/directory中的TOC

inutoc /software/repository/directory

卸载一些文件集名称

installp -ug some.fileset.name

-u:卸载参数

-g:递归卸载依赖于some.fileset.name的软件

列出/验证已安装的软件包

lslpp -L

列出已安装的LPP软件包-不区分根、usr或共享组件

lslpp -l

列出已安装的LPP软件包-包括独立的根、usr和/或共享组件

lppck -v some.fileset.name

-v:验证内容

验证some.fileset.name的完整性

lslpp -h some.fileset.name

-h:历史记录

列出当前和先前版本的some.fileset.name的安装历史(安装日期)

-w:所在位置

lslpp -w /some/file/name

识别包含/some/file/name的文件集

RPM - RedHat软件包管理器

在AIX上,rpm是标准的rpm工具,可以参考任何Linux指南来了解如何使用它。请注意,已安装的RPM版本比较古老,可能会缺少一些你期望的选项。

michael@x071:[/usr/sbin]rpm --version

RPM version 3.0.5

默认情况下,/usr/bin/rpm 已安装,并且是名为 rpm.rte 的文件集的一部分。

michael@x071:[/usr/sbin]lslpp -w /usr/bin/rpm

File Fileset Type

----------------------------------------------------------------------------

/usr/bin/rpm rpm.rte File

从AIX 7.2开始(我现在无法访问),它具有rpm版本4,并且还包括yum以帮助解决RPM依赖地狱的问题。

ISMP

InstallShield多平台

我从未尝试过通过命令行安装ISMP,所以这里没有快速摘要。这种打包方式的主要“用户”是第三方VAR和软件供应商。IBM软件组也经常使用 - 过去更多(例如db2v6或v7,以及apache-1和httpd-2的初始版本)。

可以在https://www.ibm.com/support/knowledgecenter/ssw_aix_72/install/ismp_installation.html找到一个快速描述(感谢Jeff Schaller提供的链接,于2020年10月更新指向AIX 7.2文档)。

关键点似乎是installp和RPM从不需要用户交互,而ISMP可能需要(即,可能需要响应文件才能无人干预)。

个人笔记

对我个人来说,ISMP是一个“历史注释”,因为我越来越少见到它的使用(甚至IBM软件组似乎也不再使用它)。此外,在AIX上,我更喜欢避免使用RPM。并不是因为我不喜欢RPM - 而是因为常见的缺陷(在我看来)是RPM软件包不知道installp已经安装了什么(反之亦然),而且RPM会在没有警告的情况下覆盖其他installp软件包的内容,或者在之后没有警告地删除一些部分。这把刀两面割:当“旧的”有更新时,“新的”就会出问题。简而言之 - 混合使用会导致麻烦!

个人而言,在2001年,我认为拥有三种不同的安装程序是一个很好的主意。还有geninstall来控制它们。然而,通过排除故障的经验教会了我不同的看法!