> /sbin/initが起動(/etc/inittabの設定読み込み。) > inittabに従いrc3.d以下のファイルを実行(ランレベル3の場合) 細かいことですが、現在の Vine では run level に従った実行というのは、 /etc/inittab の l3:3:wait:/etc/rc.d/rc 3 といった行で指定されています。その前後を見れば分かりますが、実は、どの run level でも /etc/rc.d/rc を実行していて、その引数に run level の数値が 指定されています。そして、/etc/rc.d/rc が指定された引数に従って、 /etc/rc.d/rc?.d/ 以下のプログラムを起動していくことになります。 > rc3.d以下のファイルは/etc/init.d/以下のファイルへのシンボリック > リンクになっているので実際は/etc/init.d/以下にあるスクリプトが > 実行される。 > 実行順序はSに続く数字の小さい順に実行される。 > で、rc.localへのシンボリックリンクはS99local(当方の環境では) > になっていたので一番最後に実行される。 /etc/rc.d/rc?.d/ 以下のファイル名は「S」で始まるものと、「K」で始まるもの がありますが、「S」で始まるものは、引数に「start」、「K」で始まるものは、 「stop」を付けて起動します。 例えば、「S85httpd」であれば、 /etc/rc.d/rc3.d/S85httpd start ということになります。シャットダウン時(run level = 0)やリブート時 (run level = 6)に動いている daemon 類が終了するのは、/etc/rc.d/rc0.d や /etc/rc.d/rc6.d が軒並み「K」で始まるファイル名になっているからです。 数字の小さい順に実行されるのはその通りです。 > /etc/sysinitが実行されて起動終了。 > > と言うことは何か起動時に動かしたいプログラムがあれば、 > /etc/init.d/以下にスクリプトを作成し、rc3.d以下にそのスクリプトへの > シンボリックリンクを作成すればOKという事になる。 もちろん、シンボリックリンクで作らなければいけない、ということは無いので すが、一般的にはそうします。 > で、シンボリックリンクを作成するには > /sbin/chkconfig --add hoge (hogeは/etc/init.d以下に作成したスクリプト名) > としてから、実際にどのランレベルで有効にするかを > /sbin/chkconfig --hoge > で、状態を見てから > /sbin/chkconfig --level 3 hoge on > と有効にしたいランレベルを設定する chkconfig にはもう一つ条件があって、/etc/rc.d/init.d に置くスクリプトファ イルのコメント部分に # chkconfig: - 85 15 # description: Apache is a World Wide Web server. It is used to serve \ # HTML files and CGI. という記述がありますが、この部分が無いと、chkconfig では正しく処理出来ま せん。詳しくは man chkconfig の「RUNLEVEL ファイル」というところを参照し てください。 この記述は、chkconfig にとって必要、というだけなので、手動で /etc/rc.d/rc3.d といったディレクトリに、コピー/リンクしても構いません。 ...と、私が知っているのはこんなところかな(^^;。 お役に立てれば幸いです。 -- 森 淳一 july.mori@xxxxxxxxxxx