この単純なサービスを作成するには、Using the Manifest Creation Toolに示すように、マニフェスト作成ツールの使用 コマンドを使用するのがもっとも簡単な方法です。
サービスマニフェストにブール型の完了プロパティーを定義し、その値を false に設定します。Example 13–3 のマニフェストの Example 13–3 プロパティーを参照してください。
スクリプトの最後で、svccfg コマンドを使用して completed プロパティーを true に設定します。svcadm コマンドを使用して、新しいプロパティー値でサービスをリフレッシュします。Example 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