Git
是否可以將 etckeeper 與單個共享 git 儲存庫一起使用?
我注意到有幾個人建議使用etckeeper將版本控制應用到我的 /etc 目錄。
在我看來,預設安裝會將儲存庫與您嘗試管理的 /etc 放在同一台機器上。這適用於版本控制,但沒有提供對文件進行伺服器外備份的額外好處 - 或者允許我將 /etc 的部分從一台源電腦複製到另一台源電腦。
是否可以在中央管理機器上共享單個 git 儲存庫,以便每個伺服器上的 etckeeper 將其數據儲存在同一個地方?
(我現在正在使用 svn 和一些自定義腳本來送出和恢復文件,但我必須記住在進行更改時送出它們。)
首先,使用 install etckeeper,在 /etc/etckeeper/etckeeper.conf 中為 git 配置。遵循您的發行版或原始碼的 etckeeper 安裝方法。
很快,您將擁有一個 /etc/.git
現在在您的伺服器上,確保您有一個(安全的)repo 可以推送到…
# ssh faruser@farhost # mkdir somedir cd somedir && git init && chmod 700 .git # exit
現在在初始主機上,通過 ssh 將本地 repo 推送到伺服器:
# cd /etc && git push faruser@farhost:somedir
Somedir 在這種情況下當然可以是相對的(遵循 ssh 約定)
每當您進行影響 /etc 的更改(並被 etckeeper 擷取到 /etc/.git 中)時執行此操作,您將擁有機器的本地和離線儲存庫。
或者設置無密碼 ssh 並在 /etc/etckeeper/commit.d/ 中創建一個掛鉤,這樣如果機器始終處於連接狀態,它就會自動發生。