ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
Oracle Solaris 11.1 システムのインストール Oracle Solaris 11.1 Information Library (日本語) |
パート I Oracle Solaris 11.1 のインストールオプション
6. Oracle Solaris インスタンスの構成解除または再構成
次の手順は、スクリプトが新規にインストールされたシステムの初回ブート時にのみ実行され、かつスクリプトが 1 度だけ実行されるようにする方法を示しています。
この単純なサービスを作成するには、「マニフェスト作成ツールの使用」に示すように、svcbundle コマンドを使用するのがもっとも簡単な方法です。
サービスマニフェストにブール型の完了プロパティーを定義し、その値を false に設定します。例 13-3 のマニフェストの completed プロパティーを参照してください。
スクリプトの最後で、svccfg コマンドを使用して completed プロパティーを true に設定します。svcadm コマンドを使用して、新しいプロパティー値でサービスをリフレッシュします。例 13-1 のサンプルスクリプトの最後を参照してください。
サービスマニフェストで、デフォルトのサービスインスタンスが作成され、有効化されます。このサービスはスクリプトで無効化されます。初回ブートスクリプトを終了するときに、SMF_EXIT_TEMP_DISABLE 終了コードを使用してサービスの start メソッドを終了し、サービスを一時的に無効にします。サービスが無効になり、サービスの stop メソッドは実行されません。
サービスをより簡単に再有効化できるため、サービスを永続的に無効にするより、サービスを一時的に無効にすることをお勧めします。状況によっては、実行された構成作業 (ゾーンのクローニングや移行) を更新するためにスクリプト (したがってサービス) を再実行する必要があります。サービスが永続的に無効になっている場合は、svcadm enable コマンドを実行してサービスを再有効化する必要があります。
サービスをオンラインのままにせずに、やはりサービスを一時的に無効にすることをお勧めします。オンラインのサービスは、リブートのたびに作業を実行しているように見える場合があります。この例では、サービスの名前は site/first-boot-script-svc です。クライアントがブートされたあとで、サービスが disabled 状態になっていることがわかります。
$ svcs first-boot-script-svc STATE STIME FMRI disabled 8:24:16 svc:/site/first-boot-script-svc:default