dok*_*000 18
为了参考和完整性起见,一个能够实现最初要求的命令将是这样的(快速组合在一起,但它正在工作)
rpm -qf $(rpm -Va 2>&1 | grep -vE '^$|prelink:' | sed 's|.* /|/|') | sort -u
Run Code Online (Sandbox Code Playgroud)
以下是对各个部分的简短说明:
rpm -Va 2>&1
Run Code Online (Sandbox Code Playgroud)
将对 rpm 数据库中当前安装/列出的所有软件包运行完整的验证。它还会将 stderr 重定向到 stdout,因为在我的盒子上,由于启用了预链接而导致的一些错误被报告为错误,但我们希望它们在 stdout 上。
注意:需要以 root 身份运行才能检查所有文件、权限和所有者/组。
grep -vE '^$|prelink:'
Run Code Online (Sandbox Code Playgroud)
禁止显示显示emtpy线和这样的预链接错误的(这样的错误的示例:
prelink: /tmp/#prelink#.B14JBi: Recorded 10 dependencies, now seeing -1
)
sed 's|.* /|/|')
Run Code Online (Sandbox Code Playgroud)
将过滤rpm -Va
输出以仅显示文件名
rpm -qf $()
Run Code Online (Sandbox Code Playgroud)
将查询所有获取的包含这些包的文件名,并输出包名和版本
| sort -u
Run Code Online (Sandbox Code Playgroud)
将抑制重复的包名称/版本组合。
您将收到一份未通过验证的软件包列表。
rpm -Va
可能仍会显示一些不相关的问题,因为它还会检查包之间的依赖关系,这可能需要通过添加 --nodeps
.
归档时间: |
|
查看次数: |
21772 次 |
最近记录: |