システムの起動/停止シーケンスを理解することで、Linuxの仕組みや設定に対する理解も深めることができ、システムの運用保守にも役立つといわれています。それでは、さっそくLinuxの起動シーケンスです。
Linuxの起動シーケンス次に、起動シーケンスに出てきたランレベルです。ランレベルとは、Linuxの動作モードのことで、0から6の7種類あって、そのレベルに従って起動/停止されるサービスが異なります。各ランレベルの意味は、こんな感じになっています。
電源ON
⇩
BIOSがディスクのMBRという先頭ブロックのブートローダーをメモリ上に読み込みます。
⇩
ブートローダーがカーネル(vmlinuz)とイニシャルRAMディスク(initrd)をメモリに読み込みます。
⇩
カーネルが初期化シーケンスを実行し、メモリに読み込まれているinitrdをマウントします。
⇩
カーネルがinitrdを使ってrootファイルシステムをマウントします。
⇩
カーネルがinitプロセスを生成し、起動時のカーネルオプション指定に従ってinit以外のプロセス(/bin/bashなど)を生成します。
⇩
initは起動されるとRun Control Script(/etc/rc.sysinit、/etc/rc)を実行し、/etc/inittabのシステムの各ランレベルの起動サービスの指定に従ってデーモンを起動します。
ランレベルそして、起動/停止されるサービスのスクリプトは、/etc/rc.d/rcレベル.dに格納されています。また、頭文字がS(Start)は起動、K(Kill)は停止を表します。続く2桁の数値は実行の優先順位を表していて、数値の小さいものから順に実行されます。
レベル
0 システム停止(シャットダウン)
1 シングルユーザーモード(rootのみ)
2 ネットワークなしのマルチユーザーモード
3 通常のマルチユーザーモード
4 未使用
5 グラフィカルログインによるマルチユーザーモード
6 システム再起動
サイト構築をする際には、自動起動するサービスを追加するために設定を行うのですが、設定方法が、これまでよく使われていた起動システムであるSysVinit系と新しい起動システムSystemdで違うので、また別の機会に記事にします。
EmoticonEmoticon