/usr/local
FBSDポートが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>