UNIX系統のOSは、オリジナルであるSystem 7の
ディレクトリ構成をベースに、時代の要請を取り入れながら徐々に変わってきました。そのため、さまざまなシステムで似たり寄ったりの構成になっていますが、やはり細かい違いはあります。これを統一すべく策定されたのがFilesystem Hierarchy Standard(FHS)で、2001年8月時点ではバージョン2.2がリリースされています(
http://www.pathname.com/fhs/)。(編注)
編注:FHS 2.2の正式版がリリースされたのは2001年3月24日。ちなみに、2001年6月27日にはLSB(Linux Standard Base)のバージョン1.0がリリースされた。LSBは、Free Standards Groupを中心に主要ディストリビュータを加えて策定されたLinux標準仕様。FHSはLSBの一部であり、FHS 2.2がLSB 1.0におけるディレクトリ構成の定義を担っている。
Linux Standard Base:
http://www.linuxbase.org/
FHSはディレクトリ構成を規定し、/binや/sbinにはどんなコマンドがあるべきかまで記述してあります。有力なディストリビュータが協力しているので、今後はFHSに基づいたディレクトリ構成がメジャーになっていくと思われます。
それでは、FHS 2.2で規定されたディレクトリ構成を見ていきましょう(図1)。ただし、/etc、/usr、/varなどはさらに複雑な下位ディレクトリ構成を持っています。各ディレクトリ下のサブディレクトリについては、次回に解説します。
/
ルートディレクトリ
├
/bin
基本コマンド
├
/boot
起動に必要なファイル
├
/dev
デバイスファイル
├
/etc
設定ファイル
├
/home(オプション)
ユーザーのホームディレクトリ
├
/lib
共有ライブラリ
├
/lib<qual>(オプション)
├
/mnt
一時的なマウントポイント
├
/opt
追加アプリケーション
├
/proc(Linux固有)
プロセス情報など
├
/root(オプション)
root用ホームディレクトリ
├
/sbin
システム管理用コマンドなど
├
/tmp
一時的なファイル
├
/usr
各種プログラムなど
└
/var
変更されるデータ
図1 FHS 2.2で規定されたディレクトリ構成。特に注記のないものは「必須」に指定されている
比較対象として、最もメジャーなディストリビューションであるRed Hat Linux 7.1(図2)とち密かつ膨大なパッケージ数を誇るDebian GNU/Linux 2.2(図3)の2つを挙げました。それぞれ、微妙に構成が異なっていることが分かります。
/
/
├ /bin
├ /bin
├ /boot
├ /boot
├ /dev
├ /cdrom
├ /etc
├ /dev
├ /home
├ /etc
├ /lib
├ /floppy
├ /lost+found
├ /home
├ /misc
├ /initrd
├ /mnt
├ /lib
├ /opt
├ lock(ファイル)
├ /proc
├ /lost+found
├ /root
├ /mnt
├ /sbin
├ /proc
├ /tmp
├ /root
├ /usr
├ /sbin
└ /var
├ /tmp
├ /usr
├ /var
├ vmlinuz(ファイル)
└ vmlinuz.old(ファイル)
図2 Red Hat Linux 7.1のルートディレクトリにあるディレクトリ
図3 Debian GNU/Linux 2.2のルートディレクトリにあるファイルとディレクトリ
もう1つ、余談になりますがSolarisのディレクトリ構成も挙げておきます(図4)。同じUNIX系OS(Solarisはズバリ「UNIX」ですが)といっても、ディレクトリ構造はLinuxと異なる点が多いことに気付くでしょう。
/
ルートディレクトリ
├
/dev
デバイスファイルへのリンク
├
/device
デバイスファイル
├
/etc
設定ファイル
├
/export
NFS用共有ディレクトリ
├
/kernel
カーネルなど
├
/mnt
一時的なマウントポイント
├
/net
オートマウント用マウントポイント
├
/opt
アプリケーションインストール用
├
/platform
アーキテクチャ依存プログラム
├
/proc
プロセスファイルシステム
├
/sbin
システム管理用コマンドなど
├
/tmp
一時的なファイル
├
/vol
ボリュームマネージャ用
├
/usr
各種プログラムなど
|
├
bin/
基本コマンド
|
└
lib/
各種ライブラリ
├
/var
変更されるデータ
└
/xfn
FNS用
図4 (参考)Solarisのディレクトリ構成。binとlibが/usr下にあるほか、各所でLinuxと異なることが分かる
MacOSX の場合,FreeBSD 系とはいえディレクトリ構成が全然違う。どうするべきか?
普通は/usr/local/bin 辺りらしいが,普通のMaoOSX のファイル操作が出来ない領域におくのはめんどくさい>とりあえずユーザー直下にディレクトリをおくことにする。(まあ、単一ユーザーでしか使わないだろう。)
最終更新:2007年01月19日 05:31