Fedora
查找 RPM 包管理器未安裝的文件
有沒有辦法找出給定係統上所有不是通過 RPM 安裝的文件?我知道我可以自己使用類似
rpmquery -f
在循環文件系統中所有文件的腳本中強制執行此操作,但是我想知道是否有一些標準方法可以用於基於 RPM 的系統(特別是 Fedora,我在家)。由於這適用於 Fedora,因此可以使用yum
或dnf
解決此問題。如果沒有標準的方法來做到這一點,有沒有人知道一些預先存在的腳本來做到這一點?如果不需要,我不想重新發明輪子。
PS還有另一個與此類似的問題,但它是關於 Gentoo 和 Portage,所以並不完全相關。
聚會有點晚了,但希望有人會發現這很有用:
find /usr/ -exec /bin/sh -c "rpm -qf '{}' &> /dev/null || echo '{}'" \;
此命令爬過文件系統,並
rpm -qf
在其上執行。rpm -qf
列印文件的相應包,幸運的是,如果找到 1,則返回值 0,否則返回 1。如果你很勇敢,你可以將輸出綁定到
| xargs rm -f
,但我個人不會那麼勇敢。結果發現 /usr 中有很多東西並不真正屬於任何東西。