アットウィキロゴ
 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