FHS標準化
/rootファイルシステムはLinuxディレクトリ階層の中で最上位に位置
/rootが含むディレクトリ:/bin,/sbin,/etc,/dev,/lib
/bin:基本的なコマンドがある(中にあるディレクトリは一般ユーザーでも実行できる)
例:cat,chgrp,chmod,chown,cp,date,dd,df,dmesg,echo,hostname,kill,ln,login,ls,mkdir,more,mount,mv,ps,pwd,rm,rmdir,sed,sh,su,sync,umount,uname,,
/sbin:システム管理に必須なコマンドについて配置されている。この中にあるディレクトリに対しては/rootユーザのみが実行できる
/etc:システムやアプリケーション設定情報やスクリプトファイルについて配置されている
/dev:ハードディスクやDVD_ROMなどのデバイスファイルが配置される。そのデバイスファイルは特殊ファイルでありデバイスに応じたデバイスファイルが必要
/lib:共有ライブラリやカーネルモジューについて配置される。/bin/,/sbinが必要とするライブラリについてはここに置かれる
/media:dvd_romなどのリムーバブルメディアのマウントポイントについてここに置かれる
/mnt:一時的にマウントするファイルシステムのマウントポイントを配置している
/opt:パッケージ管理の仕組みをつかいながらプログラムがインストールされているディレクトリのことでディストリビューションによっては配置がされない
/proc:カーネル内部の情報にアクセスするための仮想的なファイルシステム。このディレクトリ内のファイルについてhファイルのようにみえるだけで実際にはディスク上に存在がしない
/root:スーパユーザrootのホームディレクトリ、/homeファイルシステムがマウントできなくなった場合でもシステムメンテナンスを行えるよう、/homeディレクトリとは別(FHS*ではオプション扱い)
*FHSとは
Linuxにおけるファイルシステム内のレイアウト(File system hierarchy standard:ファイルシステム階層標標準として標準化進められている
/boot:起動に必要な設定、カーネルイメージを配置。起動時にBIOS制限についてを受けないようにするためルートファイルシステムとは別にディスク先頭付近に配置がされることあり
/name:ユーザごとのホームディレクトリ配置。独立したファイルシステムにすることでクォータを設定できたり、保守性について向上させたりできる。FHS*ではオプション扱い
/home:ユーザごとのホームディレクトリが配置される。独立したファイルシステムにすることによりクォータを設定できたり、保守性について向上させたりできる。FHS*ではオプション扱い
/tmp:一時ファイルが置かれる。すべてのユーザが読み書きできる
/var:ログファイル、メールやプリンタのスプール等、頻繁に書き換えられるファイルについてが配置される。/varディレクトリ下にはさらに細分化されており以下のようなディレクトリあり
▶/var/cache
manコマンドで表示するために整備したデータ等一時的なキャッシュファイルについて配置される
▶/var/lock
アプリケーションを排他制御に使うためのロックファイルが配置される
▶/var/log
ログファイルが書き出される。システムのログファイル(messages)
メールシステムのログファイルmaillog(mail.log)がある
▶/var/run
システムの状態について示すファイル配置される。
Pidについて格納されたファイルをみるとPidについて調べることができる
例)httpd.pid fileにはhttpdプロセスのPidについて格納されている
httpd.pidを使いhttpdを再起動する場合に以下のようにする。
#kill -hup ‘cat/var/run/httpd.pid’
▶/var/spool
印刷待ちのデータ(/var/spool/lpd)や予約されたジョブ(/var/spool/at)等
処理待ちのデータが配置される
/usr:各ユーザーが共通して利用するプログラムやライブラリなどが置かれるディレクトリ。/usrディレクトリの下にはさらに細分化されているのは以下のディレクトリ
▶/usr/bin
ユーザが一般的に使うコマンド、緊急時のシステム保守に必須ではないコマンドについてここに配置される
▶/usr/sbin
システム管理コマンドで、緊急時のシステム保守に必須ではないコマンドについてここに配置がされる
▶/usr/lib
プログラムに必要な共有ライブラリについて配置される
▶/usr/local
ローカルシステムで必要とされるコマンドやライブラリドキュメントなどが配置される
▶/usr/share
x86,x86_64といったシステムアーキテクチャに依存しないファイルが配置される
例)/usr/share/manについてはmanコマンドにて扱うマニュアルが配置される
/usr/src
▶/usr/src
Linuxのカーネルソース等ソースコードが配置される