ckprereq 命令

用途

验证所有必备软件可用,并处于相应的修订级别。

语法

ckprereq [ -v ] [ -O { r | u | s }] [ -f PrereqFile | a-l FilesetName [ Level]]

描述

ckprereq 命令确定系统级别是否与要安装或更新的软件产品兼容。

ckprereq 命令设计为在软件产品的安装过程期间使用。

当使用 -f 标志调用 ckprereq 时,PrereqFile 参数指定软件先决条件列表文件。 此文件中的每条记录包含有关完成安装过程所需要的先决条件文件集的信息。

当使用 -l 标志调用 ckprereq 时,从软件重要产品数据(SWVPD)数据库中的 ProductName 信息读取先决条件信息。

如果使用 -f 标志给出了 PrereqFile 参数,那么输出文件由 ckprereq 命令生成。 输出文件覆盖输入文件,并且是原始输入的列表。 所有发生故障的行都在第一列中使用故障代码标记。 如果将先前 ckprereq 调用的输出用作输入,那么 ckprereq 命令忽略故障代码。

有四个可能的必要测试:prereqcoreqifreqinstreq

prereq 是一个测试,检查已安装文件集,并处于指定的修订级别。 要认为已经安装,那么软件产品的 SWVPD 条目必须是 APPLIED、APPLYING、COMMITTED 或 COMMITTING 状态。 prereq 要求在安装独立的文件集之前,文件集也为指定的修订级别。

coreq 测试类似于 prereq,除了该 coreq 测试可以任何顺序安装,但 prereq 测试要求特定的顺序。 如果还没有安装必需软件,由于假定将要安装软件产品,将忽略测试并且不设置故障代码。 通过 ckprereq 命令忽略 coreq 测试。 (installp 命令的必需检查过程不忽略它。)

ifreq 测试与 coreq 相同,除了它只在安装了文件集的情况下测试修订级别。 如果未安装文件集,那么忽略 ifreq 测试。

通过 ckprereq 命令将 instreq 测试视为 prereq 测试。 只有 installp 命令的优先必要检查使用 instreq 的特殊意义。

installp 命令在完成安装设置后检查必需和条件必需文件集,并为任何未满足的 coreqifreq 条件返回消息。 如果安装了条件必需产品,但不匹配指定的修订级别,那么未满足条件必需条件。

标志

描述
-f PrereqFile 指定先决条件列表文件的文件名。
- l FilesetName [ 级别 ] 指定文件集或文件集更新的名称,在这些文件集及其更新下从 SWVPD 数据库寻找先决条件信息。
-O { r | u |s} 指定要检查的软件产品的文件树的部件。 如果未指定此标志,那么 ckprereq 命令使用 INUTREE 环境变量的值确定要检查哪个部分。 通过 installp 命令设置 INUTREE 环境变量。 r 选项指示已检查软件产品的 /(root)部分。 u 选项指示已检查软件产品的 /usr 部分。 s 选项指示已检查软件服务的 /usr/share 部分。 一次只可以检查一个部分。
-v 显示先决条件列表文件中的每个故障的标准错误的描述消息。

返回值

ckprereq 命令测试当前版本、发行版、修订级别以及可在 SWVPD 中查找到的修正标识,并且如果测试不成功,那么使用以下代码之一标记输出文件中每个发生故障的行中的第一列:

描述
f 修正(级别)测试未成功。
m 修订级别的测试未成功。
n 未安装文件集或设置为 broken
p 修正标识的测试未成功。
R 发行版的测试未成功。
PrereqFile 参数中有语法错误。
v 版本的测试未成功。

如果发生严重错误,如先决条件列表文件中的无效命令行或语法错误,那么 ckprereq 命令的返回码为 255。 或者,返回码是表示失败的测试的号码的数字。

安全性

访问控制

必须具有 root 用户权限才能运行此命令。

RBAC 用户和可信 AIX® 用户注意: 此命令可以执行特权操作。 只有特权用户才能执行特权限定的操作。 有关权限与特权的更多信息,请参阅安全性中的“特权限定的命令数据库”。 有关与该命令相关联的特权和权限的列表,请参阅 lssecattr 命令或 getcmdattr 子命令。

示例

  1. 要检查文件 /tmp/prq.test 中的必需规范,必须具有以下内容:
       *prereq bos.rte 4.1.0.0
       *prereq X11.base.rte 4.1.0.0
    是满足的,在报告任何故障时,请输入:
       ckprereq -vf /tmp/prq.test
  2. 要为 root 部分检查 /usr/lpp/snaserv/prereq2 文件中列出的所有必需软件,请输入:
       ckprereq -f /usr/lpp/snaserv/prereq2 -Or
  3. 要检查是否已满足安装的文件集更新 bos.net.tcp.client(为级别 4.1.0.1)要求,请输入:
       ckprereq -l bos.net.tcp.client 4.1.0.1

文件

描述
/etc/objrepos/product 包含有关安装在文件系统的 /root 部分中的软件的信息的数据库。
/usr/lib/objrepos/产品 包含有关安装在文件系统的 /usr 部分的软件的信息的数据库。
/usr/share/lib/objrepos/product 包含有关安装在文件系统中的 /usr/share 部分的软件的信息的数据库。