これらの問題の標準はFile Hierarchy Standardです。それはかなり大きな文書です。基本的に(非常に大まかに)、Linuxの標準パスは次のとおりです。
/bin
&/sbin
はOSの重要なプログラム用で、sbinは管理者専用です。
/usr/bin
&/usr/sbin
は重要なプログラム用ではなく、sbinは管理者専用です。
/var
プログラムの生データ用です。キャッシュデータ、スプールデータ、一時データ(/tmp
再起動のたびに消去されるを除く)などです。
/usr/local
ローカルにインストールされたプログラム用です。通常、標準に準拠しているがOS用にパッケージ化されていないプログラムをホストしますが、./configure && make && make install
管理者スクリプト(管理者など)と管理者が手動でインストールします。
/opt
パッケージ化されておらず、標準に準拠していないプログラム用です。すべてのライブラリをプログラムと一緒に配置するだけです。多くの場合、これは手っ取り早い解決策ですが、自分で作成したプログラムや特定のパスを使用したいプログラムにも使用できます。その中に独自のパス(例:)を作成できます。/opt/yourcompany
この場合、標準パスの一部として登録することをお勧めします。
/etc
プログラムではなく、構成を含める必要があります。
プログラムがサービスによって提供されるサービスに固有である場合、/srv
それらの場所としても適しています。たとえば、ディレクトリに自分が追加したデータのみが含まれ、ソフトウェアパッケージからは何も含まれないことを確認する/srv/www
よりも、Webサイトに使用することを好み/var/www
ます。
ディストリビューションにはいくつかの違いがあります。たとえば、RedHatシステムはlibexec
、Debian / Ubuntuシステムが使用しないディレクトリを使用します。
FHSは主にLinuxディストリビューションで使用されています(実際にFHSに準拠している他のOSは知りません)。他のUnixシステムはそれに従いません。たとえば、BSDシステムは/usr/local
パッケージ化されたプログラムに使用する傾向がありますが、これはLinuxには当てはまりません。Solarisには、非常に異なる標準パスがあります。
これについてもっと知りたい場合は、上記でリンクしたFHSドキュメントを読むことを強くお勧めします。