Show Table of Contents

2.2.1.2.
2.2.1.3.
2.2.1.4.
2.2.1.5.
2.2.1.6.
2.2.1.7.
2.2.1.8.
2.2.1.9.
2.2.1.10.
2.2.1.11.
2.2.1.12.
2.2.1.13.
2.2.1.14.
2.2. ファイルシステム階層標準 (FHS) の概要
Red Hat Enterprise Linux は、ファイルシステム階層標準:Filesystem Hierarchy Standard (FHS) のファイルシステム構造を使用します。これは、多くのファイルタイプとディレクトリーの名前、場所、および権限を定義します。
FHS ドキュメントは、FHS 準拠のファイルシステムに対する権威のあるリファレンスですが、この標準では定義していない、または拡張可能な分野が数多く残されています。このセクションでは、この標準の概要を説明し、この標準で扱われていないファイルシステムの他の部分について説明します。
FHS 準拠によってもたらされる最も重要な要素は以下の 2 点にまとめられます。
- 他の FHS 準拠システムとの互換性
/usr/パーティションを読み込み専用でマウントできること。/usr/には共通の実行可能ファイルが含まれており、ユーザーがこのパーティションを変更することができないため、この点は特に重要になります。さらに、/usr/は読み込み専用でマウントされるため、CD-ROM ドライブから、または読み込み専用の NFS マウント経由で他のマシンからマウントすることができます。
2.2.1. FHS の組織
ここで説明されているディレクトリーとファイルは、FHS ドキュメントで指定されているもののごく一部です。総合的な情報については、http://www.pathname.com/fhs/ で最新の FHS ドキュメントを参照してください。
2.2.1.1. ファイルシステム情報の収集
df コマンドは、システムのディスク領域の使用量を報告します。出力は以下のようになります。
例2.1 df コマンドの出力
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
11675568 6272120 4810348 57% / /dev/sda1
100691 9281 86211 10% /boot
none 322856 0 322856 0% /dev/shm
デフォルトで、
df はパーティションサイズを 1 キロバイトのブロック単位で示し、使用中/利用可能のディスク領域の容量をキロバイトで示します。この情報をメガバイトやギガバイトで表示するには、コマンド df -h を使用します。-h という引数は "human-readable (人に認識可能な)" 形式という意味です。df -h の出力は以下のようになります。
例2.2 df -h コマンドの出力
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
12G 6.0G 4.6G 57% / /dev/sda1
99M 9.1M 85M 10% /boot
none 316M 0 316M 0% /dev/shm
注記
上記の例では、マウント済みのパーティション
/dev/shm は、システムの仮想メモリーファイルシステムを表します。
du コマンドは、ディレクトリー内のファイルによって使用されている領域の概算を示すもので、各サブディレクトリーのディスク使用量を表示します。du の出力の最後の行はディレクトリーの合計ディスク使用量を表示します。ディレクトリーの合計ディスク使用量を人間が認識できる形式でのみ表示するには、du -hs を使用します。他のオプションについては、man du を参照してください。
システムのパーティションとディスク領域の使用状況をグラフィカル形式で表示するには、 → → を順にクリックするか、またはコマンド
gmnoe-system-monitor を使用して、Gnome システムモニター を使用します。ファイルシステム タブを選択すると、システムのパーティションが表示されます。以下の図は、ファイルシステム タブを示しています。

