9.1 基本的な構造
ディレクトリツリーの標準規格であるFHS(The Filesystem Hierarchy Standard)に基づいて説明する
- /: ルートディレクトリ
- /bin: ブートするときに必要なコマンド (bash, ps, cp)
- /sbin: ブート時に必要な管理者用コマンド (mount, reboot, ifconfig)
- /lib, /lib64: ブート時に必要なライブラリ (libc.so.6とか)
9.2 /usrディレクトリ
基本的に複数のマシンで同じ環境を利用したケースがある。 そのときはNFSを使って、環境がインストールされているディレクトリをマウントする。
- /usr/bin: ブート時に必要とされない一般ユーザー向けのコマンド。最近は区別しないこともある (ruby,perl)
- /usr/sbin: ブート時に必要とされない管理者用コマンド (lsof)
- /usr/src: システムで使っているコマンドのソースコード (Linuxカーネルのソースコードなど)
- /usr/include: カーネルのヘッダファイルが置かれてる
- /usr/share: アーキテクチャに依存しない、共有可能なファイルを置く。manやinfoなど
- /usr/local: 各システム管理者が利用するディレクトリ. ディストリビューションはここに書き込むべきではない
/usr/local/${package_name} にすると、管理には楽だがPATHを通すのが手間になる。
9.3 /varディレクトリ
/varは頻繁に書き換えられるファイルを置く。 /var/logとかがそれにあたる。
9.4 ルート直下の重要なディレクトリ
- /etc: passwdやらmy.cnfやら、各マシン毎に必要な設定ファイルが置かれている
- /dev: デバイスファイルが置かれている。
- /proc: プロセスファイルシステム(プロセスをファイルシステム上に表現する仕掛け)がマウントされる。
- /boot: Linuxカーネルのプログラム置き場
- /tmp: 一時ファイル置き場。リブートしたら消える
$ sudo cat /proc/1/status Name: init Umask: 0022 State: S (sleeping) Tgid: 1 Ngid: 0 Pid: 1 PPid: 0
$ file /boot/vmlinuz-4.9.77-31.58.amzn1.x86_64 /boot/vmlinuz-4.9.77-31.58.amzn1.x86_64: Linux kernel x86 boot executable bzImage, version 4.9.77-31.58.amzn1.x86_64 (mockbuild@gobi-build-64011) #1 SMP T, RO-rootFS, swap_dev 0x4, Normal VGA