sysck 命令
用途
在安装和更新过程中检查清单信息。
语法
sysck { -i | -u } [ -R RootPath ] [ -N ] [ -v ] [ -s SaveFile ] [ -O { r | s | u }] -f 文件 ProductName { tcbck 标志 }
所有 tcbck 命令标志都对该命令有效。
描述
sysck 命令对照从安装和更新介质中抽取的文件来检查文件定义,并更新软件重要产品数据(SWVPD)数据库。 The 锡斯克 command does not recognize the following special characters in file names: grave accent (`), quotation marks (', "), backslash (\), caret (^), parentheses ((, )), vertical bar (|), braces ({, }), brackets ([, ]), greater than and less than symbols (<, >), colon (:), and comma (,). If a file name contains one of these characters, the 锡斯克 command fails.
sysck 命令主要在软件产品的安装和更新过程中使用。
在使用 -i 标志调用时,sysck 命令根据文件定义检查抽取的文件的属性,更新 SWPCD,并试图修订文件中可能存在的错误。
File 参数是包含 文件定义的节文件名。 此类文件的一个示例是 /etc/security/sysck.cfg 文件,尽管 syschk 命令不使用这个文件。 sysck 命令检查类型属性设为 FILE 的文件的大小、链接、符号链接、所有者、组和方式属性。 当使用 -v 标志和 -i 标志调用时,sysck 也会检查文件校验和的值。
sysck 命令会更新 SWVPD 数据库中每个文件的文件名、产品名、类型、校验和以及大小。
为了修正错误, sysck 命令将已安装或已更新文件的属性重置为 File 节文件中定义的值,但某些属性除外,如 "Fixing Errors"中所述。
当使用 -u 标志调用时,sysck 命令将每个属于软件产品 ProductName 组成部分的文件的条目从 SWVPD 数据库中除去。 sysck 命令也按照 SWVPD 数据库中的定义删除每个文件的任何硬链接和符号链接。
标志
| 项 | 描述 |
|---|---|
| -f 文件 | 指定包含文件定义的节文件名。 |
| -i | 检查软件产品文件的正确安装。 根据文件定义更新 SWVPD 数据库,并尝试修订发现的错误。 |
| -N | 指定不应更新 SWVPD 数据库。 |
| -O { r | s | u } | 指定要更新 SWVPD 的哪一部分,如下:
|
| 项 | 描述 |
|---|---|
| -R RootPath | 使用 RootPath 作为根以代替“/”。 |
| -s SaveFile | 制作 VPD(Vital Product Data :重要产品数据)中当前内容的快照,并以节格式将其保存到 SaveFile 指定的文件。 用 -u 选项调用。 用这个标志不会对数据库进行操作。 必须与 -f 选项一起使用。 例如: |
| -U | 从 SWVPD 中删除文件条目,并删除硬链接和符号链接。 |
| -v | 验证校验和是否正确。 |
| ProductName | 指定正在检查的可安装的软件产品或选项。 |
环境变量
| 项 | 描述 |
|---|---|
| INUTREE | 环境变量 INUTREE 只有下列四种有效值:
INUTREE 可以用来代替 -OTree 标志。 |
| INUNOVPD | 环境变量 INUNOVPD 可以为空,也可以设置为 1。 如果设置为 1 ,那么 sysck 不会更新 SWVPD。 INUNOVPD 可用来代替 -N 标志。 |
| INUVERIFY | 如果将环境变量 INUVERIFY 设置为 1,那么 sysck 会验证节文件中的校验和属性是否正确。 INUVERIFY 可以用来代替 -v 标志。 |
文件定义
| 项 | 描述 |
|---|---|
| ACL | 文件的访问控制表。 如果该值为空白,那么除去 acl 属性。 如果不指定值,那么命令会根据访问控制表中描述的格式计算值。 属性会将 x(执行)访问权仅授权给 root 用户和安全组的成员。 该命令应该 setuid 为 root 用户,并且具有可信计算库属性。 |
| CLASS | 文件的逻辑组。 必须指定一个值,因为不能计算得到该值。 值为 ClassName [ClassName]。 |
| 校验和 | 文件的校验和。 如果该值为空白,那么除去 checksum 属性。 如果不指定值,那么该命令根据 sum 命令指定的格式计算值。 该值为 sum -r 命令的输出,包含空格。 |
| 组 | 文件组。 如果该值为空白,那么除去 group 属性。 如果不指定值,那么该命令计算一个值,该值可以是组标识,也可以是组名。 |
| 方式 | 文件方式。 如果该值为空白,那么除去 mode 属性。 如果不指定值,那么该命令计算值,它可以是八进制数字或字符串(rwx),并且具有 TCB、SUID、SGID 以及 SVTX 属性。 |
| 所有者 | 文件所有者。 如果该值为空白,那么除去 owner 属性。 如果不指定值,那么该命令会计算值,它可以是用户标识或用户名。 |
| 大小 | 文件的大小,以字节为单位。 如果该值为空白,那么除去 size 属性。 在 size 字段中的 VOLATILE 值表示文件大小会更改(因此不能给出校验和值)。 NOSIZE 值表示文件为 0 长度。 如果不指定值,那么该命令会计算值,该值为十进制数字。 |
| target | 允许符号链接和硬链接在清单中以单独节存在。 target 文件定义指向链接源的完整路径名,例如:目标 是/usr/bar. |
| TYPE | 文件类型。 该值不能为空。 如果不指定值,那么该命令会计算值,它可以是 FILE、DIRECTORY、FIFO、BLK_DEV、CHAR_DEV、LINK、MPX_DEV 和 SYMLINK 关键字。 |
| xacl | 对扩展访问控制表的添加。 因为不能计算该值,所以值必须指定为扩展访问控制表中的单个条目。 该属性仅在使用 -i 标志时有效。 有关格式的信息,请参阅上面的 acl 文件定义。 |
修正错误
为了修订错误,sysck 命令会将已安装或已更新的文件的属性重新设置为在 File 节文件中定义的值,下列的属性例外。对于这些属性,sysck 命令的操作如下所述:
| 项 | 描述 |
|---|---|
| 链接 | 创建任何缺少的硬链接。 如果存在链接指向本定义中未列出的文件,那么删除该链接。 |
| PROGRAM | 如果该属性包含在 File 节文件中,sysck 会调用该程序。 如果发生错误,会显示出一条消息,但不采取其他的操作。 |
| symlinks | 创建缺少的符号链接。 如果存在链接指向本定义中未列出的文件,那么删除该链接。 |
安全性
特权控制:只有 root 用户才能运行此命令。
示例
- 使用 installp 命令安装的产品在其映像中提供库存文件。 要将定义添加到库存数据库并检查许可权,链接和校验和等, 请输入:其中dude.rte.inventory将如下所示:
/usr/bin/dude.exec: class = apply,inventory,dude.rte owner = bin group = bin mode = 555 type = FILE size = 2744 checksum = "04720 3" - 要除去已从系统中除去的产品的任何文件链接,并从库存数据库中除去这些文件,请输入:
文件
| 项 | 描述 |
|---|---|
| /etc/objrepos/inventory | 在根上指定软件产品文件的名称和位置。 |
| /usr/lib/objrepos/inventory | 在 /usr 文件系统里指定软件产品文件的名称和位置。 |
| /usr/share/lib/objrepos/inventory | 在 /usr/share 文件系统里指定软件产品文件的名称和位置。 |