何?いいえ /bin/
/usr/bin
へのシンボリックリンクではありません FHS準拠のシステムで。これを無視する一般的な Unice と Linux がまだあることに注意してください - たとえば、/bin
と /sbin
/usr/bin
にシンボリックリンクされています Arch Linux 上 (理由は /bin
は必要ないからです) ライブ CD を起動するだけなので、レスキュー/シングル ユーザー モードの場合)。
/bin
には、システム管理者とユーザーの両方が使用できるコマンドが含まれていますが、他のファイルシステムがマウントされていない場合 (シングルユーザーモードなど) に必要です。スクリプトによって間接的に使用されるコマンドも含まれる場合があります
/usr/bin/
これは、システム上で実行可能なコマンドのプライマリ ディレクトリです。
基本的に、/bin
緊急修復、起動、およびシングル ユーザー モードのためにシステムで必要とされる実行可能ファイルが含まれています。 /usr/bin
不要なバイナリが含まれています。
それらは別々のディスク/パーティションにある可能性があることに注意してください /bin
/
と同じディスク上にある必要があります . /usr/bin
別のディスクにある可能性があります - ただし、この構成はしばらく壊れていることに注意してください (たとえば、systemd が起動時にこの構成について警告するのはそのためです)。
完全に正確を期すために、一部のユニシスは FHS を無視する場合があります。FHS は Linux 標準に過ぎないと私は信じています。SUS、Posix、またはその他の UNIX 標準にまだ含まれていることは認識していませんが、IMHO である必要があります。ただし、これは LSB 標準の一部です。
更新:いくつかの歴史と /usr
がある本当の理由について 、これを読んでください:http://lists.busybox.net/pipermail/busybox/2010-December/074114.html.これも。
/sbin
- 起動、低レベルのシステム修復、またはメンテナンスに必要なバイナリ (実行レベル 1 または S)
/bin
- 通常/標準システムが任意の実行レベルで機能するために必要なバイナリ。
/usr/bin
- ローカルにログインしたユーザーがアクセスすることを意図したアプリケーション/配布バイナリ
/usr/sbin
- /sbin 内のものをサポートまたは構成するアプリケーション/配布バイナリ。
/usr/share/bin
- Web 経由でアクセスすることを意図したアプリケーション/配布バイナリまたはスクリプト、つまり Apache Web アプリケーション
*local*
- ディストリビューションの一部ではないバイナリ。ローカルでコンパイルするか、手動でインストールします。通常、/local/bin
はありません。 しかし常に /usr/local/bin
と /usr/local/share/bin
.
この問題に関するある種の「更新」:
最近、いくつかの Linux ディストリビューションが /bin
をマージしています /usr/bin
に 関連して /lib
/usr/lib
に .時々 (/usr)/sbin
も /usr/bin
へ (Arch Linux).So /usr
/
と同時に利用可能になる予定です .
2 つの階層の違いは、現在では不必要に複雑であると見なされています。このアイデアはかつて /bin
しかありませんでした。 ブート時に利用できますが、初期 RAM ディスクがあるとこれは時代遅れになります。
私は、Fedora Linux (2011) と Arch Linux (2012) がこの方向に向かっていることを知っており、Solaris はこれを長い間 (> 15 年) 行っています。
- freedesktop:TheCaseForTheUsrMerge
- fedora:UsrMove 機能
- arch:/bin、/sbin、/lib を /usr/bin と /usr/lib に統合