プロセス制御システム(SysVinit)ランレベル

プロセス制御システム(SysVinit)は、以下の5部に分けて解説しています。

ランレベル

 ランレベルは、OSの動作モードを表す数値またはアルファベットであり、特定のプログラムやサービスを起動または停止する設定を行います。各ランレベルの動作はディストリビューションによって異なる場合があります。/etc/inittabファイルにデフォルトのランレベルが記載され、システム起動時にこのランレベルが適用されます。

デフォルトのランレベル

 ランレベル0とランレベル6は、システムの停止および再起動を表すため、デフォルトのランレベルとしては不適切です。一般的には、マルチユーザーモード(通常はランレベル3または5)がデフォルトのランレベルとして設定されます。

Linuxの一般的なランレベル

ランレベル動作モード説明
0停止システムをシャットダウンします。
1またはS/sシングルユーザーモード最小限のシステムでシングルユーザーが利用します。メンテナンスやトラブルシューティングに使用されます。
2マルチユーザーモード(ネットワークなし)ネットワークを使用しないマルチユーザーモードです。
3マルチユーザーモード(ネットワークあり)ネットワークを使用するマルチユーザーモードです。GUIは起動しません。
4未使用カスタム設定用に使用されます。
5マルチユーザーモード(ネットワークあり、GUIあり)ネットワークを使用するマルチユーザーモードで、GUIが起動します。
6再起動システムを再起動します。
Linuxの一般的なランレベル

runlevelコマンド

 runlevelコマンドは、現在のランレベルと前回のランレベルを表示します。指定されたランレベルに変更することもできます。

【構文】
runlevel [ランレベル]

runlevelコマンドの例と解説

runlevelコマンドは現在のランレベルと直前のランレベルを表示します。これは、システムがどのモードで動作しているかを確認するために使用されます。

例:runlevelコマンドの実行
$ runlevel
N 3
runlevelコマンドの出力の解説
フィールド説明
N前回のランレベルが不明(または起動後の初回)
3現在のランレベルが3
runlevelコマンドの出力の解説

initコマンド

 ランレベルを変更するには、rootユーザー権限でinitコマンドを実行します。このコマンドは、指定されたランレベルに変更します。

【構文】
init ランレベル

initコマンドの例と解説

initコマンドはシステムのランレベルを変更するために使用されます。これにより、システムの動作モードを切り替えることができます。

例:initコマンドの実行

ランレベルを3から5に変更する例

# init 5
initコマンドの解説
コマンド説明
init 5システムのランレベルを5に変更する。ランレベル5は通常、マルチユーザー、ネットワークサービス、X Window Systemを含むフル機能のデスクトップ環境を表します。
initコマンドの解説

まとめ

 ランレベルは、OSの動作モードを決定し、システムがどのプログラムやサービスを起動または停止するかを設定します。一般的なランレベルは0から6まであり、それぞれのランレベルに特定の動作モードが割り当てられています。runlevelコマンドとinitコマンドを使用して、現在のランレベルを確認したり、ランレベルを変更したりすることができます。デフォルトのランレベルは、通常3(テキストモード)または5(GUIモード)に設定されますが、ランレベル0(停止)とランレベル6(再起動)はデフォルトのランレベルとして不適切です。

 SysVinitのランレベル管理におけるrunlevelコマンドとinitコマンドの使用例を以下にまとめます。

コマンド説明
runlevel$ runlevel現在と直前のランレベルを表示。例:N 3(前回のランレベルは不明、現在のランレベルは3)。
init# init 5システムのランレベルを変更。例:ランレベル5に変更し、フル機能のデスクトップ環境を起動。
runlevelコマンドとinitコマンドの使用例

 これらのコマンドを使用することで、システムの動作モードを確認し、必要に応じて変更することができます。