我正在考虑一个系统,在这个系统中,/etc被远程git存储库跟踪。我在想一个git工作流,在那里每台主机都有不同的分支。
每台机器上的每一个早期版本都可以很容易地被跟踪、比较、合并。
如果必须在许多机器上提交/etc修改,则可以通过一些合并脚本轻松完成。
如果发生“不想要的”/etc更改,这可能是很好的可见(甚至警报脚本也可以调优来观看)。
有人用过这样的配置吗?它有安全问题吗?
发布于 2014-08-03 13:06:28
程序etckeeper确实在git中管理/etc,您只需将默认vcs后端从bzr更改为/etc/etckeeper/etckeeper.conf中的git即可。
它默认安装在Ubuntu中,并处理何时自动提交的常见情况。
它在安装软件包之前提交,以防手动更改,并在安装后提交。
发布于 2017-07-26 21:18:38
跟踪/etc在git中的配置的问题是,通过这样做,您真正得到的好处是版本控制(大多数git新手甚至不知道如何正确地使用tag和branch,在这一点上是不太可能的)和回滚能力(同样,如果您不是正确的tagging,您只会得到一个可归咎于其他人的日志);但是您会失去模板(因为git不提供模板)和扩展(您不能在其他任何地方应用配置;特别是如果您使用的是分布式数据库(如Elasticsearch)和自动化系统管理(同样,git不提供此功能)。
话虽如此,您可能需要的是配置管理;它结合了模板、git和基本脚本来管理配置。当然,这是DevOps和基础设施为代码的方向。
更重要的是,Ansible有ansible-pull,它可以从git中提取最新的游戏手册,厨师也是如此。基本上,现代Linux管理员不应该使用类似于etckeeper的东西。厨师还有客户端服务器模式,您可以使用chef-client基于environment、roles和烹饪书版本来管理所有系统;您不能单独使用git进行大规模操作。
https://unix.stackexchange.com/questions/138665
复制相似问题