Configuration

/etc 文件夾中的哪些配置文件對於每台電腦必須是唯一的?

  • August 28, 2017

我正在對電腦上的備份文件進行恢復測試。沒有多想,我做了一個用備份中的文件rsync替換文件/etc夾中的所有文件。然後,我意識到我不應該這樣做,因為兩台電腦的密碼和使用者名不一樣。

重新啟動後,電腦處於無法啟動的狀態,我可能不得不從頭開始重新安裝它。現在我的問題是,給定相同的作業系統,文件/etc夾中每台電腦唯一的文件是什麼。rsync這將允許我在將來從備份進行恢復時進行微調以排除這些文件。

很少有文件在兩台機器之間絕對必須不同,並且在複製時需要重新生成:

  • 主機名/etc/hostname
  • SSH 主機密鑰:/etc/ssh_host_*_key*/etc/ssh/ssh_host_*_key*類似位置。
  • 隨機種子:/var/lib/urandom/random-seed/var/lib/random-seed類似位置。(/var/lib/systemd/random-seed在使用 systemd 的系統上)

如果你有一堆相同的機器,其他任何東西都可能是相同的。

在具有不同硬體的機器上,一些文件通常是不同的:

  • /etc/fstab, /etc/crypttab, /etc/mdadm.conf, 和引導載入程序配置文件(如果位於/etc- 某些發行版將它們放入/boot),如果磁碟分區不同。
  • /etc/X11/xorg.conf,如果存在,如果機器有不同的圖形卡。
  • /etc/modules要在、/etc/modprobe.conf/etc/modprobe.d/中載入或列入黑名單的模組/etc/modutils/

此外,某些網路配置可能需要更改,特別是:

  • 如果您有靜態 IP 地址,則它們需要在每台機器上多樣化。IP 配置的位置因發行版而異(例如/etc/network/interfaces在 Debian 上,/etc/sysconfig/network在 Red Hat 上)。
  • /etc/hosts通常包含主機名。
  • 郵件配置通常包含主機名: check /etc/mailname

對於“文件夾 (…) 中的哪些文件對於每台電腦來說都是唯一的”沒有通用答案,/etc因為它的全部目的/etc是儲存可以在每台電腦上自定義的文件。例如,如果你在不同的機器上有不同的賬戶,那麼顯然你不能共享賬戶數據庫——如果你希望能夠共享賬戶數據庫,那麼你最終會得到相同的賬戶。

一般來說,/etc預設情況下不要嘗試共享,除非您有一組具有相同軟體配置的機器 - 相同的安裝軟體,相同的帳戶等。如果您共享/etc,您需要將一些文件從共享列入黑名單如上所示。

如果您有不同配置的機器,請將您同步的內容列入白名單。/etc將不同機器上的文件視為不同的文件,例如/var. 僅同步您決定應在任何地方應用的那些。

管理同步的一種可能方法是將特定於機器的文件保存在不同的目錄中,例如/local/etc,並製作符號連結,如/etc/fstab -> ../local/etc/fstab. 由於不同的發行版將文件放在不同的位置,因此這仍然需要一組在軟體方面基本同質的機器。或者,相反,只保留機器特定的文件/etc和其他地方的所有通用文件——但典型的發行版不能很好地適應這一點。

您顯然無法在不同系統上對一個系統的系統配置恢復進行現場測試。要測試備份的恢復,請啟動一個能夠很好地模擬硬體配置的虛擬機(尤其是具有類似磁碟佈局的虛擬機)。

引用自:https://unix.stackexchange.com/questions/150638