【ランレベル】

ランレベル とは?

最終更新:
💡 OSの「ギアチェンジ」、動作モードに合わせてサービスを切り替える

SysVinitなどで、起動するサービスやプロセスの組み合わせを数字で表す動作モード。数字の意味にはOSやディストリビューションによる違いがあり、systemdでは主にターゲットを使う。

📌 このページのポイント
ランレベル:サービスの動作モード SysVinitの数字による指定 0:停止 1:保守 6:再起動 2〜5で起動するサービスは環境次第 systemdでは名前付きターゲット multi-user.target GUIなしの複数ユーザー用 graphical.target GUI用・multi-userも取り込む 数字との対応や互換機能は環境で確認
数字の意味は環境による。systemdのターゲットは単純な数字の段階とは異なる
ひよこ ひよこ
ランレベルって、OSの性能の段階なの?
ペンギン先生 ペンギン先生
性能の高さではなく、動作モードだよ。SysVinitでは、どのサービスやプロセスを動かすかをランレベルごとに決める。車のギアを切り替えるようなイメージだけれど、数字が大きいほど高性能という意味ではないんだ。
ひよこ ひよこ
0から6までの意味は共通?
ペンギン先生 ペンギン先生
SysVinitには0を停止、6を再起動、1をシングルユーザーの保守用に使う用法があるよ。ただし、2〜5で何を動かすかは環境次第。「3なら文字画面、5ならGUI」と、すべてのUnixやLinuxに当てはめてはいけないんだ。
ひよこ ひよこ
systemdでも数字を選ぶの?
ペンギン先生 ペンギン先生
主に名前付きのターゲットを使うよ。multi-user.targetはGUIなしの複数ユーザー用、graphical.targetはグラフィカルなログイン用で、後者は前者も取り込む。ターゲットは単純な数字の段階より柔軟に、必要なユニットをまとめられるんだ。
ひよこ ひよこ
古いrunlevelコマンドは今でも使える?
ペンギン先生 ペンギン先生
使えるかは環境によるよ。systemdの互換機能では2〜4を同じmulti-user.targetに対応させる例があるし、現在のランレベルが不明になることもある。互換機能の有無は版やビルド設定でも異なるので、対象OSの文書を確認しよう。
ひよこ ひよこ
保守用モードも同じもの?
ペンギン先生 ペンギン先生
systemdのrescue.targetは基本サービスやファイルシステムを用意する保守用モードだよ。emergency.targetはさらに最小限で、同じではない。切り替えるとサービスが止まることもあるから、操作前にその環境の起動設定と復旧方法を確認するんだ。
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「ランレベル」って出てきたら「OSの動作モードを数字で表したもの」と思えればだいたいOK!
📖 おまけ:英語の意味
「runlevel」 = 実行レベル
💬 run(実行)のlevel(段階)で、OSが「どのレベルで動くか」を示す言葉だよ

参考資料

← 用語集にもどる