/usr
読み:ユーエスアー
外語:/usr: User Services & Resources
UNIX
や
POSIX
準拠OS(
Linux
等)で、ユーザーサービスや
リソース
が格納される
ディレクトリ
。
目次
用途
特徴
実装
FreeBSD
Linux
用途
その用途は多様であり、さまざまなものがここに格納される。
共有可能なファイルは基本的にここに置かれる。
特徴
そもそも「usr」とは何か。
一応、「USeR」の略ではなく、User Service RoutineやUser System Resourceなどの略だとされてはいる。しかしこの話はどうやら後から作られたものであるらしく、最初からそのような意味を持たせていたわけではないようで、やはりuserがusrになったとする説が有力らしい。
元々/usrは現在でいう
/home
のような使い方をしていたが、歴史の変遷を経て、今のような使い方に変わっていった。System IIIの頃は/usr以下に個人のディレクトリが作られていたのは確実で、/homeが一般化したのは定かではないが4BSDの頃からではないかと考えられている。
実装
参考までに、資料にあるOSごとの必須または推奨のディレクトリ構造は、次のとおり。
FreeBSD
/usr
/usr/bin
‐ よく使う各種のコマンド類
/usr/include ‐ Cの標準ヘッダーファイル
/usr/lib ‐ ライブラリ
/usr/libdata ‐ 各種ユーティリティ用データファイル
/usr/libexec ‐ システムデーモンやシステムユーティリティ
/usr/local
‐ ローカルのプログラムやライブラリ類
/usr/obj ‐ /usr/srcのMake時に生成したオブジェクトデータの格納先
/usr/ports ‐ FreeBSD ports集 (オプション)
/usr/sbin ‐ (ユーザーが実行する)システム管理用バイナリ
/usr/share ‐ アーキテクチャーに依存しないデータ
/usr/src ‐ BSDのソースファイルなど
/usr/X11R6 ‐ X11R6のプログラムやライブラリ類 (オプション)
BSD等では特に/usr/home/<username>を
ホームディレクトリ
とし、以下に個人のファイルを格納する。
Linux
ディストリビューションによって差が大きいが、概ね次のような使われ方をする。
/usr
/usr/bin
‐ 殆どのユーザー用のコマンド類
/usr/games ‐ ゲーム
/usr/include ‐ Cの標準ヘッダーファイル
/usr/lib ‐ プログラミングとパッケージ用のライブラリ
/usr/lib32 ‐ 32ビット用lib
/usr/lib64 ‐ 64ビット用lib
/usr/lib<qual> ‐ 代替形式のライブラリ類 (オプション)
/usr/local
‐ ローカルのプログラムやライブラリ類
/usr/local/share ‐ アーキテクチャーに依存しないデータ
/usr/sbin ‐ さほど不可欠でない標準のシステムバイナリ
/usr/share ‐ アーキテクチャーに依存しないデータ
/usr/share/dict ‐ 各種の辞書類 (オプション)
/usr/share/man ‐ マニュアル
/usr/share/misc ‐ 雑多なアーキテクチャーに依存しないデータ
/usr/share/sgml ‐ SGMLデータ (オプション)
/usr/share/xml ‐ XMLデータ(オプション)
/usr/src ‐ Linuxのソースファイルなど (オプション)
/usr/X11R6 ‐ X11R6のプログラムやライブラリ類 (オプション)
64ビットLinuxにはlib、lib32、lib64とあるが、Ubuntuの場合、/usr/libに64ビットバイナリ、/usr/lib32に32ビットバイナリを置き、/usr/lib64は/usr/libへのシンボリックリンクとなっている。
再検索