web-dev-qa-db-ja.com

提供されたデータを保持するための/ var / lib、なぜですか?

[〜#〜] fhs [〜#〜] によると、ディレクトリ/lib/usr/libは両方ともライブラリ(/sbinとユーザーで使用されるライブラリ)用です。それぞれライブラリ)。

しかし、/var/libフォルダーはどうですか?同じロジックに従うと、このフォルダーには「変数ライブラリ」(奇妙に聞こえます)のようなものがありますが、実際には、実行中のプログラムによって、またはウィキペディアの記事で定義されているように、生成および維持されるデータを保持します。

状態情報。プログラムの実行時にプログラムによって変更される永続データ(データベース、パッケージングシステムメタデータなど)。

新しい観点からは、データベースデータと提供されるファイルを/srvではなく/var/libの下に置く方が理にかなっています。

5
Bruno Polaco

これは、新しい3.0バージョンへのコミットで説明されています。

http://bzr.linuxfoundation.org/loggerhead/lsb/devel/fhs-spec/revision/26

具体的には、/srv/は、提供されるファイルシステム構造化データ用です。/var/lib/はローカルで消費されるデータ用です。 Apacheは、ファイルシステムが階層的であるため、/ srvから機能します。 MySQLは/ var/libからサービスを提供します。これは、mysqldのみがそれにアクセスし、ファイルシステム階層ではないためです。

5
sysadmin1138

sysadmin1138ですでに述べたように、FHS3.0ではこれを/srvセクションで説明しています。

https://refspecs.linuxfoundation.org/FHS_3.0/fhs/ch03s17.html

データのディレクトリとファイル構造がコンシューマーに公開されていない場合は、/var/libに配置する必要があります。

その文は このFHSバグ のために追加されました。そこで、Tollef Fog Heenは次のように書いています:

ここでの決定的な違いは、sysadminが通常公開されており、ディレクトリ構造を気にする必要があるかどうかだと思います。

ここで役立つのは、/srvではsysadmin "がディレクトリ構造"を気にする必要があるということです。

1
myrdd