selmertsxの素振り日記

ひたすら日々の素振り内容を書き続けるだけの日記

普通のLinuxプログラミング勉強会 9章 Linuxのディレクトリ構造

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/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