web-dev-qa-db-ja.com

OS X、Linux、FreeBSDのFHSの違い

FreeBSDとLinuxの間で/usr/localの動作が異なることを読みましたが、FBSDポートはそこにインストールされていますが、Linuxではインストールされていません。誰かがこれについてもっと説明できますか? MacPortsがOSXのどこにインストールされているか、そしてこれら3つのOSのFHS間の最も重要な違いのリストを知りたいです(これは主に私が探しているものです)。

私はすでに調査をしましたが、あまり見つかりませんでした。

https://developer.Apple.com/library/mac/#documentation/Darwin/Reference/ManPages/man7/hier.7.html

http://www.freebsd.org/doc/handbook/dirstructure.html

http://www.tldp.org/LDP/Linux-Filesystem-Hierarchy/html/index.html

6
AR89

Filesystem Hierarchy Standard(FHS)バージョン2.3は pathname.com/fhs にあります。 usr階層 に関するセクションがあります。 FHSは/usr/localを必須ディレクトリとしてリストし、次のように書き込みます。

localローカル階層(メインインストール後に空)

さらにFHS 書き込み

/usr/local階層は、システム管理者がソフトウェアをローカルにインストールするときに使用します。システムソフトウェアが更新されたときに上書きされないように安全である必要があります。ホストのグループ間で共有できるが、/usrにはないプログラムやデータに使用できます。

ローカルにインストールされたソフトウェアは、/usr/localのソフトウェアを置き換えまたはアップグレードするためにインストールされている場合を除き、/usrではなく/usr内に配置する必要があります。

さまざまなLinuxディストリビューションは通常、ソフトウェアを/usr/localに書き込みません。代わりに、各ファイルはFHSに従ってファイルシステムに配置されます。

特定のオプションなしでソース(./configure && make && make install)からソフトウェアをインストールすると、このソフトウェアは通常/usr/localにコピーされます。

MacPortsのデフォルトディレクトリは/opt/localです。 MacPortsガイド には内部の説明があります。

3
qbi

FHSはLinux標準です(すべてのディストリビューションが準拠しているわけではなく、少なくともGUI領域では時代遅れになっています)。標準はそうなる傾向があるので、それは主に既存の慣行の成文化です。そのため、他のUnixシステム(BSD、Mac OS、プロプライエタリUnices、Minix 3、...)でも同様の規則が使用されていることがわかります。 /usr/local階層は非常に古く、当初はローカルで開発されたソフトウェアを保持していましたが、プロプライエタリUnixでは、システムの更新を妨げずに、ベンダー以外のソフトウェア(Usenetからダウンロードしたものを含む)をそこにインストールするのが通例になりました。 GNUプロジェクトはこの使用法を普及させ、デフォルトとしてインストールスクリプトで体系化しました(GNUはthe 90年代までのUnix用のまともなツールのソースでした。特に苛立たしいのは、通常、braideadベンダーのコンパイラと開発ツール全般、viの不良/古いバージョン、およびダムシェルでした。冗談めかして、Sunなどの新しいもので最初に行うことはGNU > /usr/local。)。

<curmudgeon> 
   These kids today don't know the luxury of up to date, working
   tools they have at their fingertips, running on personal machines
   that would have been supercomputers in our day. For free.
</curmudegon>
2
vonbrand