ランレベルとは(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でしかログインできません。サーバーにトラブルが起きた場合、コンソールでのトラブル対応時に利用する動作モードです。
ランレベル2NFSマウントなしのマルチユーザーモードです。
ランレベル3X Windows以外のデーモンのほとんどを起動する動作モードです。Webサーバーなどはランレベル3で動作しています。
ランレベル5X 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では、ランレベルを分けて用途によって動作モードを切り分けてるんですね。以上で、ランレベルの解説は終了です。

TIPS の人気記事

  1. ランレベルとは(chkconfig)

関連記事(一部広告含む)