zuntan02のはてなブログ

備忘録的なものです

【メモ】Linuxのディレクトリ構造(FHS)

このプログラムどこに置いたらいいの?みたいな時に手癖でやってたらFHS(Filesystem Hierarchy Standard)理解しろと怒られた気がしたのでちゃんと見直したい。

Wikipediaより抜粋

ディレクト 説明
/ ファイルシステム階層全体の第一階層(ルートディレクトリ)
/bin シングルユーザモード(英語版)で必要となる一般ユーザー向けの基本コマンドの実行ファイル (binaries)。例えばcat、ls、cpなど。
/boot ブートローダー (boot loader) 関連のファイル群。例えば、カーネルや initrd(初期RAMディスク)。
/dev 基本デバイス(device)。例えば、/dev/nullなど。
/etc システム全体に関わる固有設定ファイル群。
/etc/opt /opt/のための設定ファイル群。
/etc/X11 X Window System, version 11 用の設定ファイル群。
/etc/sgml SGML の設定ファイル群。
/etc/xml XML の設定ファイル群。
/home ユーザーの ホームディレクトリ (home directory) 群。セーブファイル、個人用設定など。別パーティションとすることが多い。
/lib /bin/ や /sbin/ にある実行ファイルの基本となるライブラリ (library) 群。
/media CD-ROMなどのリムーバブル媒体 (media) のマウントポイント(FHS-2.3 で追加)
/mnt ファイルシステムの一時マウントポイント (mount)
/opt オプション (option) のアプリケーションソフトウェアパッケージのインストール用
/proc カーネルやプロセス (process) の状態に関する情報を主にテキストで示す仮想ファイルシステム(例えば、実行時間やネットワークなど) 用。procfsのマウントポイント。
/root rootユーザのホームディレクトリ。
/run 実行時の可変データー。FHS3.0より新設。
/sbin システム管理系コマンドの実行ファイル群(例えば、init、ip、mount)。(system binaries)
/srv システムによって提供された (served) サイト固有のデータ
/tmp 一時ファイル置場 (temporary files)。/var/tmp も参照されたい。リブート時に内容が保持されない。
/usr 大部分のマルチユーザ(全ユーザのための)ユーティリティとアプリケーションを格納する。ホスト固有の情報や時間の経過に伴い変化する情報は他の場所に保存される(前者は /etc、後者は /var の下)。共有可能でリードオンリーのデータであるべき。この事は /usr がFHS準拠の様々なホスト間で共有可能であるべき事を意味しており、書き込みができないようにしなければいけない
/usr/bin 一般ユーザ向けだが基本的ではないコマンドの実行ファイル
/usr/include 標準 includeファイル群
/usr/lib /usr/bin/ や /usr/sbin/ にある実行ファイルの基本となるライブラリ (library) 群。
/usr/sbin 基本的でないシステム実行ファイル群。例えば、各種ネットワークサービス用デーモンなど。
/usr/share アーキテクチャに依存しない共有 (shared) データ
/usr/src ソースコード (Source code)。例えば、カーネルソースコードとそのヘッダファイル群など。
/usr/X11R6 X Window System, Version 11 Release 6
/usr/local ホスト固有のローカル (local) データを格納する第三階層。通常、さらにサブディレクトリとして bin/、lib/、share/ などを持つ[29]
/var 可変 (Variable) なファイル群。内容が常に変化するようなファイル群を格納する。例えば、ログ、スプール、一時的電子メールファイルなど。別パーティションとすることもある。
/var/cache アプリケーションのキャッシュデータ。時間のかかるI/Oや計算によって生成されたデータなど。従って再度生成することも可能なので、削除してもデータが失われるわけではない(時間は無駄となる可能性がある)。
/var/lib 状態情報。プログラムの実行によって更新された永続性データなど。例えばデータベース、パッケージングシステムのメタデータなど。
/var/lock ロック(Lock)ファイル群。使用中リソースを保持するファイル。
/var/log ログ(Log)ファイル。各種ログ。
/var/mail ユーザーのメールボックス(mail-box)
/var/run 最近のブート以降の走行中(runing)システムに関する情報。例えば現在ログイン中のユーザー、走行中のデーモンなど。FHS3.0 では /var/run は /run に置き換えられる。システムは後方互換性のために /var/run を提供するか、/var/run から /run へのシンボリックリンクを提供しなければならない。
/var/spool 処理待ち状態のタスクのスプール(spool)。例えばプリントキュー、未読メールなど。
/var/spool/mail 互換のために残された、かつてのユーザーのメールボックス(mail-box)の場所。
/var/tmp 一時ファイル置場(Temporary files)。 /tmp と異なり、リブートしても内容が失われることはない。