dnf 可以扫描包中丢失或损坏的文件吗?

dnf 可以扫描包中丢失或损坏的文件吗?

删除一些软件包的目录后,dnf仍然相信这些软件包已安装。尽管我们可能有一些想法,但我们不确定到底哪些包受到影响。可以dnf检查所有包文件的完整性并自动删除它们吗?

答案1

注意:我不是专家,我希望你能得到比这更好的答案,但是......

您可以使用rpm--verify安装的包/文件。即,rpm可以查看每个包应该安装的内容,并检查所有内容是否仍然在正确的位置(以及许多其他内容 - 阅读rpm手册页)。如果大量文件被删除,rpm应该会向您发出大量“丢失”消息。

这是一个超级 hacky 和丑陋的bash单行代码,它将打印有“验证”问题的 rpm 包。我不会太担心修改的文件权限等,因为您正在寻找文件丢失/损坏的包。

for p in $(rpm -q -a); do ret=$(sudo rpm -V $p); if [[ $ret != "" ]]; then echo $p; echo $ret; fi; done

sudo使用它是因为并非所有文件都可以被典型用户读取。

安装的软件包越多,所需的时间就越长。做好等待的准备。您应该能够确定您在寻找什么。

相关内容