サーバーの構成を管理するために、いくつかの構成ハエ(/ etcにあります)をバージョン管理(ホームフォルダー内)に置き、/ etcの場所からそれらにシンボリックリンクします。
/etc/someprog/c.conf -> /home/ubuntu/etc-config/someprog/c.conf
これは合理的なアプローチですか?潜在的な欠点はありますか?
タグとしてgit
を追加していることに気づきました。/home/ubuntu/etc-config
はすべての設定が含まれているgitリポジトリのようです。その場合、中央の場所から構成ファイルを管理しようとしているようです。その場合は、実際の解決策を探すことを強くお勧めします。
Puppet、chef、cfengine、またはそこにある主要な構成管理エンジンのようなものを見てください。それらの多くは無料でオープンソースであり、広く使用されており、通常は非常にセットアップと管理が簡単です。代わりに「軽量」の方法を使用しようとしている場合は、後で後悔する可能性があります。
これらが異なるファイルシステム上にある場合、これは非常に悪い考えです。他のファイルシステムがマウントされない場合は、問題が発生します。
私はこのようなシンボリックリンクを使用しません。リンクを切断すると(さまざまな理由で)、構成が切断されます。サーバー/デーモン/アプリがinitスクリプト内の構成ファイルの実際の場所を指すようにする方が適切です。
justバージョン管理が必要な場合は、RCSを確認してください。私は実際にgitが貧弱なスタンドアロンサーバー構成ソリューションであることに気づきました(ロックなし、パーミッション管理なし、ディレクトリ全体がリポジトリになります)。構成管理のためにより堅牢なものが必要な場合は、Puppet、Chef、または(gasp)CFEngineを確認することを強くお勧めします。