如何列出使用者在全新安裝後所建立的所有檔案?

如何列出使用者在全新安裝後所建立的所有檔案?

我有一台閒置的機器,我希望在該機器上全新安裝 Linux。機器上可能有重要文件。

如何列出使用者在全新安裝後所建立的所有檔案?

我正在考慮做一個簡單的查找所有文件,/然後 for 循環進行迭代,然後rpm -q --whatprovides列出用戶創建的所有文件(即未在任何 rpm 清單中列出)。我覺得這個可行...但是可能會很慢,要8小時以上。我得試試。

我列出了 rpm,但我認為這也適用於任何 Linux 發行版...但短期內我首先需要一個 rpm 解決方案。

答案1

rpm -qla將快速列出來自 rpm 的所有檔案。您可以對兩個清單進行排序並將它們與 進行比較comm。但是,使用者編輯過的 rpm 中的設定檔(例如/etc/exports.您可以使用rpm -qVa它來驗證安裝的文件是否已更改,但它會忽略注定要更改的文件,例如/etc/shadow.通常最好保留一份完整的副本,/etc以防萬一。您仍然需要擔心特定的軟體包,例如 mysql 和文件/var...

答案2

兩種方式,看你的需要:

  • 你可以使用時間(change-time) 文件,使用該find命令尋找最近更改的文件,並從中找到相應的套件。這可以找到不屬於包的文件,例如,如果您在/var.

  • 您可以使用rpm -qai來取得所有軟體包的安裝日期,並取得最近安裝的軟體包的報告,並從該清單中使用rpm -ql列出已安裝的每個軟體包的文件。

    例如,CentOS:依安裝/更新日期列出已安裝的 RPM?指出該--last選項按日期對清單進行排序rpm -qa,您只需根據初始安裝的時間過濾清單即可限制軟體包。

相關內容