删除一些软件包的目录后,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
使用它是因为并非所有文件都可以被典型用户读取。
安装的软件包越多,所需的时间就越长。做好等待的准备。您应该能够确定您在寻找什么。