• ベストアンサー

ランレベルと起動スクリプト

ランレベルと起動スクリプトとの関係について教えてください。 rc*.dというファイルについて色々調べているのですが、 下記の説明を見つけまして /etc/rc1.d/ ランレベル1の際の起動スクリプト /etc/rc2.d/, ランレベル2の際の起動 スクリプト /etc/rc3.d/, ランレベル3の際の起動スクリプト /etc/rc4.d/, ランレベル4の際の起動スクリプト /etc/rc5.d/, ランレベル5の際の起動スクリプト デフォルトでsolaris起動時にランレベル3になるような場合、 rc3.dの中のスクリプトを読みに行くのはわかるのですが、 他のrc2.dやrc1.dは読みに行かないのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • dyna_1550
  • ベストアンサー率34% (122/353)
回答No.2

確認方法は、パッと思いつくのは 1) docs.sun の Solaris9 のシステム管理を読む http://docs.sun.com/app/docs/doc/817-4909/6mkdd9iil?l=ja&a=view 2) ブートプロセスのシェルを追う  /etc/inittab  -> /sbin/init -> /sbin/rc* ( rc0 とか rc1 とか・・)  この順でシェルが呼ばれますので、丁寧に追えばわかるかも。 3) 起動、停止シェルを置いてみる  runlebel3 で起動するマシンのrc2やrc1に、ログをはくだけなどの  みせかけの起動シェルを置いてみてはいかがでしょう。 たしかに、僕も昔、疑問に思ったことがありますが、よくわからず 今に至っていますので、逆に結果を知りたいです。

masashissu
質問者

お礼

結果報告が遅くなってすいません、 3の方法をいただきまして、実施してみました。 デフォルト3で起動した際にrc2.dのスクリプトも読み込んでました。。。 rc2.dの配下にduplexとlink_speedの設定コマンドを入れたスクリプトを配置して、再起動したら見事に設定されたlink_speedに変わっていました。 う~~~ん、色々なサイトで回って 通常は、/etc/rc.d/rc3.d または /etc/rc.d/rc5.d 配下の 各スクリプトが実行される事になります。と載っていたので、たぶん読み込まないないよなぁ~・・・と思ってやってました、。。。 大変参考になりました。ありがとうございます。

masashissu
質問者

補足

3の方法いただきました! 明日、時間があればやってみます。

その他の回答 (2)

  • 3899
  • ベストアンサー率54% (65/119)
回答No.3

こんにちは 簡単に… solarisのブート処理 poweron→POST→カーネル→initプログラム→sac、ttymon→login: となります。 この流れの中でinitプログラムのところで/etc/inittabファイルを参照して起動スクリプトを実行します。 /etc/inittabファイルを見て下さい。 1行目のエントリから順に実行されます。 マルチユーザの場合、4行目のinitdefaultのところで、第2フィールドが「3」を実行する指定になっています。 s2、s3、sc、coを実行します。 質問者様が言われている、ランレベル2と3を実行するということです。

masashissu
質問者

お礼

お返事が遅くなりました。 おっしゃる通り、実行されました。 ネットなどを見て勘違いしていたようです。ありがとうございました。

  • dyna_1550
  • ベストアンサー率34% (122/353)
回答No.1

Solarisのバージョンは、Solaris10と考えていいでしょうか? 起動するアプリケーションの管理は、rcの管理から、SMFというものに 切り替わろうとしています。 以下のSUNのドキュメントを読むことをお勧めします。 Solaris のシステム管理 (基本編) http://docs.sun.com/app/docs/doc/819-0378/hbsysboot-41054?a=view rcは、/etc/rc* というシェルスクリプトにより起動されます。 裏覚え(だったら書くなと怒られそうですが)ですが、  rc0 -> rc1 -> rc2 -> rc3  (runlevel3 の場合) と呼ばれるものだったと記憶しています。

masashissu
質問者

お礼

ご回答ありがとうございます、 すいません、solaris9を使用しています。 >裏覚え(だったら書くなと怒られそうですが)ですが、 > rc0 -> rc1 -> rc2 -> rc3  (runlevel3 の場合) もしこれが正解なら、私の悩みが一気に解決します。 色々なサイトをめぐっているのですが、rc.2はrunlevel2で読み込まれるとしか記載がなくて、なかなか解決に導けません。 本当に確認したいことは、職場で使用しているsolaris9の装置にrc2.dに入っている起動スクリプト以外に、インターフェイスのduplex,speedの設定などが見当たらなかったので調べていました。 /etc/systemなど色々な設定を確認しましたが設定されておらず、他の起動スクリプトにも入っていなかった為、rc2.dがrunlevel3で読み込まれるのであれば一気に解決します! 何か確認する方法や、どこかに詳細が記載されているサイトなどありましたら教えてください!

関連するQ&A