- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Solaris10での自動起動設定)
Solaris10での自動起動設定
このQ&Aのポイント
- Solaris10では、起動時のコマンドの自動実行には従来の方法とSMFが利用されています。
- 起動時のランレベルや実行されるスクリプトはinittabファイルに記述されますが、具体的な内容は不明です。
- 起動スクリプトの引数は$1に入ってくる値で、Web情報では「start」「stop」「restart」「status」の4種類とされていますが、他にも存在する可能性があります。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
> どうにも起動時のランレベルと実行されるスクリプトがわかりません。 起動時のrunlevelですが、svcs -a | grep milestoneを実行すると multi-user-serverが起動していればrunlevel3、multi-userまでであれば2、single-userまでであれば、Sに相当します。 また互換性を重要視するSunらしく、SMFで管理されているdaemonが起動し終わった後に、rc*.dのスクリプトが読み込まれますので、過去資産の使い回しも可能にはなっています。 > 実際、どう対応しておけばいいのでしょうか ちょっと真意はご質問からは感じ取れませんでしたが所詮はapachectlを呼び出しているだけですし、rc*.dから起動するのであれば、stopとstartしか呼ばれませんので、デフォルトのままで特に問題はないと思います。 ただし従来の方法であるinit scriptを利用するのは特段理由が無ければ利用しないことを強くお勧めします。 SMFはdaemonが落ちてしまった際に自動起動することや、rc*.dではXXのあとにYYを起動する程度しか依存関係を書けませんでしたが、SMFはひもづくサービスを記述でき、かつひもづくサービスが落ちた・再起動した際に自身もrestartを実行するなどできます。 ですので、今後消えてゆくrc*.dをあえて選択する必要はないと思います。
お礼
お返事ありがとうございます。 >multi-user-serverが起動していればrunlevel3、multi-userまでであれば2、single-userまでであれば、Sに相当します。 >また互換性を重要視するSunらしく、SMFで管理されているdaemonが起動し終わった後に、rc*.dのスクリプトが読み込まれますので、過去資産の使い回しも可能にはなっています。 はい、runlevelとしては3になるのは確かなようなのですが、その際に実行されるのはrc3.dの中身だけなのか、rc2.dの中身も実行されるのかどうも不明でして。はっきりした資料がみつからず、困っていました。 >ただし従来の方法であるinit scriptを利用するのは特段理由が無ければ利用しないことを強くお勧めします。 はい、それで従来の方法も結局よくわからないし、プロセスが落ちた時に自動で再起動してくれるのは非常に便利ですので、なんとかSMFに対応してみました。こっちもまあ、資料が乏しくて難儀したのではありますが。 実際のところ、一番情報として頼りになったのは /usr/share/lib/xml/dtd/service_bundle.dtd でした。 あと、登録しないと読めないですが、こちらも参考になりました。 http://sdc.sun.co.jp/solaris/solaris10/selfheal/private/sdev_intro.html