SysV init ランレベルシステムは、ランレベルの初期化をしている時に どのプログラムをinitが起動又は停止をするかを 制御する為の標準プロセスを提供します。SysV initは使用が簡単である ことと、伝統的なBSDスタイルのinit プロセスよりも柔軟性があることで 選択されています。
SysV init用の設定ファイルは、/etc/rc.d/ディレクトリに あります。このディレクトリに中には、rc, rc.local, rc.sysinitが存在し、オプションとして、rc.serial スクリプトも以下に示すディレクトリと共に存在します:
init.d/ rc0.d/ rc1.d/ rc2.d/ rc3.d/ rc4.d/ rc5.d/ rc6.d/ |
init.d/ディレクトリには、サービスの制御時に /sbin/initコマンドによって使用されるスクリプトが 含まれています。それぞれ番号付きのディレクトリは、Red Hat Linuxの元で デフォルトとして設定された 6つのデフォルトランレベルを代表します。
ランレベルとは、状態又はモードというべきもので SysV/etc/rc.d/rc<x>.d/ ディレクトリ内にリストされているサービスにより定義されます。 (<x>はランレベルの数字です)。
SysV initランレベルの背景にある考え方は、各種システムを異なる方法で 使用できるという事実に基づいて展開しています。例えば、サーバは X Window Systemにより増加するシステムリソースの負担なしで、より 効率的に動作します。別の例として、システム管理者は診断作業を実行 するために低いランレベルでシステムを稼働する必要があるかもしれ ません。ランレベル 1でディスク破損の修理をする場合など、誰も 他のユーザーはシステム上で操作は出来ません。
1つのランレベルの特性はinitによってどのサービスを 終了し、どれを開始するかを決定します。例えば、ランレベル 1(シングル ユーザーモード)はネットワークサービスを停止し、ランレベル 3では そのサービスを開始します。ある任意のランレベルで特定のサービスを 停止したり、開始したりするように割り当てることで、initは ユーザーが手動でサービスを開始したり停止したりすることを必要とせずに マシンのモードを素早く変更することができます。
Red Hat Linuxのデフォルトのランレベルは、以下の様に定義されています:
0 — 休止
1 — シングルユーザー テキストモード
2 — 未使用 (ユーザー定義可能)
3 — フルマルチユーザー テキストモード
4 — 未使用 (ユーザー定義可能)
5 — フルマルチユーザー グラフィカルモード( X-ベースの ログイン画面)
6 — 再起動
通常、ユーザーはRed Hat Linux をランレベル 3、又はランレベル 5で実行します。 —両方ともフルマルチユーザーモードです。ユーザーは使用されて いないランレベル 2と4をカスタマイズして特殊なニーズに対応することも できます。
システムのデフォルトランレベルは、/etc/inittabの中に リストしてあります。システムのデフォルトランレベルを確認するには、次の ような行を/etc/inittabの上部で見付けます:
id:5:initdefault: |
上記の例で示されているデフォルトのランレベルは、最初のコロンが表示するように 5となっています。それを変更するには、rootとして/etc/inittabを 編集します。
警告 | |
---|---|
/etc/inittabを編集するときには、注意が必要です。 簡単なタイプミスがシステムをブート不可能にもします。そうなった場合、 ブートディスクを使用するか、シングルユーザーモード、又は レスキューモードでコンピュータを起動してファイルを修理します。 シングルユーザーモードとレスキューモードについての情報はRed Hat Linux カスタマイズガイドの 中にあるレスキューモードの章をお読み下さい。 |
デフォルトランレベルの変更は、ブート時にカーネルへブートローダーに よって渡される引数を変更することで達成できます。ブート時のランレベル変更に 付いての情報は項2.10で御覧下さい。
ランレベルを設定する最良の方法の1つは、initscript ユーティリティを 使用することです。これらのツールは、SysV initディレクトリの階級の中でファイルを保全する タスクを簡潔化するようにデザインされていますので、システム管理者は/etc/rc.d/の サブディレクトリから数多くのシンボリックリンクを直接操作する必要がなくなります。
Red Hat Linux は そのようなユーティリティを 3種類提供します:
/sbin/chkconfig — /sbin/chkconfig ユーティリティは、シンプルな コマンド行ツールで/etc/rc.d/init.dディレクトリ 階級のメンテナンスに使用します。
/sbin/ntsysv — ncurses-ベースの /sbin/ntsysvユーティリティは 対話式のテキストベースインターフェイスを提供します。一部のユーザーは chkconfigよりも簡単に使用出来るでしょう。
サービス設定ツール — グラフィカルなサービス設定ツール (redhat-config-services) プログラムは、ランレベル 設定用の柔軟性のあるGTK2ベースのユーティリティです。
これらのツールに関しての詳細情報にはRed Hat Linux カスタマイズガイドの中の サービスに対するアクセスの制御の章を御覧下さい。