對於運維工程師來說,etc環境是一個痛點,各類配置,各類修改,某些軟件的配置關聯因素過多的話,那就更加痛苦了,改完發現不對再想改回去都千難萬難, 如今有一個好的解決方案,那就是用etckeeper,絕對是解救運維工程師的利器之一!git
etckeeper本質上就是 git 管理 etc 版本環境的思惟, 因爲etc中有的文件信息較爲敏感,所以,etckeeper還附帶了一些工具來保證安裝性。ubuntu
ubuntu下的安裝和使用:c#
1. 安裝: sudo apt-get install etckeeper服務器
2. 初始化etc git倉庫: sudo etckeeper init運維
2.1 若是出現以下locale問題: ssh
perl: warning: Setting locale failed. perl: warning: Please check that your locale settings:
能夠經過:工具
安裝 localepurge 管理語言文件: spa
sudo apt-get install localepurge
也能夠經過: sudo dpkg-reconfigure localepurge 來從新設置。版本控制
又或者: sudo locale-gen zh_CN.UTF-8 en_US.UTF-8 來生成本身想要的語言code
而後,locale查看一下。
另外,默認狀況下終端 ssh 的時候會將本地的 locale 傳到服務器中,能夠經過命令指定 ssh 服務器的語言:
LC_ALL=en_US.UTF-8 ssh <host>
2.2 若是出現:
/etc/etckeeper/init.d/40vcs-init: bzr: not found
代表etckeeper安裝後默認設置是使用bzr做爲版本控制器,能夠打開/etc/etckeeper/etckeeper.conf,修改默認的VCS爲git,固然此時你應該裝上了git,
而後再執行:
root@localhost:/etc# rm -rf .bzr root@localhost:/etc# rm .bzrignore
避免現有的倉庫對etckeeper的執行形成影響。
而後再次etckeeper init 就能夠成功了。
3. 修改 .gitignore
根據須要來修改.gitignore
4. 每次修改後使用git提交,git status; git add .; git commit -m "xxxxx"
5. 配置遠程倉庫,將倉庫轉移。
git remote add origin xxxxxxx
最重要的是,你能夠自建多個分支,用於配置不一樣的軟件,這樣就能夠以分支爲基礎庫,主庫上若是想配置啥,只管cherry-pick,輕鬆搞定各類需求。