install_all_updates 命令
用途
将安装的软件更新到介质上的最新级别,并验证当前推荐的维护或技术级别。
语法
install_all_updates -d 设备 [ -p ] [ -一 ] [ -c ] [ -r ] [ -n ] [ -s ] [ -x ] [ -v ] [ -N ] [ -S ] [ -Y ] [ -V ] [ -D ]
描述
install_all_updates 检查当前安装的软件并试图更新它到在介质上可用的最新级别。 install_all_updates 不会
安装任何在介质上存在但尚未安装在系统上的文件集,但以下情况例外:
- 新的文件集是作为其他文件集的必需文件集安装的。
- /var/adm/ras/bosinst.data 文件将 ALL_DEVICES_KERNELS
设置为
yes。
注意:
- 当前,install_all_updates 处理 installp 映像和 rpm 映像。 因为 rpm 实用程序不支持必需内容的自动安装,一些 rpm 软件可能不用与 install_all_updates 一起安装。
- install_all_updates 使用 oslevel 实用程序并与此版本的 install_all_updates 已知的、最新推荐的维护或技术级别核对,来验证当前推荐的维护或技术级别。
- 如果 install_all_updates 定位一个到安装实用程序的更新(bos.rte.install 文件集),它先安装这个更新再重调用自己来处理剩余的更新。 -i 标志仅可被用来更新安装实用程序,当试图察看精确预览时这是有用的。
- install_all_updates 应用所有的 installp 更新,除非指定 COMMIT 标志( -c)。 要了解有关 APPLY 和 COMMIT 的更多信息,请参阅 installp 联机帮助页。
- 缺省情况下 install_all_updates 将指示 installp 自动安装必需软件并执行所有必需的文件系统扩展。 “-n”将覆盖必需软件缺省值,“-x”将覆盖文件系统扩展的缺省。
- 以下标志仅 适用于 installp 更新:-c、-n、 -x、-v、-S 和 -V。
- 由 临时修订 更新的任何库或可执行程序或由活动进程使用的服务更新将不会反映在该进程中,除非重新启动该进程。 例如,更改 ksh 的更新不会在已在运行的任何 ksh 进程中反映出更改。 同样,对 libc.a 库的更新不会反映在任何已在运行的进程中。 另外,对于正在使用某个库并且在该库已更新之后对同一库执行了 dlopen 操作的任何进程,如果不重新启动,那么它可能出现不一致情况。
- 如果尝试更新由 临时修订 管理器锁定的文件集 ( 埃姆格尔 命令) ,那么将显示一条通知,指示哪些文件集已锁定。 lslpp 命令显示任何处于 EFIXLOCKED 状态的被锁定文件集。
- 如果尝试更新其安装构建的日期晚于所选文件集的构建日期的文件集,那么将显示一条指示此情况的消息。
某些已安装的软件必须提供新的安装映像,而不是 AIX® 操作系统的新技术级别或服务包中的服务更新。 例如,如果安装映像的先决条件发生更改,那么需要新的安装映像。 如果文件集是使用 smitty update_all 或 install_all_updates 命令进行更新的,那么将安装该文件集的最新版本,而不理会文件集是通过安装映像更新的还是通过软件源代码中的服务更新进行更新的。
安装新的安装映像后,系统中的文件集的历史记录(即 lslpp -ah <fileset> 命令的输出)将重置。 lslpp -ah <fileset>
命令的输出将列示新级别的文件集(而不是所安装的原始安装)及进行该安装后的所有更改。 以下示例显示安装该安装映像之前和之后 bos.ecc_client.rte 文件的历史记录。
- 交付 bos.ecc_client.rte 文件的新安装映像之前,将显示以下输出:
# lslpp -ah bos.ecc_client.rte Fileset Level Action Status Date Time --------------------------------------------------------------------------- Path: /usr/lib/objrepos bos.ecc_client.rte 6.1.9.0 COMMIT COMPLETE 04/26/17 16:49:31 6.1.9.0 APPLY COMPLETE 04/26/17 16:49:31 6.1.9.15 APPLY COMPLETE 04/26/17 21:02:55 6.1.9.45 APPLY COMPLETE 04/27/17 08:11:05 Path: /etc/objrepos bos.ecc_client.rte 6.1.9.0 COMMIT COMPLETE 04/26/17 16:49:42 6.1.9.0 APPLY COMPLETE 04/26/17 16:49:42 6.1.9.15 APPLY COMPLETE 04/26/17 21:03:07 6.1.9.45 APPLY COMPLETE 04/27/17 08:11:19 - 交付并在系统上安装 bos.ecc_client.rte 文件的新安装映像之后,将显示以下输出:
# lslpp -ah bos.ecc_client.rte Fileset Level Action Status Date Time --------------------------------------------------------------------------- Path: /usr/lib/objreposbos.ecc_client.rte 6.1.9.100 COMMIT COMPLETE 04/27/17 09:19:12 6.1.9.100 APPLY COMPLETE 04/27/17 09:19:12 Path: /etc/objreposbos.ecc_client.rte 6.1.9.100 COMMIT COMPLETE 04/27/17 09:19:22 6.1.9.100 APPLY COMPLETE 04/27/17 09:19:22
标志
| 项 | 描述 |
|---|---|
| -c | 指示 installp 提交所有的新安装的更新。 缺省情况下应用更新(请参阅 installp 联机帮助页,以得到关于应用对提交更新的解释)。 |
| -d 设备 | 指定在何处能找到安装介质。 这可是一个硬件例如磁带或光盘或可成为包含安装映像的目录。 当安装介质是一个磁带设备,它应当被指定为 no-rewind-on-close 和 no-retension-on-open。 |
| -D | 打开 install_all_updates 调试输出。 该标志使用来调试 install_all_updates 实用程序,不应当在正常操作中使用。 |
| -一 | 仅更新安装实用程序。 |
| -n | 指示 installp 不自动安装必需部分。 自动安装必需部分是缺省的行为。 |
| -N | 跳过更新,先安装实用程序。 注: 除非您正在调试相关问题,否则建议不要使用此标志。
|
| -p | 通过运行为指定操作的所有预安装检查,执行一个预览操作。 没有软件被更改。 |
| -r | 更新 rpm 映像(如果可能的话)。 在缺省情况下不设置该标志。 |
| -s | 跳过对推荐的维护或技术级别的验证。 缺省情况下执行此验证。 |
| -S | 指示 installp 禁止光盘介质的多卷处理。 |
| -v | 指示 installp 验证安装后在文件集中所有安装的文件有正确的检验和。 这个操作可能需要更多的时间来完成安装。 |
| -V | 指示 installp 在冗长的输出方式下运行。 |
| -x | 指示 installp 不自动扩展文件系统。 自动扩展文件系统是缺省的。 |
| -y | 同意所有为安装软件而要求的软件许可协议。 |
退出状态
- 0
- 所有 lppmgr 相关操作成功完成。
- >0
- 发生错误。
安全性
仅 root 用户能执行 install_all_updates。
RBAC 用户和可信AIX用户请注意:此命令可执行特权操作。 只有特权用户才能执行特权限定的操作。 有关授权和权限的更多信息,请参阅安全中的特权命令数据库。 要获取与此命令相关联的特权和权限的列表,请参阅
lssecattr 命令或 getcmdattr 子命令。
示例
- 要在 /dev/cd0 设备上安装所有 installp 更新,并验证当前推荐的维护或技术级别,请输入:
install_all_updates -d /dev/cd0 - 要使用 /images 目录中的更高技术级别来更新系统上的所有 rpm 映像,请输入:
install_all_updates -d /images -r - 要在设备 /dev/cd0 上安装最新级别的安装实用程序(bos.rte.install 更新),请输入:
install_all_updates -d /dev/cd0 -i
文件
| 项 | 描述 |
|---|---|
| /usr/sbin/install_all_updates | 包含 install_all_updates 命令。 |