ランレベルとは(chkconfig)
当ページのリンクには広告が含まれています。
スポンサーリンク
Linuxのランレベルについて解説します。
ランレベル
chkconfigコマンドを実行すると各種デーモンと0から6の数字(横にon/off)が表示されます。
# chkconfig ajaxterm 0:off 1:off 2:on 3:on 4:on 5:on 6:off crond 0:off 1:off 2:on 3:on 4:on 5:on 6:off httpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off ・・・ 中略 ・・・ sshd 0:off 1:off 2:on 3:on 4:on 5:on 6:off xinetd 0:off 1:off 2:off 3:on 4:on 5:on 6:off
この0から6の数字は、ランレベル(Runlevel)と呼ばれ、Linux OSの動作モードを表します。
0:システムの停止 1:シングルユーザーモード、ネットワーク無し 2:マルチユーザーモード(NFSマウントなし) 3:マルチユーザーモード(コンソール)、ネットワーク有り 4:未使用 5:マルチユーザーモード(X Windows)、ネットワーク有り 6:システム再起動
ランレベル0 | システムが停止した状態。ランレベルを0にするということは、システムのシャットダウンをするということ同じ意味です。 |
ランレベル1 | シングルユーザーモード、いわゆるセーフモードです。ネットワークとデーモンは起動せず、rootでしかログインできません。サーバーにトラブルが起きた場合、コンソールでのトラブル対応時に利用する動作モードです。 |
ランレベル2 | NFSマウントなしのマルチユーザーモードです。 |
ランレベル3 | X Windows以外のデーモンのほとんどを起動する動作モードです。Webサーバーなどはランレベル3で動作しています。 |
ランレベル5 | X Windowsのデーモンも起動するので、Linuxをデスクトップマシンとして利用する場合やX Windowsを利用するサーバーはランレベル5で動作しています。 |
ランレベル6 | システム再起動です。reboot時にはランレベルが6になります。 |
OSを起動すると/etc/inittabファイルに記載されているランレベルで起動します。以下の例では、ランレベル3で起動します。
# cat /etc/inittab ・・・ 中略 ・・・ id:3:initdefault:
/etc/inittab
/etc/inittabで指定されたランレベルは、/etc/init/rc.confに読み込まれ、ランレベルに応じたディレクトリ/etc/rc[0-6].d/以下のスクリプトを実行します。ランレベル3の例。
# /etc/rc3.d/ K15nginx K50snmpd K87rpcbind S10network S55sshd S84smadmd K30sendmail K50snmptrapd K89rdisc S10vzquota S56xinetd S85httpd K35nmb K74nscd S08ip6tables S11portreserve S64mysqld S90crond K35smb K75netfs S08iptables S12rsyslog S65saslauthd S99ajaxterm K50netconsole K75quota_nld S08modules_dep S22messagebus S84serversman S99local
ファイル名「S」+「2桁の数値」と「K」+「2桁の数字」があります。OS起動時に「S」は実行するファイル、「K」は実行しないファイルです。この「S」と「K」はchkconfigコマンド実行結果の3:onと3:offに対応しています。実際にみてみましょう。
ckconfigで確認したhttpdはランレベル0・1・6がoff、2・3・4がonです。grepコマンドの詳細はこちら。
# chkconfig | grep httpd httpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
ディレクトリ/etc/rc[0-6].d/以下をみてみると……。対応していることがわかります。
# /etc/rc0.d/K15httpd # /etc/rc1.d/K15httpd # /etc/rc2.d/S85httpd # /etc/rc3.d/S85httpd # /etc/rc4.d/S85httpd # /etc/rc5.d/S85httpd # /etc/rc6.d/K15httpd
「2桁の数値」は優先順位を表し、数字の小さいものから順にスクリプトが実行されます。
Linuxでは、ランレベルを分けて用途によって動作モードを切り分けてるんですね。以上で、ランレベルの解説は終了です。