用 DVCS 來記錄系統設定檔

抱著實驗性的心態試用一陣子, 每當要改設定檔時, 就先在當地建個 mercurial repository。目前在這些地方建了 repository:
  • /etc/apache2/conf.d/
  • /etc/mysql/
  • /etc/apt/
一開始的動機是方便知會其它管系統的人我做了什麼修改。後來發現其它好處:
  • 可以明確知道這次到底改了什麼。改壞了也不用擔心。
  • 可以知道過去改了什麼, 弄新機器時, 輕鬆地弄出一樣的設定。或是只想取部份設定也沒問題, 之前的 changeset 都寫得很清楚, 簡單一句話的註解加上 diff, 就很清楚了。
在這個例子裡 DVCS 實在是太方便了。減少設定和管理 VCS 伺服器的負擔。一行 hg init 就是一個新的 repository。反正備份也是整個目錄一起備份, 不用另費心思備份 repository meta data。
不知專業系統管理員是怎麼協同合作管理設定檔的, 目前覺得這樣滿不錯的。

2010-11-07 更新

High performance MySQL 建議將所有系統檔集中管理放到 VCS 裡, 再用 symbolic link 連過去, 感覺上是更好的做法。換句話說, /etc/apache2/conf.d、/etc/memcachd.conf 等都是 link, 本體放在 /home/config/ 裡, 而 /home/config/ 存在 VCS 裡。

留言

這個網誌中的熱門文章

(C/C++ ) 如何在 Linux 上使用自行編譯的第三方函式庫

熟悉系統工具好處多多

virtualbox 使用 USB 裝置