Initランレベル

さまざまなランレベルで各種サービスを運用することの背景にある考え方は、各種システムを異なる方法で使用できるという事実に基づいて展開しています。システムが特定の状態、つまり、複数のユーザーに対応することやネットワーキングが使用できる状態にあるなどのモードになるまで使用できないサービスがあります。

ランレベル1でディスク破壊問題を修正するのでシステム上に他のどのユーザーもいられないようにしたい場合や、Xセッションを実行せずにシステムをランレベル3のままにしたい場合など、システムを低いモードで操作したいときがあります。このような場合、高いシステムモードに依存するサービスを実行することが無意味なのは、サービスがどのような方法でも機能しないからです。特定のランレベルに達したときに起動するように各サービスをあらかじめ割り当てておくことで、整然とした起動プロセスを保証し、どのサービスを手動で起動、あるいは停止するかを意識せずにマシンの動作モードをすばやく変更できます。

一般に、Red Hat Linuxはランレベル3またはランレベル5、つまりフルマルチユーザーモードで動作します。Red Hat Linuxでは以下のランレベルが定義されています。

  • 0 —休止

  • 1 —シングルユーザーモード

  • 2 —未使用(ユーザー定義可能)

  • 3 —フルマルチユーザーモード

  • 4 —未使用(ユーザー定義可能)

  • 5 —フルマルチユーザーモード(Xベースログイン画面を持つ)

  • 6 —再起動

システムが起動、停止するときに使われるデフォルトのランレベルの値は、/etc/inittabで設定されています。/etc/inittabの詳細については、SysV Initを参照してください。

ランレベル2、4などの設定は自由に行ってください。多くのユーザーはこれらのランレベルをユーザーにとって最も都合のよいように設定する一方で、標準のランレベル3、5などはそのままにしています。これにより、標準のランレベルの通常の機能セットに影響を与えることなく独自の設定環境を自由に使用することができます。

正しくない/etc/inittabのためにマシンが起動しないとか、破壊された/etc/passwdがあるためにログインできない(あるいは単にパスワードを忘れた)状態にマシンがなった場合、シングルユーザーモードで起動します。

LILOを使用している場合には、LILO boot:プロンプトでlinux singleと入力してシングルユーザーモードで起動します。

ブートローダーとしてGRUBを使用している場合には、次のステップを使用してシングルユーザーモードに入ることができます。

最小限のシステムが起動し、コマンドシェルが表示されます。ここで、いろいろと修正を行えます。

このようにならない場合には、LILO boot:プロンプトでlinux init=/bin/bashと入力して起動する必要があります。これにより、シェルプロンプトが表示されます。ルートファイルシステム以外のどのファイルシステムもマウントされていないこと、さらにルートファイルシステムは読取専用モードでマウントされていることに注意してください。ルートファイルシステムを上書きモード(たとえば、壊れた/etc/inittabを編集できるようにするために)でマウントするには、次のようにします。

mount -n /proc
mount -o rw,remount /

Initscriptユーティリティ

/sbinの中のchkconfigユーティリティには、/etc/rc.d/init.dディレクトリ階層を保守するためのコマンドラインツールがあります。このユーティリティは、システム管理者が/etc/rc.dの下の多数のシンボリックリンクを直接処理する必要のないようにします。

また、テキストベースのインターフェイスを提供するntsysvユーティリティがありますが、このインターフェイスはchkconfigのコマンドラインインターフェイスより簡単です。

グラフィカルインターフェイスを使用したい場合には、serviceconfプログラムを使用します。

これらのユーティリティはともに、rootとして実行しなければいけません。

これらのツールの詳細については、オフィシャル Red Hat Linux カスタマイズガイドサービスアクセス制御章を参照してください。