是否存在一种标准方法可以使修改过的 Linux 配置文件保持分离且可识别?

是否存在一种标准方法可以使修改过的 Linux 配置文件保持分离且可识别?

笔记这是一份Stack Overflow 上的封闭式问题,我认为,这是一个建设性的版本Server Fault 中的类似问题

我经常需要编辑下的许多配置文件/etc,但是,我不希望这些更改在下次执行系统升级时丢失。

目前,我已将所有配置文件以及一些维护脚本保存在 中/opt/admin,并/etc在那里建立了符号链接目标,但这似乎不太对根据我见过的标准。我想到的另一种选择是将它们放在 中/usr/local。上述文档说它供系统管理员在本地安装软件时使用。这是我得到的最接近的答案。但是,/usr/local当您安装新的非打包软件时,也会受到破坏。

关于如何维护这些内容,是否存在标准/广泛遵循的最佳实践?由于这不是讨论页面,因此答案应该是明确的,并附有一两篇文章来支持它们。

笔记我附上了迄今为止我认为最有用的答案。我在这里重新打开了这个问题,以便可以讨论它并得到更多的答案。

答案1

虽然它不能将它们分开,etckeeper可以很好地跟踪配置文件的更改。将存储库保存在机器之外的某个地方,这样可以轻松地将这些更改恢复到新机器上。

答案2

您可以使用配置管理工具来执行此操作。当您添加具有相同角色的服务器时,这种方法可以很好地扩展。

听起来你已经想出了一个符合你需求的工具,但你可能需要根据你的需求和预算来研究 Chef、Puppet、Ansible、Opsware 或其他配置管理/自动化/编排工具。

答案3

从我提到的问题的答案来看,似乎有两个通用解决方案 - 要么使用符号链接,要么维护文件列表(请参阅链接问题中 ptman 和 Jim 的答案)。我找不到最佳实践文章。

FILES我建议采用一种混合解决方案:您只维护一个带有配置文件列表的简单文件(我称之为)。脚本读取FILES实际配置文件并将其符号链接到所选目录下的重复文件系统层次结构中(我称之为脚本link-config-files.sh和目录system-config)。

这样,您只需在一个文件中维护文件,该文件易于编辑且不涉及 shell magic。system-config借助符号链接,您可以从 访问您关心的配置文件。设置了一个 cron 作业来备份system-config,因此所有配置文件都会自动备份。另一个 cron 作业会定期运行,link-config-files.sh因此只需编辑 即可让文件出现在 (或消失) 中system-config并进行备份FILES

我发现这是目前为止最好的解决方案。当然我有偏见。无论如何,这是我的脚本并且它还链接了一个备份脚本。

相关内容