Product SiteDocumentation Site

B.2. ファイルシステム階層の構成

B.2.1. ルートディレクトリ

Debian システムはファイルシステム階層標準 (FHS) に沿って構成されています。ファイルシステム階層標準ではそれぞれのディレクトリの目的が定義されています。たとえば、最上位ディレクトリに含まれるディレクトリの目的は以下の通り定義されています。
  • /bin/。これは基本プログラムを格納するディレクトリです。
  • /boot/。これは Linux カーネルおよび起動処理の初期に要求されるその他のファイルを格納するディレクトリです。
  • /dev/。これはデバイスファイルを格納するディレクトリです。
  • /etc/。これは設定ファイルを格納するディレクトリです。
  • /home/。これはユーザの個人ファイルを格納するディレクトリです。
  • /lib/。これは基本ライブラリを格納するディレクトリです。
  • /media/*。これはリムーバブルデバイス (CD-ROM、USB メモリなど) 用のマウントポイントです。
  • /mnt/。これは一時的なマウントポイントです。
  • /opt/。これはサードパーティが提供する追加アプリケーションを格納するディレクトリです。
  • /root/。これは管理者 (root) の個人ファイルを格納するディレクトリです。
  • /run/: volatile runtime data that does not persist across reboots;
  • /sbin/。これはシステムプログラムを格納するディレクトリです。
  • /srv/。これは自システム上で運用されているサーバが使うデータを格納するディレクトリです。
  • /tmp/。これは一時ファイルを格納するディレクトリです。このディレクトリの内容は起動時に削除されます。
  • /usr/。これはアプリケーションを格納するディレクトリです。このディレクトリは binsbinlib のようにさらに細分されます (各ディレクトリの目的はルートディレクトリにこれらのディレクトリが含まれる場合と同じです)。さらに、/usr/share/ にはアーキテクチャに依存しないデータが含まれます。/usr/local/ は管理者が手作業でアプリケーションをインストールする場所として用意されています。こうすることで、パッケージングシステム (dpkg) によって取り扱われるファイルを上書きしなくても済むようになります。
  • /var/。これはデーモンの取り扱う可変データを格納するディレクトリです。これには、ログファイル、キュー、スプール、キャッシュなどが含まれます。
  • /proc//sys/ は Linux カーネルに特有のディレクトリです (FHS で定義されていません)。カーネルはユーザ空間にデータを書き出すためにこれらのディレクトリを使います (この概念に関する説明は第 B.3.4 節「ユーザ空間」第 B.5 節「ユーザ空間」を参照してください)。
Note that many modern distributions, Debian included, are shipping /bin, /sbin and /lib as symlinks to the corresponding directories below /usr so that all programs and libraries are available in a single tree. It makes it easier to protect the integrity of the system files, and to share those system files among multiple containers, etc.

B.2.2. ユーザのホームディレクトリ

ユーザのホームディレクトリの内容は標準化されていませんが、特筆すべき慣習が存在します。1 つ目は、ユーザのホームディレクトリはチルダ (「~」) で表される場合が多いということです。これを知っておくと役に立ちます。なぜなら、コマンドラインインタプリタは自動的にチルダを正しいディレクトリ (通常 /home/user/) に置き換えるからです。
伝統的に、アプリケーション設定ファイルはユーザのホームディレクトリの下に直接保存されている場合が多く、設定ファイルの名前は通常ドットで始まります (たとえば、mutt 電子メールクライアントの設定は ~/.muttrc に保存されます)。通常、ドットで始まるファイル名は表示されない点に注意してください。ls を使ってドットから始まるファイル名を持つファイルを表示するには、-a オプションを付けてください。グラフィカルファイルマネージャでこの種の隠しファイルを表示するには、それぞれのアプリケーションの設定を変更してください。
Some programs also use multiple configuration files organized in one directory (for instance, ~/.ssh/). Some applications also use their directory to store a cache of downloaded data. This means that those directories can end up using a lot of disk space.
These configuration files stored directly in a user's home directory, often collectively referred to as dotfiles, have long proliferated to the point that these directories can be quite cluttered with them. Fortunately, an effort led collectively under the FreeDesktop.org umbrella has resulted in the “XDG Base Directory Specification”, a convention that aims at cleaning up these files and directories. This specification states that configuration files should be stored under ~/.config/, cache files under ~/.cache/, and application data files under ~/.local/ (or subdirectories thereof). This convention is slowly gaining traction, and several applications (especially graphical ones) have started following it.
Graphical desktops usually display the contents of the ~/Desktop/ directory (or whatever the appropriate translation is for systems not configured in English) on the desktop (i.e. what is visible on screen once all applications are closed or iconized).
最後に、電子メールシステムは受信した電子メールを ~/Mail/ ディレクトリに保存する場合があります。