pkgchk 命令

用途

检查安装的准确度。

语法

检查已安装对象的内容
pkgchk [ -l | -a -c -f -q -v ] [ -n -x ] [ -P path ] [ -p Path1[,Path2 . . . ] [ -i File] [ Pkginst  . . . ]
检查指定设备上的包假脱机的内容
pkgchk -d Device [ -l | -v ] [ -p Path1[,Path2 . . . ] [ -i File] [ Pkginst  . . . ]
检查指定 pkgmap 中描述的程序包的内容
pkgchk -m Pkgmap [ -e Envfile] [ -l | -a -c -f -q -v ] [ -n -x ] [ -i File] [ -p Path1[,Path2 . . . ]]

描述

pkgchk 检查已安装文件的准确性,或者通过使用 -l 标志来显示有关软件包文件的信息。 该命令检查目录结构和文件的完整性。 不符的被报告在 stderr 上,同时还有详细的问题解释。

上面定义的第一个概要用于列出或检查系统上安装的对象的内容 and/or 属性。 软件包名称可以在命令行中列出,或者缺省情况下机器上的所有内容都被检查。 如果使用带有 -P 选项的 pkgadd 命令将软件包安装在备用根目录路径中,那么可以使用通过 -P 选项指定的相同备用根目录路径来检查或列示内容和属性。

第二个概要用于列示或检查已在指定设备上假脱机但未安装的程序包的内容。 无法检查假脱机程序包的属性。

第三个概要用于列示或检查所指示的 Pkgmap中描述的对象的内容 and/or 属性。

标志

表 1. 标志
描述
-l 列出选定的组成软件包的文件的信息。 它和 acfgv 标志不兼容。
-a 仅审计文件属性,不检查文件内容。 缺省值为检查两者。
-c 仅审计文件内容,不检查文件属性。 缺省值为检查两者。
-f 如果可能,更正文件属性。 如果与 -x 标志一起使用,那么它将除去隐藏文件。 当使用此标志调用 pkgchk 时,它将创建目录,命名管道,链接和特殊设备 (如果它们不存在)。
-q 启用安静方式。 不给出有关丢失文件的消息。
-v 启用详细方式。 边处理边列出文件。
-n 忽略不稳定的或可编辑的文件。 此标志必须用于大多数安装后检查。
-x 仅搜索独占目录,寻找存在的且不在安装软件数据库或 Pkgmap 指定的文件中的文件。 (互斥目录是由程序包创建和为程序包创建的目录; 它必须仅包含随程序包一起交付的文件。 如果在独占目录中发现非软件包文件,pkgchk 报告一个错误。) 如果 -x-f 标志一起使用,那么将除去隐藏文件; 不会执行其他检查。
注: 要仅除去隐藏文件,请同时使用 -f-x 标志。 要除去隐藏文件并检查文件的属性和内容,请同时使用 -f-x-c-a 标志。
-p 检查列出的一个或多个路径名的准确性。 pathname 可以是一个或多个用逗号分隔的路径名 (或者用空格分隔,如果列表用引号括起)。
-i File 文件中读取路径名列表,并将该列表与安装软件数据库或标明的 Pkgmap 文件进行比较。 不会检查 inputfile 中未包含的路径名。
-d 指定假脱机程序包所在的设备。 Device 可以是目录路径名,也可以是 - ,用于指定从标准输入中读取的数据流格式的包。
-m 此标志根据 pkgmap 文件 Pkgmap检查程序包。
-e 请求使用名为 Envfile 的 pkginfo 文件来解析在指定的 pkgmap 文件中记录的参数。
普金斯特 定义用于指定包名缩写的短字符串。 (术语 package instance 使用松散: 它指的是 Pkginst的所有实例化,即使不包含实例标识也是如此。)

要指示包的所有实例,请指定 "Pkginst.*'" ,将命令行括在单引号中,如所示,以防止 shell 解释 * 字符。 使用标记“all”来代表源介质中所有可用的软件包。

-P 路径 此标志检查备用根目录路径中的包。

退出状态

本命令返回以下退出值:
表 2。 退出状态
描述
重大安全事件数量 脚本成功完成。
第 1 年 致命错误。 安装过程已终止。

文件

表 3。 文件
描述
/usr/sbin/pkgchk 包含 pkgchk 命令。