頻繁に変更される構成ファイルを保存する優先場所


18

Linuxサーバーには、いくつかの構成ファイルに依存する多数のアプリケーションがあります。これらのアプリケーションは関連していますが、別々です。価値のあることですが、現時点では、各アプリケーションにはに独自のディレクトリがあり/optます。構成ファイルは週に1回程度変更できますが、それ以上変更することはできません。毎週日曜日にFTPサイトから最新バージョンを取得するために、cronジョブをセットアップする予定です。

まだ、これらの構成ファイルを配置する最適な場所がどこにあるのかを正確に理解していません。以下にいくつかの可能性を示します。

  • /etc/<appsuitename>/ それは構成ファイルであり、構成が入ります /etc
  • /var/<appsuitename>/ ファイルはかなり頻繁に変更されますが、管理者(私)、プラットフォームプロバイダーのみによって直接変更されることはありません。
  • /opt/<appsuitename>/libまたは、/opt/<appsuitename>/commonこれはWindowsの考え方の多くですが、この場合は理にかなっているかもしれません
  • /usr/lib おそらくそうではありませんが、完全を期すために含まれています。

それとも私が考えていない他の何か?

編集: @MichaelKjörlingの質問への回答:

  • 唯一の3つのパーティションがありますが、/home/、と/swap/opt読み取り専用ではありません。
  • はい、バスに当たった場合、別の人がこのサーバーを使用する必要があります。
  • これらのアプリケーションは内部で開発されているため、構成をどこに置くかを決定するのは私です。「メタタグ」でなければ、ベストプラクティスのタグを付けたかもしれません。
  • 最終的には、私が実際に重要ではないと判断したものは何でも、組織のシステムはOSの内部作業よりもシステム管理者にとって重要であることを知っていますが、理由があるために標準の規則に従うことを好みます。

回答:


21

Filesystem Hierarchy Standardには、下にインストール何かのためにその設定ファイルが必要です/opt/xyzへ行くべき/etc/opt/xyzところ、xyz一致している必要があります。つまり、ホスト固有の構成ファイルを必要とする/ optの下のディレクトリにインストールされたアプリケーションには、それらの構成ファイルが格納される/ etc / optの下に一致するディレクトリが必要です。

/ etc(ホスト固有のシステム構成)の目的は、単に次のように述べられています。

/etc階層は、コンフィギュレーションファイルが含まれています。「構成ファイル」は、プログラムの動作を制御するために使用されるローカルファイルです。静的である必要があり、実行可能なバイナリにすることはできません。

もちろん、完全に静的な構成はありませんが、このコンテキストでは「管理者の介入なしで変更しない」という意味で「静的」と考えます。

/ etc / optはより具体的であり、その目的は次のとおりです。

アプリケーションのアドオンソフトウェアパッケージのホスト固有の設定ファイルは、ディレクトリ内にインストールされている必要があり/etc/opt/<subdir><subdir>内のサブツリーの名前で/opt、そのパッケージから静的なデータが格納されています。

/ optの下にソフトウェアをインストールするため、構成ファイルは/ etc / optの下の対応するサブディレクトリまたは階層に移動する必要があります。

もちろん、システムがFHSに準拠している必要はありません、他の人が探しているファイルを見つけるのがはるかに簡単になります。

これは社内で開発されたソフトウェアに関するものなので、場所を構成可能にすることを強くお勧めします。メイクファイルで行われるマクロ宣言によってのみ構成可能で、ソースからの完全な再構築によって影響を受ける場合でも、構成ファイルを開くすべての場所でソースコードに特定の場所をハードコーディングするよりもはるかに優れています。


実際には既に.propertiesファイルで行われています。しかし、現時点では、ソフトウェアの各バージョンには/optサブディレクトリに独自のコピーがありますが、これは明らかに理想的ではなく、変更するつもりでした。この質問は「何に変更すべきか」に関するものです。ありがとう!
durron597
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.