OS X、Linux、FreeBSDのFHSの違い

OS X、Linux、FreeBSDのFHSの違い

/usr/localFBSDポートがLinuxではなくFreeBSDとLinuxの間に異なる動作があることを読んだ。誰でもこれについてもっと説明できますか?私はOSXでMacPortsがどこにインストールされているのかを知りたいと思い、これら3つのオペレーティングシステムのFHS間の最も重要な違いのリストを知りたいと思います(主に私が探しているのがこれでした)。

調べてみましたが、あまり見つかりませんでした。

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

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

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

答え1

FHS(Filesystem Hierarchy Standard)バージョン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は次のとおりです。マクポートガイド内部構造の説明があります。

答え2

FHSはLinux標準です(すべてのディストリビューションがこれに準拠しているわけではなく、少なくともGUIの世界では絶望的に時代遅れです)。これは基本的に標準と同様に既存の慣行を体系化したものです。したがって、他のUnixyシステム(BSD、Mac OS、独自のUnices、Minix 3...)も同様の規則を使用していることがわかります。階層/usr/localは非常に古いです。もともとは、ローカルで開発されたソフトウェアをアーカイブするために使用されていましたが、独自のUnixを使用すると、人々はシステムアップデートを中断することなく別々に保つために非サプライヤーソフトウェア(Usenetからダウンロードしたものを含む)をインストールすることに慣れていました。 GNUプロジェクトはこの使用法を普及し、それをインストールスクリプトにデフォルトとして統合しました(GNUはこれ90年代以前のUnix用のまともなツールのソースです。特に迷惑なのは、多くの場合、ベンダーコンパイラと開発ツール、不良/古いviバージョン、愚かなシェルです。冗談はさておき、新しい太陽に関して最初にすべきことは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>

関連情報