ランレベル

ランレベル（英: Runlevel）とは、UNIX System V 系のinit処理を実装したオペレーティングシステムに見られる動作モードを意味する。一般に 0 から 6 までの7つのランレベルか、0 から 9 までの10のランレベルを使うことが多い。 通常、ランレベル 0 になるとコンピュータは停止し、ランレベル 6 ではリブートされる。それらの中間のランレベル（1 - 5）は、マウントするディスクドライブ、ネットワークサービスを起動するか否かなどで差異がある。低いランレベルは、保守や緊急の事態への対処に使われ、ネットワークサービスを起動しないことが多い。ランレベルの詳細はオペレーティングシステムによって異なるし、システムアドミニストレータによる設定も可能なので、システムによっても異なる。 ランレベルのシステムは、Version 7 Unix で使われていた /etc/rc スクリプトを置き換えたものである。 注1）ほとんどのシステムでランレベル 1 をこの目的に使っている。システム保守のための安全な環境を提供するためのモードである。本来は、コンソール端末だけが動作しスーパーユーザー向けのログインシェルが動作した。ブート処理の変化により、このランレベルの位置づけが変わってきている。 Linuxでは、sysvinitプロジェクトによってランレベルが取り入れられた。Linuxカーネルがブートされると、init プログラムが /etc/inittab ファイルを読み込んで、各ランレベルでの動作を決定する。ユーザーがカーネルのブートパラメータとして指定しない限り、システムはデフォルトのランレベルで動作を開始する。 多くのシステムで、現在のランレベルを以下のようなコマンドで確認できる。 $ runlevel # as root $ who -r # as any user 多くのLinuxディストリビューションでは、標準のランレベルに加えて、次のようなランレベルを定義している。 注2）上記以外のこのランレベルの動作はシステムによって異なる。どのディストリビューションでも少なくとも1つの仮想端末を提供する。ディストリビューションによっては、スーパーユーザー向けログインシェルを起動させ、パスワードの入力を求められる。別のディストリビューションでは、任意のユーザーがログインできるログインシェルを起動させる。 注3）ランレベル2 と 3 が全く同じ場合もある（ネットワーク有のマルチユーザーモード）。 Debian Debian 系の多くのディストリビューションでは、ランレベル 2 から 5 を区別しない。 0 - 停止 1 - シングル 2 から 5 - マルチユーザーモードで、Xディスプレイマネージャも起動 6 - リブート Ubuntu 6.10（Edgy Eft）以降、Upstart を代替として採用しているが、スクリプトは従来通りで、互換ツールによって従来のランレベルをエミュレートしている。 Red Hat Linux レッドハット系のディストリビューションでは、ランレベルは次のようになっている。 0 - 停止 1 - シングルユーザー 2 - 未使用/ユーザー定義可能 3 - マルチユーザー、コンソールログインのみ 4 - 未使用/ユーザー定義可能 5 - ランレベル 3 + Xディスプレイマネージャ起動 6 - リブート どのサービスがどのランレベルで起動するかは、chkconfig ツールで管理できる。 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 0 - 停止 1 - シングル 2 - マルチユーザー、ネットワーク無し 3 - マルチユーザー、ネットワーク＋Xディスプレイマネージャ 4 - ランレベル 3 と同じ 5 - ランレベル 3 と同じ 6 - リブート 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 UNIX System V Release 4 のランレベル定義に従っていない。0 から 9 までのランレベルがあり、0 と 1 は予約されている。2 が通常のマルチユーザーモードで、3 以降はアドミニストレータが定義する。 ^ Debian FAQ on booting ^ SysV Init Runrevels Red Hat Linux 9: Red Hat Linux Reference Guide ^ [1] ^ Initscripts Gentoo Linux x86 Handbook init Runlevel Definition - by The Linux Information Project (LINFO)