我正在寻找一种方法,使用 etckeeper 自动将用户和系统对 /etc 所做的更改分开。
基本上,用户和系统的提交是不同的。我相信许多其他系统管理员也可以从中受益。
需要澄清的是,每个服务器大致有两种知识:用户生成的、自动生成的。将它们混合在一起就像混合 /usr/local 和 /usr。您将时间浪费在浏览大量自动更改的差异列表中。这就像开发 Rails 应用程序,每个差异列表都会被 ActiveRecord 中的更改所淹没。当需要复制系统或查找旧的手动更改时,您将像大海捞针一样。这并不好玩,因为有时需要很长时间才能找到解决方案。
并不是要求任何人建造任何东西,但如果你有现成的解决方案,我就不想重新发明轮子。
答案1
如果您总是使用 etckeeper 手动提交所做的更改,则可以过滤提交以删除所有自动提交。例如,使用 Bazaar:
% sudo bzr log --line | egrep -v 'daily autocommit|apt run|puppet catalog run'