Ubuntu

在 Debian 機器上審核文件

  • October 19, 2015

是否可以列出系統上不屬於某個包的每個文件?或者他們是否被修改過?

可能需要使用類似的東西:apt-get、apt-files、dpkg-query 等

就上下文而言,假設繼承了無法格式化的舊伺服器,並且您想檢查每個文件是否都應如此…我知道在 Debian 版本之間升級或刪除後不會出現這種情況一個沒有“–purge”的包,因為它似乎留下了很多(通常是配置)文件。

同樣,如果該伺服器要更換為新伺服器,您要確保所有配置差異(與基本安裝相比)已被轉移(或如果不再相關則忽略 - 例如添加了胭脂“埠”行到 sshd_config)。

它還有助於確定是否在不使用 apt-get 的情況下安裝了任何東西。

通過查看列表可以看到一個包安裝的所有文件cat /var/lib/dpkg/info/*.list。大多數軟體包都包含文件內容的 md5sums,可以通過查看cat /var/lib/dpkg/info/*.md5sums. 不過,有些套餐不包括這些金額。

如果您安裝軟體包 debsums,您可以像debsums -a這樣執行該程序將檢查所有已安裝文件和配置的 md5sum。

請注意,某些軟體包不安裝配置文件或內容。相反,這些文件是由這些軟體包在安裝時創建的。這些文件不會出現在與包關聯的文件列表或 md5sums 列表中。就包系統而言,這些是它不擁有的數據文件。

同樣,如果該伺服器要更換為新伺服器,您要確保所有配置差異(與基本安裝相比)已被轉移(或如果不再相關則忽略 - 例如添加了胭脂“埠”行到 sshd_config)。

我認為你應該在安裝系統後首先安裝**etckeeper包。**這個包基本上放入/etc了您選擇的版本控制系統(我更喜歡 git)。有了這個,你可以準確地看到什麼時候發生了變化。很容易將此儲存庫複製到新系統,然後針對新系統進行差異。因此,您可以在單個命令中準確查看源系統和目標系統的不同之處。

引用自:https://serverfault.com/questions/568256