図2.1 GNOME システムモニターの「ファイルシステム」タブ
2.2.1.2. /boot/ ディレクトリー
/boot/ ディレクトリーには、システムを起動するために必要な Linux カーネルなどの静的ファイルが含まれます。これらのファイルはシステムが正常に起動するために不可欠です。
警告
/boot/ ディレクトリーを削除しないでください。削除するとシステムを起動できなくなります。
2.2.1.3. /dev/ ディレクトリー
/dev/ ディレクトリーには、以下のデバイスタイプを表すデバイスノードが含まれます。
- システムに接続しているデバイス
- カーネルで提供される仮想デバイス
これらのデバイスノードはシステムが正常に機能するために不可欠です。
udevd デーモンは、必要に応じて /dev/ 内でデバイスノードを作成したり削除したりします。
/dev/ ディレクトリーとサブディレクトリー内のデバイスは、キャラクター (マウスやキーボードなどの、シリアルストリームの入出力のみを提供) か、または ブロック (ハードドライブやフロッピーなど、ランダムにアクセス可能なデバイス) のいずれかです。GNOME または KDE をインストールしている場合、一部のストレージデバイスは接続した時点 (例: USB を使用) や挿入した時点 (例: CD や DVD ドライブを使用) で自動的に検出されて、ポップアップウィンドウがそのコンテンツを表示します。
表2.1 /dev ディレクトリー内にある共通ファイルの例
| ファイル | 詳細 |
|---|---|
| /dev/hda | プライマリー IDE チャネル上のマスターデバイス |
| /dev/hdb | プライマリー IDE チャネル上のスレーブデバイス |
| /dev/tty0 | 1 番目の仮想コンソール |
| /dev/tty1 | 2 番目の仮想コンソール |
| /dev/sda | プライマリー SCSI または SATA チャネル上の 1 番目のデバイス |
| /dev/lp0 | 1 番目のパラレルポート |
2.2.1.4. /etc/ ディレクトリー
/etc/ ディレクトリーは、マシンに対してローカルな設定ファイル用に確保されています。バイナリーはここに格納できないため、バイナリーは /bin/ か /sbin/ に移動する必要があります。
たとえば、
/etc/skel/ ディレクトリーは、「スケルトン」ユーザーファイルを保管しますが、このファイルは、最初にユーザーを作成する際にホームディレクトリーに追加するために使用されます。アプリケーションもこのディレクトリーにその設定ファイルを保存して実行時にそれを参照します。/etc/exports ファイルはリモートホストにエクスポートするファイルシステムを制御します。
2.2.1.5. /lib/ ディレクトリー
/lib/ ディレクトリーには、/bin/ と /sbin/ 内のバイナリーを実行するために必要なライブラリーのみが収納される場所です。これらの共有ライブラリーイメージは、システムを起動したり root ファイルシステム内でコマンドを実行したりするために使用されます。
2.2.1.6. /media/ ディレクトリー
/media/ ディレクトリーには、USB ストレージメディア、DVD、CD-ROM、および Zip ディスクなどのリムーバブルメディア用のマウントポイントとして使用されるサブディレクトリーが含まれます。
2.2.1.7. /mnt/ ディレクトリー
/mnt/ ディレクトリーは、NFS ファイルシステムマウントなど、一時的にマウントされたファイルシステムのために確保されます。すべてのリムーバブルストレージメディアには、/media/ ディレクトリーを使用します。自動的に検出されたリムーバブルメディアは /media ディレクトリーにマウントされます。
重要
/mnt ディレクトリーはインストールプログラムで使用することはできません。
2.2.1.8. /opt/ ディレクトリー
/opt/ ディレクトリーは、通常デフォルトインストールの一部ではないソフトウェアやアドオンパッケージ用に確保されています。/opt/ にインストールするパッケージは、名前がそのパッケージと同じディレクトリーを作成します (例: /opt/パッケージ名/)。ほとんどの場合、そのようなパッケージは予想可能なサブディレクトリー構造に従って、ほとんどがそのバイナリーを /opt/パッケージ名/bin/ に保存し、それらの man ページを /opt/パッケージ名/man/ に保存します。
2.2.1.9. /proc/ ディレクトリー
/proc/ ディレクトリーは、カーネルから情報を抽出するか、またはカーネルに情報を送る特別なファイルを収納しています。その情報の例としては、システムメモリー、cpu 情報、およびハードウェア設定などがあります。/proc/ の詳細については、「/proc 仮想ファイルシステム」 を参照してください。
2.2.1.10. /sbin/ ディレクトリー
/sbin/ ディレクトリーは、システムの起動、復元、または修復に不可欠なバイナリーを格納します。/sbin/ 内のバイナリーを使用するには root 権限が必要です。さらに、/sbin/ には/usr/ ディレクトリーがマウントされる 前に システムで使用されるバイナリーが含まれます。/usr/ がマウントされた後に使用されるすべてのシステムユーティリティーは基本的に /usr/sbin/ に配置されます。
少なくとも、以下のプログラムが
/sbin/ 内に格納される必要があります。
arpclockhaltinitfsck.*grubifconfigmingettymkfs.*mkswaprebootrouteshutdownswapoffswapon
2.2.1.11. /srv/ ディレクトリー
/srv/ ディレクトリーには、Red Hat Enterprise Linux システムが提供するサイト特有のデータが含まれています。このディレクトリーは、ユーザーに対して FTP、WWW、または CVS などの特定のサービス用のデータファイルの場所を提供します。特定ユーザーにのみ関連するデータは /home/ ディレクトリーに置く必要があります。
2.2.1.12. /sys/ ディレクトリー
/sys/ ディレクトリーは、2.6 カーネルに固有の新しい sysfs 仮想ファイルシステムを使用します。2.6 カーネルのホットプラグハードウェアデバイスに対するサポートの強化により、/sys/ ディレクトリーは、/proc/ で保管されている情報に似た情報を格納し、ホットプラグデバイス固有のデバイス情報を階層表示で示します。
2.2.1.13. /usr/ ディレクトリー
/usr/ ディレクトリーは、複数マシンで共有されるファイル用に使われます。/usr/ ディレクトリーは多くの場合、独自のパーティション上に置かれ、読み込み専用でマウントされます。/usr/ には少なくとも以下のサブディレクトリーが含まれます。
/usr/bin- このディレクトリーはバイナリー用に使用されます。
/usr/etc- このディレクトリーは、システム全体の設定ファイル用に使用されます。
/usr/games- このディレクトリーはゲームを保管します。
/usr/include- このディレクトリーは C ヘッダーファイル用に使用されます。
/usr/kerberos- このディレクトリーは、Kerberos 関連のバイナリーとファイル用に使用されます。
/usr/lib- このディレクトリーは、シェルスクリプトやユーザーに直接利用されるように設計されていないオブジェクトファイルとライブラリ用に使用されます。
/usr/libexec- このディレクトリーには、他のプログラムから呼び出される小さなヘルパープログラムが収納されています。
/usr/sbin- このディレクトリーは、
/sbin/に属さないシステム管理バイナリーを格納します。 /usr/share- このディレクトリーは、アーキテクチャーに固有ではないファイルを格納します。
/usr/src- このディレクトリーは、ソースコードを格納します。
/var/tmpにリンクされた/usr/tmp- このディレクトリーは、一時ファイルを格納します。
/usr/ ディレクトリーには、/local/ サブディレクトリーが含まれる必要もあります。FHS に準じて、このサブディレクトリーはソフトウェアをローカルでインストールする際にシステム管理者によって使用されます。さらに、このサブディレクリーはシステムの更新時に上書きされないように保護されます。/usr/local ディレクトリーは /usr/ と似た構造を持ち、以下のサブディレクトリーが含まれます。
/usr/local/bin/usr/local/etc/usr/local/games/usr/local/include/usr/local/lib/usr/local/libexec/usr/local/sbin/usr/local/share/usr/local/src
Red Hat Enterprise Linux による
/usr/local/ の使用は FHS とは少々異なります。FHS では、システムソフトウェアのアップグレード時に保護するソフトウェアを格納するために /usr/local/ を使用する必要があるとしています。しかし、RPM パッケージマネージャー はソフトウェアアップグレードを安全に実行できるため、ファイルを /usr/local/ に保存することによって保護する必要はありません。
代わりに、Red Hat Enterprise Linux は
/usr/local/ をマシンに対してローカルのソフトウェア用に使用します。たとえば /usr/ ディレクトリーが読み込み専用の NFS 共有としてリモートホストからマウントされている場合も、パッケージまたはプログラムを /usr/local/ ディレクトリー下にインストールすることができます。
2.2.1.14. /var/ ディレクトリー
FHS は Linux が
/usr/ を読み込み専用としてマウントすることを要求するため、ログファイルを書き込むプログラムや、spool/ ディレクトリーまたは lock/ ディレクトリーを必要とするすべてのプログラムはそれらを /var/ ディレクトリーに書き込む必要があります。FHS では、/var/ がスプールディレクトリーおよびファイル、ログデータ、一過性/一時的ファイルを含む可変データ用であるとしています。
/var/ ディレクトリー内にある一部のディレクトリーを以下に示します。
/var/account//var/arpwatch//var/cache//var/crash//var/db//var/empty//var/ftp//var/gdm//var/kerberos//var/lib//var/local//var/lock//var/log//var/spool/mail/にリンクされた/var/mail/var/mailman//var/named//var/nis//var/opt//var/preserve//var/run//var/spool//var/tmp//var/tux//var/www//var/yp/
messages や lastlog などのシステムログファイルは、/var/log/ ディレクトリーに置かれます。/var/lib/rpm/ ディレクトリーは、RPM システムデータベースを収納します。ロックファイルは /var/lock/ ディレクトリーに置かれますが、通常はそのファイルを使用するプログラム用のディレクトリー内にあります。/var/spool/ ディレクトリーには、一部のプログラムのデータファイルを保存するサブディレクトリーがあります。これらのサブディレクトリーには以下が含まれます。
/var/spool/at//var/spool/clientmqueue//var/spool/cron//var/spool/cups//var/spool/exim//var/spool/lpd//var/spool/mail//var/spool/mailman//var/spool/mqueue//var/spool/news//var/spool/postfix//var/spool/repackage//var/spool/rwho//var/spool/samba//var/spool/squid//var/spool/squirrelmail//var/spool/up2date//var/spool/uucp//var/spool/uucppublic//var/spool/vbox/

Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.