pkgchk 命令
用途
检查安装的准确度。
语法
检查已安装对象的内容。
pkgchk[-l|-a -c -f -q -v] [-n -x] [ '-P path] [-p Path1[Path2. . ] [-i File] [Pkginst.]
检查在指定设备上假脱机的软件包的内容。
pkgchk -d 设备 [ -l | -v ] [ -p 路径1[,Path2 . . . ] [ -i 文件] [ Pkginst . . . ]
检查在 pkgmap 中描述的软件包的内容。
pkgchk -m Pkgmap[-e Envfile] [-l|-a -c -f -q -v] [-n -x] [-i File] [-p Path1[Path2. . ]]]
描述
pkgchk 检查已安装文件的准确度,或者通过使用 -l 标志,显示有关软件包文件的信息。 该命令检查目录结构和文件的完整性。 不符的被报告在 stderr 上,同时还有详细的问题解释。
上面所定义的第一个大纲被用来列出或检查当前安装在系统上的对象的内容和/或属性。 软件包名称可以在命令行中列出,或者缺省情况下机器上的所有内容都被检查。 如果使用带有 "-P选项的 "pkgadd命令将软件包安装在另一个根目录路径下,则可以使用 "-P选项指定的相同的另一个根目录路径检查或列出软件包的内容和属性。
第二个大纲被用来列出或检查在指定设备上已经假脱机的但没有被安装的软件包的内容。 注意,已经假脱机的软件包的属性不能被检查。
第三个大纲被用来列出或检查描述在指定的 Pkgmap 中的对象的内容和/或属性。
标志
| 项 | 描述 |
|---|---|
| -l | 列出选定的组成软件包的文件的信息。 它和 a、c、f、g 和 v 标志不兼容。 |
| -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 路径 | 请求检查备用根目录路径中的软件包。 |
退出状态
| 项 | 描述 |
|---|---|
| 重大安全事件数量 | 脚本成功完成。 |
| 第 1 年 | 致命错误。 在此点上安装进程终止。 |
文件
| 项 | 描述 |
|---|---|
| /usr/sbin/pkgchk | 包含 pkgchk 命令。 |