Linuxのツリー構造とFHSの規格について

FHS規格について

Linuxのファイルシステムはツリー構造を持ち、すべてのディレクトリとファイルがルートディレクトリ(/)から始まります。このツリー構造は、ファイルやディレクトリの配置を標準化し、システム管理を容易にするためにFHS(Filesystem Hierarchy Standard)という規格に従っています。FHSの概要とLinuxのディレクトリ構造について解説します。

FHS(Filesystem Hierarchy Standard)とは

FHSは、LinuxおよびUnix系オペレーティングシステムにおけるファイルシステムのディレクトリ構造を標準化するための規格です。FHSの主な目的は、ソフトウェアやシステム管理者が一貫性のあるファイル配置を使用できるようにすることです。これにより、異なるディストリビューション間での互換性が向上し、システム管理が簡素化されます。

Linuxのディレクトリ構造

1. /(ルートディレクトリ)

ルートディレクトリは、ファイルシステムの最上位に位置し、すべてのファイルとディレクトリの基点となります。

2. /bin

/binディレクトリには、システムの基本的なコマンドが格納されています。これには、起動時やシングルユーザーモードで使用されるコマンドが含まれます。例:ls, cp, mv, rm

3. /sbin

/sbinディレクトリには、システム管理に必要なバイナリファイルが格納されています。主にスーパーユーザー(root)が使用します。例:ifconfig, reboot, shutdown

4. /etc

/etcディレクトリには、システム全体の設定ファイルが格納されています。例:/etc/passwd, /etc/fstab, /etc/hosts

5. /home

/homeディレクトリには、ユーザーのホームディレクトリが格納されています。各ユーザーは、自分のホームディレクトリ内に個別のファイルや設定を保存します。例:/home/user1, /home/user2

6. /var

/varディレクトリには、可変データ(ログファイル、メールスプール、プリントスプールなど)が格納されています。例:/var/log, /var/spool, /var/tmp

7. /usr

/usrディレクトリには、ユーザーが共通で使用するプログラムやライブラリ、ドキュメントが格納されています。/usrは、システム全体で共有されるリードオンリーのデータを格納する場所としても使用されます。例:/usr/bin, /usr/sbin, /usr/lib, /usr/share

8. /lib

/libディレクトリには、システムの基本的な動作に必要な共有ライブラリが格納されています。例:/lib/libc.so.6, /lib/modules

9. /tmp

/tmpディレクトリには、一時的なファイルが格納されます。このディレクトリは、システム再起動時に自動的にクリアされることが多いです。

10. /boot

/bootディレクトリには、システムの起動に必要なファイル(カーネル、初期RAMディスク、ブートローダーの設定ファイルなど)が格納されています。例:/boot/vmlinuz, /boot/initrd.img

11. /dev

/devディレクトリには、デバイスファイル(ハードウェアデバイスへのインターフェース)が格納されています。例:/dev/sda, /dev/tty

12. /mnt, /media

/mntディレクトリと/mediaディレクトリは、一時的にマウントされるファイルシステムのマウントポイントとして使用されます。例:/mnt/cdrom, /media/usb

13. /opt

/optディレクトリには、オプションのソフトウェアパッケージが格納されます。独立したアプリケーションがここにインストールされることが多いです。例:/opt/myapp

まとめ

Linuxのファイルシステムは、FHS(Filesystem Hierarchy Standard)に基づいて構築されており、一貫性のあるディレクトリ構造を提供します。FHSに従うことで、システム管理者やソフトウェアが期待通りの場所にファイルを配置できるため、管理が容易になります。/bin、/etc、/home、/varなどの主要なディレクトリは、それぞれ特定の用途に使用され、システムの安定性と効率性を確保します。Linuxのディレクトリ構造を理解することで、システム管理やトラブルシューティングがスムーズに行えるようになります。