2

多くの場合、 の下にある多くの構成ファイルを編集する必要があり/etcますが、次のシステム アップグレードを実行するときにこれらの変更が失われるのは望ましくありません。

現在、すべての構成ファイルといくつかのメンテナンス スクリプトを に格納し/opt/admin、そこにシンボリック リンクされたターゲットを格納しましたが、私が見た標準によれば、それ/etcは正しくないようです。私が考えた別のオプションは、これらをに収納することです。前述のドキュメントには、ソフトウェアをローカルにインストールするときにシステム管理者が使用するためのものであると書かれています。それが私が持っている最も近いものです。ただし、パッケージ化されていない新しいソフトウェアをインストールすると、上書きされます。/usr/local/usr/local

これらを維持する方法について、標準的な/大部分が従うベストプラクティスはありますか? これはディスカッション ページではないため、回答は明確で、それをサポートする記事を 1 つか 2 つ含める必要があります。

編集

これは正当に保留されたので、 Server Fault の同様の質問にリダイレクトすると思いました。

2つの一般的な解決策があるようです-シンボリックリンクを使用するか、ファイルのリストを維持します(リンクされた質問のptmanの回答を参照してください)。

今のところ、私はハイブリッド ソリューションを使用しています: 構成ファイルのリストを維持します ( /opt/admin/config/FILES)。スクリプト ( /opt/admin/scripts/link-config-files.sh) は、シンボリック リンクされた階層 ( の下/opt/admin/config) を作成します。ファイルは 1 つの場所から簡単にアクセスできるようになり、ファイルが実際にどこにあるかが明確になり、簡単に管理できる (手動でリンクする必要がない) ファイルの中央リストがあり、/opt/adminすべての構成を含む単純なバックアップが作成されます。これが私のスクリプトです。

ジムさん、ご回答ありがとうございます。

4

1 に答える 1

1

ユーザーディレクトリの下に並列ディレクトリツリーを保持しています

/home/myuserid/config/hostname/
   var
       ....
   etc
       sysconfig
           network

等々。deployファイルを正しい場所にインストールするシェルスクリプトがあります。外部でホストされているプラ​​イベートな git アカウントにすべてをバックアップします。

上記の並列ツリーのコピーに対してすべての編集を行い、変更されたファイルをデプロイします。

このように維持する必要のあるシステムが複数ある場合は、Puppet や Chef などのツールが有効な選択肢のように思えますが、それらには独自の頭痛の種があります。規律ある反復可能なシステム管理は簡単ではありません。

于 2013-08-22T23:12:57.840 に答える