Я рассматриваю возможность жестко привязать файлы конфигурации к рабочей копии моего репозитория конфигурации 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'
Несколько наблюдений в почти обратном порядке:
svn up
рабочая копия в живом использовании.Я бы не положил их в / домой
Поместите файлы конфигурации в корневую файловую систему.
Это связано с тем, что / монтируется раньше других файловых систем, и есть вероятность, что ему могут понадобиться файлы конфигурации, расположенные в еще не смонтированной файловой системе.
Я бы также использовал символические ссылки, а не жесткие ссылки. Жесткие ссылки между файловыми системами не допускаются (iirc), и вы можете получить неработающие ссылки при извлечении обновленных файлов из SVN (изменение inodes).
Вам нужно быть очень осторожным, но я не вижу причины, по которой вы не можете работать с этой конфигурацией.
и т. д. хранитель вероятно, хороший эталонный дизайн для вас:
etckeeper - это набор инструментов, позволяющих хранить / etc в репозиториях git, mercurial, darcs или bzr.
Он хранит репо в /etc/.$RCS, но не поддерживает SVN. Я не знаю почему; автор просто заявляет, что пробовал, и это отстой. По сути, этот подход делает / etc рабочая копия.