/binと/usr/binの違い

/binと/usr/binの違い

このサイトでこの記事を読みましたが、理解できません。

http://rcsg-gsir.imsb-dsgi.nrc-cnrc.gc.ca/documents/basic/node32.html

UNIXが最初に作成されたとき、UNIXは/bin物理的に /usr/bin2つの異なるディスク、/binつまりより小さく、より速い(より高価な)ディスクとより大きくて/usr/bin遅いディスクにありました。今、/binシンボリックリンク /usr/binは本質的に同じディレクトリです。

ただし、lsその/binフォルダにアクセスすると、そのフォルダに含まれるコンテンツはそれよりはるかに少なくなります/usr/bin(少なくとも私が実行しているシステムでは)。

誰かが違いを説明できますか?

答え1

何? noはFHS準拠システムのシンボリックリンク/bin/ではありません。/usr/binこれを無視する人気のあるUnicesとLinuxがまだあることに注意してください。たとえば、Arch Linuxへのシンボリックリンク/bin(ライブCDを起動するときにリカバリ/シングルユーザーモードが必要ないため)。/sbin/usr/bin/bin

/bin

システム管理者とユーザーの両方が使用できますが、他のファイルシステムがマウントされていない場合(たとえば、シングルユーザーモードなど)に必要なコマンドが含まれています。スクリプトで間接的に使用されるコマンドを含めることもできます。

/usr/bin/

これは、システムで実行可能なコマンドのホームディレクトリです。

デフォルトでは、/binシステム緊急回復、起動、およびシングルユーザーモードに必要な実行可能ファイルが含まれています。/usr/bin不要なバイナリが含まれています。

別のディスク/パーティションに存在する可能性/binがあります//usr/bin)。

完全に正確にするために、一部の unice は FHS が Linux 標準であると信じているため、FHS を無視できます。 IMHOでなければなりませんが、SUS、Posix、またはその他のUNIX規格に含まれているかどうかは不明です。それ最下位ビット標準ですが。

答え2

更新:いくつかの歴史と実際の理由については、/usr次の記事を読んでください。http://lists.busybox.net/pipermail/busybox/2010-December/074114.html。返品これ


/sbin- 起動、低レベルのシステム回復またはメンテナンスに必要なバイナリ(ランレベル1またはS)

/bin- すべての実行レベルで一般/標準システムを操作するために必要なバイナリ。

/usr/bin- アプリケーション/配布バイナリは、ローカルでログインしたユーザーがアクセスできるようになっています。

/usr/sbin- /sbinのコンテンツをサポートまたは構成するアプリケーション/配布バイナリ。

/usr/share/bin- ネットワーク経由でアクセスできるアプリケーション/配布バイナリまたはスクリプト(例:Apache Webアプリケーション)

*local*- バイナリはディストリビューションの一部ではなく、ローカルにコンパイルまたは手動でインストールされます。通常、aはありませんが、常にand/local/binがあります。/usr/local/bin/usr/local/share/bin

答え3

この質問に対する一種の「更新」:

最近、いくつかのLinuxディストリビューションがマージされました。/binそして時には(Arch Linux)とも/usr/bin関連しています。したがって、同時に発売されると予想される。/lib/usr/lib(/usr)/sbin/usr/bin/usr/

今、これら2つの層間の区別は不必要な複雑さと見なされます。/bin以前は起動時にのみ使えると思いましたが、初期仮想ディスクこれを役に立たないようにしてください。

私はFedora Linux(2011)とArch Linux(2012)がこの道を進んでいることを知っており、Solarisは長い間(15年以上)この道を行っています。

答え4

UNIXベースのシステムがたくさんあります。 Linux、AIX、Solaris、BSDなどの元の引用は、すべてのスタイルに適用される歴史的文脈を提供します。特定のシステムを見ると、他の結果が表示されます。元の引用の最後の文は、特定のバージョンとディストリビューションにのみ適用されます。

関連情報