wiki:docs/vl7/cui-guide/service/run-level

Vine Linux ドキュメント / Vine Linux 7.x / CUI ユーザーズガイド / サービスの管理 / ランレベル (Run Level)とは

ランレベル (Run Level)とは

ランレベルとはシステムの状態のことです。Linux では以下のランレベル 0 から 6 まで定義されており、ランレベルを変更することによってシステムの状態を変えることができます。各種サービスはランレベルに応じて起動されます。

ランレベル システムの状態
0システムの停止
1シングルユーザモード
2マルチユーザモード (NFSマウントなし)
3マルチユーザモード (通常 : コンソールログイン)
4未使用
5マルチユーザモード (通常 : ディスプレイマネージャ使用)
6システムの再起動

現在のランレベルを確認するには runlevel コマンドを用います。

$ /sbin/runlevel 
N 5

左側に一つ前のランレベル、右側に現在のランレベルが表示されます。一度も変更していない場合は、一つ前のランレベルのところは N が表示されます。

$ sudo /sbin/telinit 3

ランレベルとして 0 を指定するとシステムの停止(halt)を行えます。また、6 を指定するとシステムの再起動(reboot)を行えます。

何か作業をしている場合は、ランレベルを切り替える前に、必要に応じて保存するなどしてアプリケーションを終了させてください。

たとえば、ランレベル 5 で GNOME上で何か作業をしている時に、ランレベル 3 に切り替えると、GNOME 上のアプリケーションなどは強制終了され、X Window System も終了します。

GNOME上での作業を終えてログアウトした後で、仮想コンソールに移ってroot権限でランレベルを切り替えるとよいでしょう。

なお、ランレベル 3 からランレベル 5 に切り替える場合では、telinit コマンドを実行した後、自動的に gdm のログイン画面に切り替わりますが、仮想コンソールでは telinit コマンドを実行したユーザがログインしたままになっているので、画面を再び仮想コンソールに切り替えてログアウトするなどしてください。

ユーザへの通知など

必要であれば、ランレベルを切り替える前にユーザに通知してください。

w コマンドで、現在ログインしているユーザを調べることができます。また、wall コマンドや write コマンドなどで、ユーザの端末にメッセージを送ることができます。

緊急でない場合は、メールや web で告知しておく方が有効でしょう。

標準のランレベルを設定する

標準のランレベルは、/etc/inittab というテキストファイルで設定されています。

/etc/inittab の 9 行〜 19 行の部分に次のように記述されています。説明のために左端に行番号を付けています。

9         # Default runlevel. The runlevels used by RHS are:
10        #   0 - halt (Do NOT set initdefault to this)
11        #   1 - Single user mode
12        #   2 - Multiuser, without NFS (The same as 3, if you do not have networking)
13        #   3 - Full multiuser mode
14        #   4 - unused
15        #   5 - X11
16        #   6 - reboot (Do NOT set initdefault to this)
17        # 
18        id:5:initdefault:
19        

9行〜16行が、ランレベルごとの説明で、18行目の 数字 5 が標準のランレベルです。

例: 標準のランレベルを 5 から 3 に変更するには

起動しなくなるおそれがありますので、必要な部分以外は書き変えないでください。また、ランレベル 0 や 4 や 6 は 停止、未使用、再起動 なので、設定しないでください。

電源を入れた直後のGRUBブートローダでランレベルを指定することができます。標準ブートローダー GRUB による Vine Linux 7.x の起動一時的な起動オプションの変更を参照してください。

編集するファイルをバックアップしておきます。

$ sudo cp -i /etc/inittab /etc/inittab.original

エディタ jed などでファイルを開きます。

$ sudo jed /etc/inittab

ランレベルを 5 から 3 に変更します。

id:5:initdefault:

#id:5:initdefault:
id:3:initdefault:

のように書き換えます。

行頭に # をつけることでその行を無効にできます。無効にすることで、変更前はランレベルは 5 であったということを残しておきます。新しい設定は次の行に書きます。