FHS(Filesystem Hierarchy Standard)の意味[英語]を理解しよう
Linux初心者のための一歩は理解すること
LinuxやUnix系システムで使われる標準的なディレクトリ構造の一部であるルートディレクトリ直下の主要ディレクトリについて、正式名称とその役割を以下に詳しく説明。
現在のFHS(FHS 2.3)で規定された、ルートディレクトリ直下のディレクトリで必須とされているものは、「/bin」「/boot」「/dev」「/etc」「/lib」「/media」「/mnt」「/opt」「/sbin」「/srv」「/tmp」「/usr」「/var」の13個です(「/home」「/root」についてはオプションとして規定しています)。
これらのディレクトリは、Filesystem Hierarchy Standard(FHS) に基づいて整理されています。それぞれの役割を理解することで、Linuxシステムの管理がよりスムーズになります。
1. /bin (Binary = バイナリデーター) [ ビン]
- 役割:
システムの基本的な実行可能ファイル(コマンド)が格納されているディレクトリ。
システムがシングルユーザーモード(最小限の状態)でも動作するために必要なコマンドが含まれる。 - 例:
ls(リスト表示)、cp(ファイルコピー)、mv(移動)、cat(内容表示)など。
2. /boot = コンピュータの起動[ブート]
- 役割:
システムの起動に必要なファイルが含まれるディレクトリ。
ブートローダー(例: GRUB)の設定ファイルやカーネルイメージが格納される。 - 例:
vmlinuz(カーネルイメージファイル)、initrd.img(初期RAMディスクイメージ)など。
3. /dev (Device)[デブ]
- 役割:
デバイスファイル(仮想ファイル)が格納されているディレクトリ。
ハードウェアやデバイスドライバとやり取りするためのインターフェースを提供。 - 例:
tty(端末デバイス)、sda(ハードディスク)、null(無視デバイス)など。
4. /etc (Et Cetera)[エトセトラ]
- 役割:
システムの設定ファイルや構成情報が格納されているディレクトリ。
通常、各種サービスやプログラムの設定ファイルが配置される。 - 例:
passwd(ユーザー情報)、hosts(ホスト名とIPアドレスの対応)、fstab(ファイルシステムのマウント設定)など。
5. /lib (Library = ライブラリ)[リブ]
- 役割:
システムやプログラムが実行時に使用する共有ライブラリが含まれるディレクトリ。
/binや/sbinの実行ファイルに必要なライブラリも格納。 - 例:
標準的なCライブラリ(libc.so)、動的リンクのサポートライブラリなど。
6. /media[メディア]
- 役割:
一時的にマウントされる外部ストレージデバイス(USBドライブ、CD-ROMなど)のマウントポイント。 - 例:
/media/usb(USBデバイス)、/media/cdrom(CD-ROMデバイス)など。
7. /mnt (Mount = 「(ファイルシステムやデバイスを)接続する」という意味を持つ英単語) [エムエヌティー]
- 役割:
一時的にシステム管理者がマウントするためのポイントとして利用される。
管理者が手動で外部ストレージや他のファイルシステムをマウントする際に使用。 - 例:
/mnt/disk(手動マウント用の仮ディレクトリ)など。
8. /opt (Optional)[ オプト]
- 役割:
オプションのソフトウェアパッケージが格納されるディレクトリ。
サードパーティのアプリケーションやカスタムソフトウェアを配置するための場所。 - 例:
/opt/myapp(サードパーティのアプリケーション)、/opt/vmware(VMware関連ファイル)など。
9. /sbin (System Binary)[ エスビン]
- 役割:
システム管理者向けの実行可能ファイル(コマンド)が格納されているディレクトリ。
システム起動や管理に必要なコマンドが含まれる。 - 例:
fsck(ファイルシステムチェック)、reboot(再起動)、ifconfig(ネットワーク設定)など。
10. /srv (Service)[サーブ]
- 役割:
サーバー関連のデータやサービスのデータを格納するためのディレクトリ。
WebサーバーやFTPサーバーで提供されるファイルが配置される。 - 例:
/srv/www(Webサーバーの公開ディレクトリ)、/srv/ftp(FTPサーバーのディレクトリ)など。
11. /tmp (Temporary = 一時的な)[テンプ]
- 役割:
一時的なファイルが格納されるディレクトリ。
再起動時に削除されることが一般的。 - 例:
アプリケーションの一時ファイルやセッションデータ。
12. /usr (Unix System Resources) [ユーエスアール]
- 役割:
ユーザー用のプログラムやデータが格納されるディレクトリ。
システムに標準で含まれるソフトウェアやライブラリが配置される。 - サブディレクトリの例:
- /usr/bin(標準的なコマンド)
- /usr/lib(共有ライブラリ)
- /usr/share(共有データ、アイコン、ドキュメントなど)。
13. /var (Variable)[ヴァー]
- 役割:
可変データ(ログファイル、スプールファイル、一時ファイルなど)が格納されるディレクトリ。
容量が増加する可能性のあるデータが保存される。 - 例:
/var/log(ログファイル)、/var/spool(印刷やメールのスプール)など。