徹底比較!! Red Hat vs SUSE 4

システム起動スクリプトとランレベルの比較

システム起動スクリプトカーネルが起動した後は、まず最初に"/sbin/init"が実行されます。"/sbin/init"は、"/etc/inittab"の設定に 従って各種プロセスを起動させます。このように、システム起動時に自動的に起動されるスクリプトがシステム起動スクリプトであり、rcスクリプト

原田 真

2006年2月14日 20:00

システム起動スクリプト

カーネルが起動した後は、まず最初に"/sbin/init"が実行されます。"/sbin/init"は、"/etc/inittab"の設定に 従って各種プロセスを起動させます。このように、システム起動時に自動的に起動されるスクリプトがシステム起動スクリプトであり、rcスクリプトや initスクリプトともいわれます。

起動スクリプトだけではなく、デーモン起動スクリプトもrcスクリプトやinitスクリプトといわれる場合があり、混乱のもととなっています。その ため本連載では、すべてのランレベルで共通して必要な起動スクリプトを「システム起動スクリプト」と呼び、各ランレベルごとで自動的に実行される起動スク リプトや、システム起動後にユーザが手動で実行する起動スクリプトのことを、「デーモン起動スクリプト」と呼ぶことにします。

これらの各種起動スクリプトが配置されるディレクトリは、RHEL4とSLES9で異なります。これは、運用時に混乱する大きな原因となりますので、よく理解する必要があります。


  RHEL4 SLES9
/etc/init.d/ デーモン起動スクリプト(手動)
(/etc/rc.d/init.d/へのリンク)
システム起動スクリプト
デーモン起動スクリプト(手動)
(ディレクトリ実体)
/etc/init.d/rc[0-6].d/ (存在しません) デーモン起動スクリプト(ランレベルごと)
(ディレクトリ実体)
/etc/rc.d/ システム起動スクリプト システム起動スクリプト
デーモン起動スクリプト(手動)
(/etc/init.d/へのリンク)
/etc/rc.d/init.d/
(ディレクトリ実体)
(存在しません)  
/etc/rc.d/rc[0-6].d/ デーモン起動スクリプト(ランレベルごと) デーモン起動スクリプト(ランレベルごと)
(/etc/init.d/rc[0-6].d/へのリンク)
表1:各ディレクトリに配置される起動スクリプト

"/sbin/init"が実行されたあとは、すべてのランレベルに共通して以下のスクリプトが最初に起動されます。


  RHEL4 SLES9
最初の起動スクリプト /etc/rc.d/rc.sysinit /etc/init.d/boot
表2:"/sbin/init"が実行されたあとに最初に起動されるスクリプト

SLES9では"/etc/init.d/boot"を実行すると、さらに"/etc/init.d/boot.d/"ディレクトリ以下にあるファイル名"Sxxboot.xxx"のスクリプトが続いて起動します。

また、以下のスクリプトもランレベルにかかわらず、システム起動時に毎回必ず起動します。ユーザが起動時に実行させるコマンドなどはこのスクリプトに登録するのが一般的です。


  RHEL4 SLES9
ランレベル共通実行スクリプト /etc/rc.d/rc.local /etc/init.d/boot.local
表3:表2以外にシステム起動時に毎回必ず起動されるスクリプト

ランレベル

システム起動スクリプトが実装された後は、各ランレベルに対応した処理が実行されます。ここでまず、ランレベルについて解説します。

ランレベルとは、オペレーティングシステムの起動状態のモードをあらわす概念です。一般的なLinuxディストリビューションでは、0から6までの7つのシステム状態がランレベルとして定義されています。


ランレベル システム状態
0 システム停止
1 シングルユーザモード
2 ローカルマルチユーザモード(NFSなどはなし)
3 フルマルチユーザモード(テキストコンソール)
4 未使用
5 フルマルチユーザモード(グラフィカル環境)
6 システム再起動
表4:ランレベルの定義

RHEL4とSLES9は表4の7つのランレベルを持っています。ランレベル0および6はシステムが稼働している状態ではないので、システム起動時 に移行するランレベルは1から5のいずれかになります。通常はランレベル3かランレベル5が使用され、ランレベル3と5の違いは、デフォルトの状態が CUI(レベル3)かGUI(レベル5)かの違いです。

ただ、ランレベル3でも"startx"コマンドによりGUIを利用することが可能です。以前はGUIが不安定だったため、ランレベル5でのサーバ 運用はあまり推奨されていませんでした。現在のGUIはかなり安定していますが、システムリソースを余分に消費しますので、やはりランレベル3でのサーバ 運用を推奨します。

ランレベル1のシングルユーザモードはバックアップ時などに使用するモードです。バックアップ時に他のユーザがファイル操作をするとバックアップの 整合性を保てなくなります。また、SLES9ではランレベル1ではなく、ランレベルSというシングルユーザモード用の設定ファイルも、別途用意されていま す。



注: 初出時に、RHEL4にランレベルSがないと誤解を招く表記をしておりました。お詫びして訂正させていただきます。

この記事をシェアしてください

人気記事トップ10

人気記事ランキングをもっと見る