2014-07-02 90 views
2

我正在接管一個項目,其中沒有任何東西放在版本控制之下。 這是一個圍繞nagios的設備:有許多系統文件,如 nagios或防火牆配置文件,其他一些是腳本或更簡單的一些是符號鏈接。 總而言之,在多個系統目錄(/ etc,/ var,/ usr ...)中有許多不同所有權和權限的文件。 我想在版本控制下放置爲項目修改或創建的所有文件,而不是操作系統本身或所需的軟件包。如何將系統文件置於版本控制下

git和svn不保存所有權和權限, 我不想手動構建部署腳本,也不需要管理這麼多的文件/所有者/權限。

那麼,如何將這些文件直接放在版本控制下?

+0

你可以使用[git](http://stackoverflow.com/questions/505467/can-i-store-the-git-folder-outside-the-files-i-want-tracked)添加文件可能在文件系統中廣泛分散到一個git存儲庫。 – celeritas

+0

Git不存儲所有權不幸的是 – Eric

+0

@Eric,etckeeper做你正在尋找什麼? – Chris

回答

1

退房etckeeper,使用Git或其他版本控制系統,用於跟蹤變化的工具/etc

etckeeper是一個工具集,讓/等被保存在一個Git,善變,的darcs,或bzr存儲庫。它與apt(以及包括yum和pacman-g2在內的其他軟件包管理器)掛鉤,以便在軟件包升級期間自動提交對/ etc所做的更改。它跟蹤修改控制系統通常不支持的文件元數據,但這對於/ etc而言很重要,例如/etc/shadow的權限。它非常模塊化且可配置,如果您瞭解使用版本控制的基礎知識,使用起來也很簡單。

您可以use etckeeper on other directories too

+0

它朝着正確的方向發展,但它在整個系統上「不變」。 – Eric