只是有時,我忘記備份給定的 Linux 文件,例如/etc/rc.local
、/etc/rsyslog.conf
、/etc/dhcpcd.conf
等,後來我希望我這樣做了。發行不可知論,是否有一個好的方法可以稍後取得未更新副本的副本?
答案1
雖然設定檔備份/版本控制主題表面上看起來很簡單,但它是系統/基礎架構管理的熱門主題之一。
與發行版無關,要保持 /etc 的自動備份作為一個簡單的解決方案,您可以安裝 etckeeper。
預設情況下,它將 /etc 提交到安裝在同一系統上的儲存庫/版本控制系統。
預設情況下,每天和/或每次有軟體包更新時都會進行提交/備份。
etckeeper 軟體包幾乎存在於所有 Linux 發行版中。
看:https://help.ubuntu.com/lts/serverguide/etckeeper.html
或者https://wiki.archlinux.org/index.php/Etckeeper
可以說安裝這個軟體包是一個很好的行業標準。
如果你沒有安裝etckeeper,並且需要特定的etc文件,有幾種方法;您可以從類似的系統複製它你的,您可以要求您的軟體包管理器下載安裝檔或手動下載,並從中提取etc檔;最簡單的方法之一是使用 mc(午夜指揮官)在包內導航,就像它們是目錄一樣。
您也可以使用發行版儲存庫來取得軟體包,對於 debian 來說是http://packages.debian.org
最終,如果等/配置被破壞得無法識別,您始終可以選擇重新安裝特定的軟體包。將 etc 檔案移至備份名稱/目錄,例如在 Debian 中:
apt-get install --reinstall package_name
您也可以為您的特定發行版/版本配置和安裝來源儲存庫,安裝來源包,並從那裡取得等檔案。
https://wiki.debian.org/apt-src(又是 Debian 的例子)
在某些軟體包中,您可能也可以在 /usr/share/doc/package_name 處找到設定檔的範例,這些範例可能適合使用,也可能不適合使用。
作為最後的手段,如果相應的開源項目,您還可以在存儲庫/github 地址中找到 etc 文件,請記住,發行版經常更改預設和周圍的事物。
顯然,這些替代方案都不能免除您制定健全的備份策略並從那裡檢索遺失的 /etc 檔案的義務。
時代發展得很快,如果遵循 DevOps 理念,您也可能選擇完全放棄某些系統並重新部署它們,以防某些文件損壞;您也可以使用 CI 並重新部署文件,例如來自 jenkins 的文件。
答案2
如果您的發行版有即時ISO,或者你不介意做一個虛擬安裝到虛擬機器(VirtualBox、VMWare 等),然後您就可以看到它的預設文件,而無需手動挖掘套件文件。
並且在虛擬機器中安裝/重新安裝/重新配置任何軟體包都不會更改您的「真實」系統檔案。