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

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

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

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

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

新たな視点から見ると、データベースデータと提供されたファイル/srv/var/lib

答え1

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

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

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

答え2

として管理者1138すでに述べたように、FHS 3.0 ではこのことについて/srv以下のセクションで説明しているので、引用します。

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

データのディレクトリとファイル構造が消費者に公開されていない場合は、 に格納する必要があります/var/lib

この文は、このFHSのバグ。 そこには、トーレフ・フォグ・ヒーン書いている:

ここでの重要な違いは、システム管理者が通常ディレクトリ構造に触れており、それを気にする必要があるかどうかだと思います。

ここで役立つのは、/srvシステム管理者の「ディレクトリ構造に注意する必要がある」

関連情報