我经常需要编辑/etc
下的许多配置文件,但是,当我执行下一次系统升级时,我不希望这些更改丢失。
现在,我已将所有配置文件以及我的一些维护脚本放在/opt/admin
中,并在那里列出了符号链接/etc
目标,但这似乎不正确according to standards I've seen 。我想到的另一个选择是将这些选项放在/usr/local
中。上述文档表示,在本地安装软件时,系统管理员可以使用 。那是我最接近的。但是,当您安装新的非打包软件时,/usr/local
也会被破坏。
是否有一个标准/基本上遵循的最佳实践如何维护这些? 由于这不是讨论页面,因此答案应该是明确的,并且应该有一两篇文章来支持它们。
修改
由于这是理所当然地暂停,我以为我会将您重定向到similar question in Server Fault。
似乎有两种通用解决方案 - 使用符号链接或维护文件列表(请参阅链接问题中的ptman答案)。
目前,我正在使用混合解决方案:维护配置文件列表(/opt/admin/config/FILES
)。脚本(/opt/admin/scripts/link-config-files.sh
)创建符号链接层次结构(在/opt/admin/config
下)。现在可以从一个地方轻松访问文件,在那里可以清楚地找到它们的位置,有一个易于维护的文件的中央列表(无需手动链接),/opt/admin
的简单备份包括所有配置。 Here's my script
感谢Jim,感谢您的回答。
答案 0 :(得分:1)
我在我的用户目录
下保留了一个并行目录树/home/myuserid/config/hostname/
var
....
etc
sysconfig
network
等等。我有一个deploy
shell脚本,可以将文件安装到正确的位置。我将所有内容备份到私人外部托管的git帐户。
我在上面的并行树中对副本进行所有编辑并部署修改后的文件。
如果您有多个系统可以保持这种方式,那么像Puppet或Chef这样的工具似乎是可能的选择,尽管它们有自己的头痛。纪律严明,可重复的系统管理并非易事。