【Linux】FHSとは

 FHS(Filesystem Hierarchy Standard)は、LinuxやUNIX系のオペレーティングシステムで使用されるファイルシステムの階層構造を規定する標準です。FHSは、システムの構造やデータの配置に関する一貫したガイドラインを提供し、異なるディストリビューション間での互換性を確保します。

FHSの代表的なディレクトリ

以下に、FHSの代表的なディレクトリとそれに格納されるデータを表にまとめます。

ディレクトリ説明格納されるデータの例
/binユーザー向けの基本的なコマンドとユーティリティが配置される。ls、cp、mv、catなどの基本的なコマンド
/bootシステムのブートローダーが格納される。カーネルイメージ、ブートローダー設定ファイルなど
/devデバイスファイルが配置される。デバイスファイル(/dev/sda、/dev/tty、/dev/null など)
/etcシステムの設定ファイルが配置される。ネットワーク設定、ユーザー設定、サービスの設定など
/homeユーザーのホームディレクトリが配置される。各ユーザーのホームディレクトリ
/lib共有ライブラリが配置される。システムで使用される共有ライブラリ
/mediaリムーバブルデバイス(USBフラッシュドライブ、CD-ROMなど)がマウントされる。リムーバブルデバイスのマウントポイント
/mnt一時的にファイルシステムをマウントするためのディレクトリ。外部デバイスやネットワークファイルシステムのマウントポイント
/optオプションのアプリケーションソフトウェアが配置される。追加のアプリケーションソフトウェアなど
/procカーネルとプロセス情報が提供される仮想ファイルシステム。システムのカーネルおよびプロセス情報
/rootルートユーザーのホームディレクトリが配置される。ルートユーザーのホームディレクトリ
/sbinシステム管理用のコマンドが配置される。システム管理用のコマンド(例: ifconfig、fdiskなど)
/srvサーバーのデータが格納される。サーバーアプリケーション用のデータ
/tmp一時ファイルが配置される。一時ファイルや一時的なデータ
/usrシステム共通のファイルやプログラムが配置される。アプリケーション、ライブラリ、ドキュメント、シェアデータなど
/var可変のデータが配置される。ログファイル、メール、データベースファイルなど
FHSの代表的なディレクトリ

 これらのディレクトリとその内容は、Linuxシステムの標準的な配置を提供し、システムの管理や運用を容易にします。

/usrディレクトリ

 /usrディレクトリは、システム共通のファイルやプログラムが配置される場所です。通常、システム全体のユーザーレベルのソフトウェアやリソースがここに置かれます。

 ユーザーがインストールするアプリケーションやパッケージも一般的にこのディレクトリに配置されます。一般ユーザーは、このディレクトリ内のファイルやディレクトリにアクセスできます。

/usr以下の代表的なディレクトリと格納されるデータ

ディレクトリ説明格納されるデータの例
/usr/binシステム全体で使用可能な一般的なバイナリ実行ファイルが配置される。ls、cp、mv、catなどの基本的なコマンド
/usr/sbinシステム管理用のコマンドが配置される。システム管理用のコマンド(例: ifconfig、fdiskなど)
/usr/libシステムで使用される共有ライブラリが配置される。システムで使用される共有ライブラリ
/usr/includeヘッダーファイルが配置される。C/C++のヘッダーファイル
/usr/share共有データやリソースが配置される。アプリケーションの共有データ、ドキュメント、ロケールデータなど
/usr/localシステムパッケージとは独立したローカルにインストールされたアプリケーションが配置される。ユーザーが独自にインストールしたアプリケーションなど
/usr以下の代表的なディレクトリ

 これらのディレクトリは、システムの正常な運用に不可欠であり、システム上で提供される多くのサービスやアプリケーションの基盤となっています。

/varディレクトリ

 /varディレクトリは、可変のデータが配置される場所です。システムの実行中に変更されるデータや、システムの正常な運用に不可欠なデータがここに置かれます。主にログファイルやキャッシュ、一時ファイル、データベースファイルなどが/varディレクトリ内に格納されます。

/var以下の代表的なディレクトリと格納されるデータ

ディレクトリ説明格納されるデータの例
/var/logシステムやアプリケーションのログファイルが配置される。syslog、auth、messagesなどのログファイル
/var/cacheアプリケーションのキャッシュファイルが配置される。パッケージマネージャーのパッケージキャッシュ、ブラウザのキャッシュなど
/var/tmp一時ファイルが配置される。アプリケーションやシステムが一時的に使用するファイル
/var/spoolジョブキューやプリンターキューなど、待ち行列用のファイルが配置される。メールキュー、プリンターキューなどの待ち行列ファイル
/var/libアプリケーションのデータファイルが配置される。データベースファイル、アプリケーションの設定ファイルなど
/var/wwwウェブサーバーのデフォルトのドキュメントルートが配置される。ウェブサイトのHTML、画像、スクリプトファイルなど
/var以下の代表的なディレクトリ

まとめ

 これらのディレクトリは、システムの正常な運用やセキュリティを確保するために重要なデータを保持しています。特にログファイルは、システムのトラブルシューティングや監視、セキュリティの確保などに重要な情報を提供します。