Configuration

OpenBSD:檢查 /etc 下的哪些文件與原始基本系統相比發生了變化

  • April 4, 2019

我正計劃通過安裝最新的 OpenBSD 快照來設置一個新的個人 OpenBSD-current 系統,並且我希望它在對文件進行的本地更改方面看起來或多或少類似於我現有的 OpenBSD-current 系統在/etc沒有實際將目錄複製/etc到新系統的情況下(它還包含新系統不應該使用的配置,以及其他應該不同的東西)。

將我的舊設置與原始系統進行比較的最簡單方法是什麼,以便我可以手動完成並設置新機器?我想在安裝新的 OpenBSD 系統後編譯我需要配置的單個基本系統服務等的列表,作為一種不會意外遺漏的方法,例如為 root 設置郵件別名。

將我的(舊)系統升級到最新快照後,原始層次結構(以及 and 下的其他變數文件)的副本/etc可在. 還有一個單獨的存檔,稱為保存基本系統的預設 X11 配置。請注意,它包含不打算修改的文件,例如or ,並且它不包含在沒有預設配置文件的情況下安裝的配置文件(但可能有一個用於本地調整預設值的文件),例如./root``/var``/var/sysmerge/etc.tgz``/var/sysmerge/xetc.tgz``etc.tgz``/etc/services``/etc/daily``/etc/doas.conf

要查看我在舊系統上修改了哪些文件,我可以將這些檔案提取到某個目錄並簡單地執行diff. /var/sysmerge由於目錄受到保護,因此必須以 root 身份進行提取。

mkdir /tmp/tmpdir
doas tar -xz -f /var/sysmerge/etc.tgz -C /tmp/tmpdir
doas tar -xz -f /var/sysmerge/xetc.tgz -C /tmp/tmpdir

diff通過首先刪除屬於不再安裝的軟體包的舊的未使用配置文件,可以更輕鬆地查看。這些可以通過使用sysclean埠中的工具找到。該工具還可以辨識庫的舊版本和未使用版本,並且在任何系統升級或升級埠後執行它可能是一個好主意。

diff為文件生成一個/etc

doas diff -ru /tmp/tmpdir/etc /etc

這產生了diff我可能感興趣的文件的遞歸統一。

在我的私人系統上,這足以讓我在以後配置我的新機器時提示我需要設置什麼。例如,我忘記了我在/etc/ssh/sshd_config文件中禁用了 root 登錄和密碼身份驗證,並且我在某個時候已經設置了一個額外的使用者進行測試(!)。

完成後,我刪除解壓縮的檔案:

doas rm -rf /tmp/tmpdir

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