Linux/Unix的用户对/etc目录都是再熟悉不过了,在这个最重要的目录中保存了大部分软件的配置信息,借以实现软件的配置以及整个系统的启动过程控制。对于Windows用户来说,可以把/etc目录视为Windows中的注册表,只不过文件化了,可管理了。
这么重要的/etc目录,如果其中的文件被错误编辑或者删除,将会损失惨重。etckeeper这个软件可以帮助实现/etc目录的持续备份,借用分布式版本控制工具,如:git、mercurial、bazaar、darcs。
那么etckeeper是如何实现的呢?以git作为etckeeper的后端为例进行说明,其他的分布式版本控制系统大同小异。
将/etc目录Git化。将会创建Git库于目录/etc/.git中,/etc目录作为工作区。
与系统的包管理器,如Debian/Ubuntu的apt,Redhat上的yum等整合。一旦有软件包安装或删除,对/etc目录下的改动执行提交操作。
除了能够记录/etc目录中的文件内容,还可以记录文件属性等元信息。因为/etc目录下的文件的权限设置往往是非常重要和致命的。
因为/etc目录已经是一个版本库了,可以用git命令对/etc下的文件进行操作:查看历史,回退到历史版本…
也可以将/etc克隆到另外的主机中,实现双机备份。




