inuxの「ランレベル(Runlevel)」とは、システムの動作モードを定義する仕組みです。システムの起動時や動作中にどの機能を有効にするかを決定し、適切なランレベルを設定することで、効率的な運用が可能になります。本記事では、Linuxのランレベルの概念、種類、設定方法について詳しく解説します。
Linuxのランレベルは、システムの動作状態を定義するレベルのことです。各ランレベルには特定の機能が割り当てられており、例えば「GUIを有効にする」「ネットワークを無効にする」といった設定が可能です。
ランレベルを活用することで、以下のようなシナリオに対応できます。
Linuxの伝統的なSysVinitシステムでは、以下のランレベルが定義されています。
ランレベル | 説明 |
---|---|
0 | シャットダウン(システムを停止) |
1 | シングルユーザーモード(管理者用) |
2 | マルチユーザー(ネットワークなし) |
3 | マルチユーザー(ネットワークあり、GUIなし) |
4 | ユーザー定義(一般的に使用されない) |
5 | マルチユーザー(GUIあり) |
6 | 再起動(システムを再起動) |
最近のLinuxディストリビューションでは、SysVinitのランレベルに代わって、systemd
のターゲット(target)が使用されています。systemd
では、従来のランレベルに相当するものが異なる名称で管理されています。
旧ランレベル | systemd ターゲット |
0 | poweroff.target |
1 | rescue.target |
3 | multi-user.target |
5 | graphical.target |
6 | reboot.target |
Linuxで現在のランレベルを確認するには、以下のコマンドを実行します。
runlevel
または、systemd
を使用して確認する場合は次のコマンドを使用します。
systemctl get-default
以下のコマンドを実行することで、現在のセッションのランレベルを変更できます。
init 3 # GUIなしのマルチユーザーモードに変更
または、systemd
を使用する場合は次のコマンドを実行します。
systemctl isolate multi-user.target
次回の起動時から適用されるデフォルトのランレベル(systemd
ではターゲット)を変更するには、以下のコマンドを実行します。
systemctl set-default graphical.target
例えば、サーバー環境でGUIを不要にする場合は、次のように設定します。
systemctl set-default multi-user.target
Linuxのランレベルは、システムの動作モードを決定する重要な要素です。従来のSysVinitシステムでは0〜6のランレベルが定義されていましたが、systemd
が導入された現在では、ターゲット(target)として管理されています。
適切なランレベルやターゲットを設定することで、システムの効率的な運用が可能になります。本記事で紹介したコマンドを活用し、適切な環境設定を行いましょう。