![將舊的 /etc 恢復到新系統 (CentOS)](https://rvso.com/image/617249/%E5%B0%87%E8%88%8A%E7%9A%84%20%2Fetc%20%E6%81%A2%E5%BE%A9%E5%88%B0%E6%96%B0%E7%B3%BB%E7%B5%B1%20(CentOS).png)
為了節省空間,我不備份/usr
(除了/usr/local
)/bin
、/sbin
和/lib
。相反,我執行 arpm -qa --qf '%{NAME}\n'
來獲取需要安裝的軟體包列表,以恢復這些目錄的內容。
在進行裸機恢復時,安裝最小的 CentOS 系統後,我使用 yum 安裝清單中的軟體包。
下一步是恢復 /etc,但這裡有一個問題:我剛剛安裝的軟體包可能比我創建備份時舊系統上存在的軟體包更新。因此,如果配置格式同時發生了變化,複製舊的 /etc 可能會破壞一些東西,或者如果同時添加了重要的配置指令,則可能會使我的安裝不太安全。檢查每個配置檔案是一種選擇,但我寧願避免它。可以以更自動化的方式完成嗎?
答案1
跑步rpm -Vac
。您將獲得 RPM 安裝的每個設定檔的列表已被更改。
另外,如果您恢復內容/etc
前安裝軟體包後,yum 會注意到,並放置.rpmnew
副檔名不同的任何設定檔。然後您可以單獨查看這些文件。
答案2
你可以看看等等管理員。
etckeeper 是一個工具集合,可讓 /etc 儲存在 git、mercurial、bazaar 或 darcs 儲存庫中。它連接到 [apt, yum] 以在軟體包升級期間自動提交 /etc 所做的更改。它追蹤 git 通常不支援的檔案元數據,但這對於 /etc 很重要,例如
/etc/shadow
.