
我有一台閒置的機器,我希望在該機器上全新安裝 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
,您只需根據初始安裝的時間過濾清單即可限制軟體包。