我正在考虑将配置文件硬链接到我的 SVN 配置存储库的工作副本中。有什么理由不以这种方式管理配置文件吗?
假设 /home/user/confmgr/confs 是我的配置存储库的工作副本。然后我可以按如下方式硬链接配置文件-
ln /etc/php.ini /home/user/confmgr/confs/php.ini
ln /etc/httpd/conf/httpd.conf /home/user/confmgr/confs/httpd.conf
然后当我需要编辑配置文件时就这么简单
cd /home/user/confmgr/confs
vi httpd.conf
/sbin/service httpd configtest
/sbin/service httpd graceful
svn commit -m 'adding virtual host to httpd.conf for new project'
答案1
答案2
我不会把它们放在/home
将配置文件放在根文件系统的某个位置。
这是因为 / 在其他文件系统之前安装,并且有可能需要位于尚未安装的文件系统上的配置文件。
我也会使用符号链接而不是硬链接。不允许跨文件系统硬链接(如果我没记错的话),当您从 SVN 签出更新的文件时(更改 inode),您可能会得到断开的链接。
您需要非常小心,但我不明白为什么您不能使用此配置运行。
答案3
etc-keeper对你来说可能是一个很好的参考设计:
etckeeper 是一组工具,用于将 /etc 存储在 git、mercurial、darcs 或 bzr 存储库中。
它将存储库存储在 /etc/.$RCS 中,但不支持 SVN。我不知道为什么;作者只是说他试过了,但效果很糟糕。本质上,这种方法使 /etc工作副本。