プロが教える店舗&オフィスのセキュリティ対策術

Solaris9 を利用してます。

Webサーバのサービスをサーバ起動/再起動時に自動起動させたいためにデーモンへの登録を考えています。
しかし、ランレベルについて、イマイチよく分かりません。

起動するためには、rc2.d or rc3.d のどちらかに登録するという情報がネット上にありましたが、
判断基準としてどのように考えればよいのでしょうか?

また、サービスの停止については、どこのランレベルに登録すべきなんでしょうか?

今までOSが起動してから手動で起動していたサービスのため、順番としては、
起動/再起動時:最後に起動
停止時:最初に停止
という流れになってくれればと考えています。

よろしくお願いいたします。

A 回答 (2件)

> 起動するためには、rc2.d or rc3.d のどちらかに登録するという情報がネット上にありましたが、


> 判断基準としてどのように考えればよいのでしょうか?

http://docs.sun.com/app/docs/doc/817-7238/hbrunl …
上記 Sun のマニュアルによると、

・ランレベル 2
通常の運用に使用する。複数のユーザーがシステムとすべてのファイルシステムにアクセスできる。NFS サーバーデーモンを除く、すべてのデーモンが動作する。

・ランレベル 3
NFS リソースを共有する通常の運用に使用する。Solaris 環境におけるデフォルトの実行レベル。

とのことなので、NFS サーバに依存するならランレベル 3 で、依存しないならランレベル 2 ということになります。

> また、サービスの停止については、どこのランレベルに登録すべきなんでしょうか?

サービスの起動を登録した以外のランレベル全て。

> 今までOSが起動してから手動で起動していたサービスのため、順番としては、
> 起動/再起動時:最後に起動

上記の条件なら、rc3.d に S99.... で登録しておけばよいでしょう。

> 停止時:最初に停止

こちらは、rc3.d 以外の全て(rc[01256S].d)に K00.... で登録しておけばよいでしょう
    • good
    • 0
この回答へのお礼

ご回答、ありがとうございます。

起動については、理解できました。
NFSサーバに依存はしないので、rc2.d で設定を考えてます。


停止についてですが、

>>サービスの起動を登録した以外のランレベル全て。

との事ですが、rc2.d 以外となるのはなぜでしょうか?
(rc2.dで設定することで何らかの不具合は発生するのでしょうか?)

また、停止の場合、各ランレベルで複数回実行される可能性はあるのでしょうか?
(例えば、rc5.d で停止コマンドが発生、
 その後、rcS.d で再度、停止コマンドが発生など)

以上、よろしくお願いいたします。

お礼日時:2009/12/17 19:04

>> また、サービスの停止については、どこのランレベルに登録すべきなんでしょうか?


> サービスの起動を登録した以外のランレベル全て。

すみません、上記回答を訂正します。

サービスの起動を登録したランレベルとランレベル 3 以外の全てです。

これは以下の /etc/inittab の抜粋部分を見ると分かるのですが、rc2.d 以下のスクリプトは、ランレベル2, 3 両方で実行されるためです。
(つまりランレベル 3 に停止を設定してしまうと、ランレベル3 に切り替わった際に、折角 rc2.d で起動したサービスをとめてしまうことになるからです。)

(/etc/inittab からの抜粋)
s2:23:wait:/sbin/rc2 >/dev/msglog 2<>/dev/msglog </dev/console

>> 停止時:最初に停止
> こちらは、rc3.d 以外の全て(rc[01256S].d)に K00.... で登録しておけばよいでしょう

すみません、さらに訂正です。rc[56].d はそもそもありませんね。
ですので、以下の通り訂正します。

こちらは、rc3.d 以外の全て(rc[012S].d)に K00.... で登録しておけばよいでしょう

> との事ですが、rc2.d 以外となるのはなぜでしょうか?

他のランレベルにスイッチしたときに停止を登録しておかないと、そのままサービスが起動し続けたままになってしまうからです。

> また、停止の場合、各ランレベルで複数回実行される可能性はあるのでしょうか?

あります。
例えば、ランレベルを 3 → S → 5 とスイッチさせると、複数回実行されます。
しかし、既に停止したサービスに対して停止処理を行っても、結局サービスは停止したままなので、複数回実行されても問題ないです。

>(例えば、rc5.d で停止コマンドが発生、
> その後、rcS.d で再度、停止コマンドが発生など)

蛇足ですが、ランレベル5では電源断まで行ってしまうので、ランレベル 5 → S のスイッチはありえませんよ。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!