Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否有一种标准的方法来保持修改后的Linux配置文件的独立性和可识别性?_Linux_Configuration_Admin_Symlink - Fatal编程技术网

是否有一种标准的方法来保持修改后的Linux配置文件的独立性和可识别性?

是否有一种标准的方法来保持修改后的Linux配置文件的独立性和可识别性?,linux,configuration,admin,symlink,Linux,Configuration,Admin,Symlink,通常我需要在/etc下编辑许多配置文件,但是,我不希望在执行下一次系统升级时丢失这些更改 现在,我已经将所有配置文件以及一些维护脚本存放在/opt/admin中,并在那里设置了符号链接的/etc目标,但这似乎并不正确。我想到的另一个选择是将它们放在/usr/local中。前面提到的文档说,它是供系统管理员在本地安装软件时使用的。这是我最接近的。但是,当您安装新的非打包软件时,/usr/local也会受到冲击 关于如何维护这些,是否有标准/基本遵循的最佳实践? 因为这不是一个讨论页面,所以答案应该

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

现在,我已经将所有配置文件以及一些维护脚本存放在
/opt/admin
中,并在那里设置了符号链接的
/etc
目标,但这似乎并不正确。我想到的另一个选择是将它们放在
/usr/local
中。前面提到的文档说,它是供系统管理员在本地安装软件时使用的。这是我最接近的。但是,当您安装新的非打包软件时,
/usr/local
也会受到冲击

关于如何维护这些,是否有标准/基本遵循的最佳实践? 因为这不是一个讨论页面,所以答案应该是明确的,并且有一两篇文章来支持它们

编辑

既然这是合理的暂停,我想我应该把你转到一个

似乎有两种通用的解决方案——要么使用符号链接,要么维护一个文件列表(参见链接问题中的ptman答案)

现在,我正在使用一个混合解决方案:维护一个配置文件列表(
/opt/admin/config/files
)。脚本(
/opt/admin/scripts/link config files.sh
)创建符号链接的层次结构(在
/opt/admin/config
下)。文件现在可以从一个地方轻松访问,在那里可以清楚地知道它们的真正位置,有一个易于维护的文件中心列表(无需手动链接),并且一个简单的
/opt/admin
备份包括所有配置


谢谢Jim的回答。

我在我的用户目录下保留了一个并行目录树

/home/myuserid/config/hostname/
   var
       ....
   etc
       sysconfig
           network
等等。我有一个
deploy
shell脚本,可以将文件安装到正确的位置。我将所有内容备份到外部托管的私有git帐户

我对上述并行树中的副本进行所有编辑,并部署修改后的文件


如果您有不止几个系统需要以这种方式维护,那么像Puppet或Chef这样的工具似乎是可能的选择,尽管它们也有自己的麻烦。纪律严明、可重复的系统管理并非小事。

这更多的是一个系统管理问题,而不是一个编程问题,可能属于。写得好。不过,我不喜欢使用主目录的想法——我的管理员职位会一直保持下去,其他人需要知道哪些文件在哪里。HomeDir不适合这样做,尽管一个“好”的管理员会把信息传递给你。