GNU/Linux >> Linux の 問題 >  >> Linux

/bin と /usr/bin の違い

何?いいえ /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 に統合

Linux
  1. Linuxは複数の連続したパスセパレーター(/ home //// username /// file)をどのように処理しますか?

  2. / sbin/nologinと/bin/ falseの違いは何ですか?

  3. Linux – / usr/binと/usr/sbinを/bin(gnu / linux)にマージしますか?

  1. バイナリを /bin、/sbin、/usr/bin、および /usr/sbin にインストールし、 --prefix および DESTDIR と対話します

  2. #!/usr/bin/env bash と #!/usr/bin/bash の違いは何ですか?

  3. /usr/sbin、/usr/local/sbin、/usr/local/bin の意味は何ですか?

  1. #!/bin/bash と #!/bin/sh はいつ使用する必要がありますか?

  2. /tmp と /run の違いは何ですか?

  3. /bin の内容を /usr/bin に移動しました。元に戻すことはできますか?