ランレベルとは
ランレベル(Runlevel)とは、
UNIX System V系のinitプロセスを採用する
オペレーティングシステムにおける動作モードを指します。通常、0から6までの7つ、または0から9までの10のランレベルが用いられます。これらのランレベルは、システムの状態や提供するサービスを定義し、システムの起動、停止、
再起動、および特定のサービスを有効または無効にするために利用されます。
ランレベルの概要
ランレベル 0: システムの停止を意味します。このランレベルに移行すると、コンピュータはシャットダウンします。
ランレベル 6: システムの
再起動を意味します。このランレベルに移行すると、コンピュータは
再起動します。
ランレベル 1-5: 中間のランレベルは、マウントするディスクドライブ、ネットワークサービスの起動の有無など、システムの状態によって異なります。低いランレベルは、システムの保守や緊急事態への対応に使用され、ネットワークサービスは起動しないことが多いです。
ランレベルの詳細は、
オペレーティングシステムによって異なり、システム管理者によるカスタマイズが可能です。
ランレベルの歴史
ランレベルのシステムは、
Version 7 Unixで用いられていた`/etc/rc`スクリプトを置き換えるものとして導入されました。
Linuxでは、sysvinitプロジェクトによってランレベルが採用されました。
Linuxカーネルが起動すると、initプログラムは`/etc/inittab`ファイルを読み込み、各ランレベルでの動作を決定します。システムは、デフォルトのランレベルで起動しますが、カーネル
ブートパラメータで指定することも可能です。
ランレベルの確認
現在のランレベルは、以下のコマンドで確認できます。
bash
$ runlevel # root権限で実行
$ who -r # 一般ユーザーで実行可能
Linuxディストリビューションごとのランレベル
多くの
Linuxディストリビューションでは、標準のランレベルに加えて、独自のランレベルを定義しています。
Debian系ディストリビューション
Debian系の多くのディストリビューションでは、ランレベル2から5を区別しません。
0: 停止
1: シングルユーザーモード
2-5: マルチユーザーモード(Xディスプレイマネージャも起動)
6: 再起動
Ubuntu
Ubuntu 6.10以降では、Upstartを代替として採用していますが、従来のスクリプトも互換ツールによってエミュレートされています。
Red Hat系ディストリビューション
Red Hat系のディストリビューションでは、ランレベルは以下のようになっています。
0: 停止
1: シングルユーザーモード
2: 未使用(ユーザー定義可能)
3: マルチユーザーモード(コンソールログインのみ)
4: 未使用(ユーザー定義可能)
5: ランレベル3 +
Xディスプレイマネージャ起動
6: 再起動
サービスがどのランレベルで起動するかは、`chkconfig`ツールで管理できます。
SUSE Linux
SUSE Linuxでは、Red Hatとほぼ同じ設定が用いられています。
0: 停止
1: シングルユーザーモード
2: マルチユーザーモード(ネットワークなし)
3: マルチユーザーモード(ネットワークあり、Xディスプレイマネージャなし)
4: 未使用(ユーザー定義可能)
5: ランレベル3 + Xディスプレイマネージャ起動
6: 再起動
Slackware
Slackwareでは、ランレベル1を保守用とし、ランレベル2と3は同じ設定で、ランレベル4では
X Window Systemも起動します。
0: 停止
1: シングルユーザーモード
2: マルチユーザーモード(Xディスプレイマネージャなし)
3: マルチユーザーモード(
Xディスプレイマネージャなし)
4: マルチユーザーモード(Xディスプレイマネージャあり)
5: 未使用(ユーザー定義可能)
6: 再起動
Gentoo [[Linux]]
Gentoo [[Linux]]では、以下のランレベルが定義されています。
0: 停止
1: シングルユーザーモード
2: マルチユーザーモード(ネットワークなし)
3: マルチユーザーモード(ネットワークあり + Xディスプレイマネージャ)
4: ランレベル3と同じ
5: ランレベル3と同じ
6: 再起動
UNIXにおけるランレベル
UNIX System V Releases 3および4
0: シャットダウンを実行し、ハードウェアが対応していれば電源を切ります。コンソールからのみ実行可能です。
1: シングルユーザーモード。root以外のファイルシステムはマウントされず、コンソールプロセス以外のプロセスは終了します。
2: マルチユーザーモード
3: マルチユーザーモード + RFS (Release 4ではNFSも) ファイルシステムをエクスポート
4: マルチユーザーモード (ユーザー定義)
5: オペレーティングシステムを停止し、ファームウェアに移行
6: システムを停止し、デフォルトのランレベルで再起動
s, S: ランレベル1と同じですが、現在の端末がコンソールとなります。
Solaris
0: オペレーティングシステムを停止。SPARCの場合はOpenBootプロンプトに移行します。
S: シングルユーザーモード、rootファイルシステムのみマウント(リードオンリー)
1: シングルユーザーモード、全ローカルファイルシステムをマウント(リード/ライト)
2: マルチユーザーモード、ほとんどのデーモンを起動
3: マルチユーザーモード、ランレベル2の動作に加え、ファイルシステムのエクスポートとその他のネットワークサービスを起動
4: 予備のマルチユーザーモード (ユーザー定義)
5: シャットダウンし、ハードウェアがサポートしていれば電源を切ります。
6: リ
ブート
HP-UX
0: システム停止
S: シングルユーザーモード、コンソールのみ起動、rootファイルシステムのみをマウント(リードオンリー)
s: シングルユーザーモード、Sとほぼ同じだが、現在の端末がコンソールとなる。
1: シングルユーザーモード、全ローカルファイルシステムをマウント(リード/ライト)
2: マルチユーザーモード、ほとんどのデーモンとCommon Desktop Environmentを起動
3: マルチユーザーモード、2に加えてNFSのエクスポートを行う。
4: マルチユーザーモード、CDEではなくVUEを起動
5: ユーザー定義
*
6: ユーザー定義
AIX
AIXでは、
UNIX System V Release 4のランレベル定義に従っておらず、0から9までのランレベルがあり、0と1は予約されています。2が通常のマルチユーザーモードで、3以降は管理者が定義します。
まとめ
ランレベルは、システムの動作モードを定義し、システム管理者がシステムを効率的に管理するための重要な概念です。各ディストリビューションや
オペレーティングシステムによってランレベルの定義は異なるため、それぞれの環境に合わせて適切なランレベルを使用する必要があります。