Oracle® Solaris 11.2 システムのインストール

印刷ビューの終了

更新: 2014 年 7 月
 
 

初回ブート時に 1 度だけ実行されるようにする方法

  1. スクリプトを実行するサービスを作成します。

    この単純なサービスを作成するには、Using the Manifest Creation Toolに示すように、マニフェスト作成ツールの使用 コマンドを使用するのがもっとも簡単な方法です。

  2. スクリプトを実行する前に、スクリプト完了フラグを設定します。

    サービスマニフェストにブール型の完了プロパティーを定義し、その値を false に設定します。Example 13–3 のマニフェストの Example 13–3 プロパティーを参照してください。

  3. スクリプトの最後でスクリプト完了フラグを設定します。

    スクリプトの最後で、svccfg コマンドを使用して completed プロパティーを true に設定します。svcadm コマンドを使用して、新しいプロパティー値でサービスをリフレッシュします。Example 13–1 のサンプルスクリプトの最後を参照してください。

  4. スクリプトが完了した場合は、サービスを無効にします。

    サービスマニフェストで、デフォルトのサービスインスタンスが作成され、有効化されます。このサービスはスクリプトで無効化されます。初回ブートスクリプトを終了するときに、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