我正在考虑一个系统,在/etc
远程git存储库上对其进行了跟踪。我在考虑git工作流,其中每个主机都在一个不同的分支。
每台机器上的每个以前的版本都可以轻松地进行跟踪,比较和合并。
如果/etc
必须在多台计算机上进行修改,则可以通过合并脚本轻松地进行修改。
如果发生“不必要的” /etc
更改,则该更改可能是显而易见的(甚至可以调整警报脚本以进行监视)。
有人已经使用过这样的配置吗?它有任何安全问题吗?
我正在考虑一个系统,在/etc
远程git存储库上对其进行了跟踪。我在考虑git工作流,其中每个主机都在一个不同的分支。
每台机器上的每个以前的版本都可以轻松地进行跟踪,比较和合并。
如果/etc
必须在多台计算机上进行修改,则可以通过合并脚本轻松地进行修改。
如果发生“不必要的” /etc
更改,则该更改可能是显而易见的(甚至可以调整警报脚本以进行监视)。
有人已经使用过这样的配置吗?它有任何安全问题吗?
Answers:
与跟踪配置问题/etc
的git
是,所有你真的这样做增益版本控制(大多数git
新手甚至不知道如何tag
和branch
正确的,因此不太可能在这一点上)并能够回滚(再说,如果你不是活得牛逼tagging
正确,你将不会得到任何东西,但一个日志责怪的人); 但是您失去了模板(无法使用模板,因为git不提供模板),横向扩展(您无法将配置应用于其他任何地方;尤其是在使用像Elasticsearch这样的分布式数据库的情况下)和自动化系统管理(同样,git无法提供此功能) )。
话虽如此,您可能正在寻找的是配置管理。与模板,git
和基本脚本一起管理配置。当然,这正沿着DevOps和Infrastructure as Code的方向发展。
加上 Ansible ansible-pull
可以从中提取您的剧本的最新仓库git
;厨师也是如此。基本上,现代Linux管理员不应该使用etckeeper
。厨师也有客户端-服务器模式,您可以管理与所有系统的chef-client
基础上environment
,roles
和菜谱的版本; 您无法git
独自大规模地完成的事情。
etckeeper
这已经使用在许多系统上。它不提供您要求的所有功能。例如,每个主机有一个存储库,而不是中央存储库。