/ usr /、私はコンピューターのユーザーだと思います。
閉じる。
Unixのは、マルチユーザ・オペレーティング・システムとして始まったので、「ユーザーは、」それは「だではないユーザー、」複数。
1988年にAT&T Unix System Vリリース4(SVR4)がリリースされる前は、ユーザー管理ツールがデフォルトでユーザーホームディレクトリを作成していました/home
が、従来の場所は/usr
.¹ でした。$HOME
ディレクトリはSystem IIIボックス/usr/jfw
にあったかもしれません。
/usr
また、その後、今のように、含まれている/usr/bin
、/usr/lib
経験など、ホームディレクトリを分離することは良いシステム管理の実践であることを示した、とのように、/home
SVR4での政策変更、それは我々が今に属すると考えるすべてのものを残しました/usr
。
/usr
まだ名前を保持する正当な理由がありました:残されたのは、通常のインタラクティブな使用をサポートするのに十分なほどシステムが起動されるまで利用可能である必要がなかったファイルでした。つまり、残されたのはOSのユーザー中心の部分でした。これは/usr
、別の物理ボリューム上にある可能性があることを意味しました。これは、洗濯機のサイズの92 MBのハードディスクドライブの時代には良いことでした。
初期のUnixシステムでは/usr
、/usr
ボリュームが何らかの理由でマウントできなかった場合でもシングルユーザーモード²で起動できるように、コアOSファイルが入らないように注意していました。ルートボリュームには、/usr
ボリュームをオンラインに戻すのに十分なツールが含まれていました。
小さな組み込みシステムは、従来のルート・ボリューム・ファイルの両方のための十分な余地があるので、いくつかのUnixのフレーバーが今、この古い設計原理を無視しないと、すべての/usr
単一volume.³のRed Hat Enterprise Linux、SolarisおよびCygwinのシンボリックリンク上を/bin
する/usr/bin
と/lib
して/usr/lib
何があるので、これらのディレクトリ間の差が長くなります。
... / local / ...明らかにローカルコンピューターを表します...
はい。これは、配下のファイル/usr/local
がその単一システムに固有であると想定されているという事実を指します。汎用的なファイルは、他の場所に存在する必要があります。
また、これは、すべてが標準化された数十年前にUnixシステムが一般的に使用されていた方法にルーツを持っています。繰り返しますが、当時のハードディスクはかさばり、非常に高価で、今日の標準ではほとんど保管されていませんでした。ディスク上のお金とスペースを節約するために、Unixボックスでいっぱいのコンピューターラボは、多くの場合/usr
、NFSまたは他のネットワークファイル共有プロトコルを介して大部分を共有するため、各ボックスに独自の冗長コピーは必要ありません。ボックスが下/usr/local
に入るでしょう/usr
。
この歴史的遺産は/usr/local
、手作業でインストールした場合、ほとんどのサードパーティ製Unixソフトウェアのデフォルトのインストール先である理由です。このようなソフトウェアのほとんどは、パッケージを別の場所にインストールできますが、選択しないことにより、安全なデフォルトを取得できます。
代わりにソフトウェアを別の場所にインストールするのには十分な理由があります。AppleのmacOSチームは、たとえばGNU Bashソースコードbash
からビルドするときにこれを行います。これら/
はインストール接頭辞として使用され、/usr/local
デフォルトを上書きして、Bashが最終的にになるようにします/bin
。
もう1つの例は、古いLinuxシステムがGUIソフトウェアを/usr/X11R6
に分離して、従来のコマンドラインおよびcurses
ベースのソフトウェアから分離する方法です。これは、単にデフォルトの/usr/local
プレフィックスを/usr/X11R6
.⁵でオーバーライドすることで行われました。
/ binとは何ですか?
これは「バイナリ」の略で、このコンテキストでは「プレーンテキストではないファイル」を意味します。そのようなファイルのほとんどは、Unixボックスで実行可能ファイルであるため、これら2つの用語は、一部のサークルでは同義語になっています。(「RHEL 7、Fredのバイナリをビルドしてください。」)
Unixのボックスにテキストファイルを別の場所に住んでいる:/etc
、/usr/include
、/usr/share
、など
むかしむかし、プレーンテキストファイルであるシェルスクリプトでさえbin
ディレクトリから除外されていましたが、この行もぼやけています。現在、bin
ディレクトリには通常、厳密に「バイナリ」であるかどうかに関係なく、あらゆる種類の実行可能ファイルが含まれています。
脚注と余談:
SVR4より前のユーザー管理ツールの基本的な性質により、このHOME=/usr/$NAME
スキームはデフォルトとしてソフトウェアツールによって実施されるのではなく、単に慣例として文書化されていました。
これは、「AT&T Unix System Vリリース3.2システム管理者ガイド」の4-8ページにあります。ここでは、AT&Tが、/usr/$NAME
SVR4がリリースされる前のUNIXの最後のメジャーバージョンで古いスキームを推奨しています。
古いUNIXシステムでは、システム管理者がより意味のある別のスキームを選択することはかなり一般的でした。人々は人々であり、それは多くの異なるスキームが発明されたことを意味しました。
以前に出会ったスキームの1つ/home/$NAME
が標準になりました/u/$NAME
。
1990年代初頭に使用した別のシステムには非常に多くのユーザーがいたため、すべてのホームディレクトリを単一の物理ボリュームに収めることができなかったため、思い出すよう/u1/$NAME
に/u2/$NAME
、などのスキームを使用しました。ホームディレクトリがどのディスクになったかは、アカウントが作成された時点でどのディスクにスペースがあったかということです。
起動Cmd-S中に押し続けると、macOSボックスをシングルユーザーモードで起動できます。画面が黒くなり、明るい灰色のテキストが表示されたら放します。ターミナルの下で実行するようなものですが、GUIがまだ開始されていないため、画面全体を引き継ぎます。
注意してください、あなたはとして実行していroot
ます。
シングルユーザールートプロンプトで「exit」と入力して、シングルユーザーモードを終了し、マルチユーザーGUIモードでの起動を続けます。
重要なシングルユーザーモードのファイルを保持していないように見える Unixy OS /usr
は、実際には最近そうしないかもしれません。/usr
ZFSボリュームに移動して、FreeBSD 9ボックスをブート不能にしたことがあります。ZFS-on-root機能は、FreeBSD 10がCatch 22を作成するまで着陸しなかったことを忘れていました。OSは/usr
、マウントするためにファイルが必要でした/usr
!
それは十分に悪いことでしたが、もしFreeBSD 9がまだシングルユーザーブートを排除していたら、/usr
それを修正することができました。/usr
マウントできないためにシングルユーザーモードでも起動しないため、明らかにその伝統が何らかの形で違反されていました。そのシステムを再びバックアップするには、レスキューCDから起動する必要がありました。
これは、取得する場所でもあり/usr/share
ます。異なるプロセッサタイプのUnixボックス間でも共有できるファイルを分離します。通常、テキストファイル:manページ、辞書など。
「X11R6」は、この規約が普及した当時のLinux GUIを支えるX Window Systemのバージョンを指していました。Linuxシステムは一般に、X11R6がX.Orgに置き換えられた頃にGUIソフトウェアの分離を停止しました。
オリジナルのUnixシステムは、それらのコアシェルスクリプト/etc
を、の真のバイナリと混同しないようにするために保持していました/bin
。