[〜#〜] fhs [〜#〜] によると、ディレクトリ/lib
と/usr/lib
は両方ともライブラリ(/sbin
とユーザーで使用されるライブラリ)用です。それぞれライブラリ)。
しかし、/var/lib
フォルダーはどうですか?同じロジックに従うと、このフォルダーには「変数ライブラリ」(奇妙に聞こえます)のようなものがありますが、実際には、実行中のプログラムによって、またはウィキペディアの記事で定義されているように、生成および維持されるデータを保持します。
状態情報。プログラムの実行時にプログラムによって変更される永続データ(データベース、パッケージングシステムメタデータなど)。
新しい観点からは、データベースデータと提供されるファイルを/srv
ではなく/var/lib
の下に置く方が理にかなっています。
これは、新しい3.0バージョンへのコミットで説明されています。
http://bzr.linuxfoundation.org/loggerhead/lsb/devel/fhs-spec/revision/26
具体的には、/srv/
は、提供されるファイルシステム構造化データ用です。/var/lib/
はローカルで消費されるデータ用です。 Apacheは、ファイルシステムが階層的であるため、/ srvから機能します。 MySQLは/ var/libからサービスを提供します。これは、mysqldのみがそれにアクセスし、ファイルシステム階層ではないためです。
sysadmin1138ですでに述べたように、FHS3.0ではこれを/srv
セクションで説明しています。
https://refspecs.linuxfoundation.org/FHS_3.0/fhs/ch03s17.html
データのディレクトリとファイル構造がコンシューマーに公開されていない場合は、
/var/lib
に配置する必要があります。
その文は このFHSバグ のために追加されました。そこで、Tollef Fog Heenは次のように書いています:
ここでの決定的な違いは、sysadminが通常公開されており、ディレクトリ構造を気にする必要があるかどうかだと思います。
ここで役立つのは、/srv
ではsysadmin "がディレクトリ構造"を気にする必要があるということです。