この特集のトップページへ
この回のトップページへ

/usrディレクトリ

 /usrディレクトリは,システムの起動時には必要がないファイルを配置するためのものだ。

 /usrディレクトリ内のファイルは,システムによって書き換えられることはない不変のデータとして構成される。そのため,/usrディレクトリ以下をNFSなどを使ってネットワークで他のコンピュータと共有して利用したり,読み取り専用でマウントしたりしても,問題なく動作することが保証される。

 Unix系のシステムでは,/usrディレクトリを別のパーティションに割り当てて,マウントして利用するように構成することも多い。

 /usrディレクトリの下は,次の各サブディレクトリを必須とする。

bin, include, lib, local, sbin, share

 また下記のディレクトリは,存在してもしなくてもよい。

X11R6, games, lib, src

 また/usrディレクトリには,互換性のために下記のシンボリックリンクを作成する場合がある。

/usr/spool -> /var/spool
/usr/tmp -> /var/tmp
/usr/spool/locks -> /var/locks

 以下に各サブディレクトリの用途を解説しよう。

/usr/binディレクトリ

 /usr/binディレクトリには,一般ユーザーが用い,且つ起動時に必要がないコマンド群を配置する。次のファイルが存在するかどうかは任意である。

perl, python, tclsh, wish, expect

 また,mhディレクトリは存在してもよい。

 /usr/binディレクトリ内のファイルは,システムのインストール時に用意される。システム管理者が後からコマンドをインストールする場合には,後述の/usr/local/binにインストールする必要がある。

/usr/includeディレクトリ

 /usr/includeディレクトリには,一般的なインクルードファイルが格納される。ここのインクルードファイルは,OSのインストール時に用意されるものだ。システム管理者が後からインクルードファイルをインストールする場合には,後述の/usr/local/includeにインストールする。

/usr/gamesディレクトリ

 OSで標準に提供されるゲームのバイナリファイルが格納される。システム管理者が後からインストールするゲームは,後述の/usr/local/gamesディレクトリにインストールしよう。

/usr/libディレクトリ

 このディレクトリには,/usr/bin/usr/sbinディレクトリに格納したバイナリを動作させるために必要な共有ライブラリファイルがインストールされる。システム管理者が後から独自の共有ライブラリファイルをインストールしたい場合には,後述の/usr/local/libディレクトリにインストールする必要がある。

/usr/localディレクトリ

 /usr/localディレクトリは,システム管理者がインストールする各種ファイルを保存するディレクトリだ。

 このディレクトリ内に格納したファイルは,完全にシステム管理者に開放されている。OSのシステムインストール直後は,ディレクトリ階層だけが用意されていて中身は空になっている状態だ。

 システム管理者が何らかのアプリケーションをインストールしたいのであれば,この/usr/localディレクトリ下か,前述した/optディレクトリ下にインストールしよう。

 /usr/localディレクトリ下は,OSのアップグレードやパッチ適用しても変化しないことが保証される。

/usr/sbinディレクトリ

 このディレクトリは,システム管理者が扱うコマンドであり,起動時には必須でないコマンド群が配置される。システム管理者が後から独自のコマンドをインストールする場合には,この/usr/sbinディレクトリではなく,/usr/local/sbinディレクトリにインストールする必要がある。

/usr/shareディレクトリ

 アーキテクチャに依存しないファイル群,例えばオンラインマニュアルなどが含まれる。

/usr/srcディレクトリ

 カーネルのソースファイルなどがインストールされる。

/usr/X11R6ディレクトリ

 X Window Systemバージョン11リリース6に関連するファイルが格納されるディレクトリ。

/varディレクトリ

 /varディレクトリは,動的に変化するファイルを格納する。例えば,キャッシュデータやシステムログ,プロセスIDのファイルなどが動的に変化するファイルに相当する。また,Red Hat Linux 7.2などでは,Apacheで公開するドキュメントなどもこのディレクトリ下に設定されている。

 /varディレクトリには書き換えられるファイルが含まれるため,読み書きできるようにマウントしなければならない。またファイルサイズも大幅に増減することが考えられるため,/varディレクトリには十分な空き容量が確保されている必要がある。

 /varディレクトリ内には,下記に示すサブディレクトリが存在する。

/var/accountディレクトリ

 アカウントのログを記録するファイルを保存する。例えば,suコマンドによるrootユーザーへのログオンの成否や,パスワード認証エラーを記録するファイルなどが含まれる。

/var/cacheディレクトリ

 キャッシュ用のディレクトリ。例えばフォントのキャッシュデータ,Webアクセスのキャッシュデータなどが該当する。

/var/crachディレクトリ

 システムが不正にシャットダウンした場合に,そのメモリダンプファイルが格納されるディレクトリだ。

/var/gamesディレクトリ

 /usr/bin/gamesディレクトリに格納したゲームの動的データを格納する。

/var/libディレクトリ

 雑多な動的データを保存するディレクトリ。たとえばRPMパッケージのデータベースやDHCPの割り当てデータベース,漢字変換のユーザー学習辞書などが該当する。

/var/localディレクトリ

 /usr/localディレクトリに格納した各種プログラムの動的データを格納するディレクトリ。

 このディレクトリ内は標準で空であり,システム管理者が/usr/localディレクトリに何かプログラムをインストールした際にそのプログラムによって利用される。

 このディレクトリはシステム管理者に開放されており,自由に利用できる。

/var/lock

 ファイルの排他ロックを行う場合,そのロックファイルを保存するためのディレクトリ。

/var/log

 システムのログファイルを格納するディレクトリ。

/var/mail

 各ユーザーに届けられたEメールを保持するためのディレクトリ(Sendmail準拠)。

/var/opt

 /optディレクトリに格納した各アプリケーションの動的データを保存するディレクトリ。

/var/run

 実行時の状態を保存するディレクトリ。プロセスIDを格納したファイル(PIDファイル)が存在する。

/var/spool

 スプール用のディレクトリ。プリンタのスプールやメールの配信キューなどが含まれる。

/var/tmp

 テンポラリ用のディレクトリ。このディレクトリは,前述した/tmpディレクトリとは異なる。/var/tmpディレクトリ内に保存されているファイルは,システムの起動時に削除されないという特徴がある。

/var/yp

 NIS(Network INformation Service)のデータベースを保持しておくためのディレクトリ。

PREV 3/4 NEXT