初めに
リナックスの起動に関する問題に直面したのをきっかけに起動シーケンス周辺を勉強しているのですが、そこで出会った内容をちょいとメモしたいと思いまして。
Linuxのセットアップファイルが雑誌に添付されるようになったころから、「ファイル構造分かりにくいなー」と思ってはいたのですが、きちんと考えたことはありませんでした。
幾つかのLinuxディストリビューションで共通する構造になってきているとは思っていたのです。
で、偉い人たちがきちんと考えてくれていたようで、タイトルの通りLinuxのディレクトリ構造はFHS(Filesystem Hierarchy Standard)つまり「ファイルシステム階層構造標準」としてまとめられている様子。
現在はFHSバージョン3.0。2015年に策定された様です。
とはいえ、レッドハット社のサイトを見てみると独自拡張しているとの文言もあり、今後の拡張や変更も出てくる様に思います。
という訳で、以下に抜粋した内容は当然現状という事になります。
FHS V3.0 抜粋
| パス | 内容 |
|---|---|
| / | ルートディレクトリ |
| /bin | 一般ユーザー向けの基本コマンド |
| /boot | システム起動時のファイル |
| /dev | 実デバイス、仮想デバイス |
| /etc | システム全体の設定ファイル |
| /etc/opt | /opt/のための設定ファイル群。 |
| /etc/X11 | X Window用設定ファイル |
| /home | ユーザーのホームディレクトリ |
| /lib | 実行ファイルのライブラリ |
| /media | リムーバブルメディアのマウントポイント |
| /mnt | ファイルシステムの一時マウントポイント |
| /opt | アプリケーションソフトのインストール先 |
| /proc | カーネル、プロセスに関する情報 |
| /root | rootユーザのホームディレクトリ |
| /sbin | システム管理に不可欠の実行ファイル |
| /srv | Webに公開するデータ |
| /tmp | 一時ファイル |
| /usr | 一般マルチユーザのユーティリティとアプリケーションを格納 |
| /usr/bin | 一般ユーザ向けだが基本的ではないコマンドの実行ファイル |
| /usr/include | includeファイル |
| /usr/lib | /usr/bin/ や /usr/sbin/ のライブラリ |
| /usr/sbin | 基本的でない(/sbin にない)システム実行ファイル |
| /usr/share | アーキテクチャに依存しない共有データ(???) |
| /usr/src | ソースコード |
| /usr/X11R6 | X Window |
| /usr/local | ローカルデータを格納する。サブディレクトリとして /usr と似た構造を持つ |
| /var | 可変ファイル。容量が常に変化するようなファイルを格納 |
| /var/cache | アプリケーションのキャッシュデータ。 |
| /var/log | ログファイル |
| /var/mail | メールボックス |
| /var/spool | 処理待ち状態のタスクのスプール。印刷待ちなど。 |
| /var/tmp | 一時ファイル。再起動しても削除されない。 |
終わりに
WikiとRedHat社の内容をコピペになり過ぎないよう配慮しつつ。
リンク
・Wikipedia
・RedHat FHSの概要
・
・