Oracle® Solaris 11.2 でのシステムサービスの管理

印刷ビューの終了

更新: 2014 年 7 月
 
 

サービスの削除

svccfg delete コマンドはシステムからサービスインスタンスを削除しません。代わりに、svccfg delete コマンドがインスタンスをマスクします。svccfg delete コマンドを実行したあとも、サービスマニフェストは /lib/svc/manifest に存在します。SMF では、サービス構成リポジトリとファイルシステムコンテンツとの同期は維持されます。マニフェストは引き続き標準の場所のファイルシステムに存在するので、そのサービス情報はそのままリポジトリに格納されており、通常のビューからマスクされるだけです。管理カスタマイズはすべて、マスクされたインスタンスから削除されます。マスクされたエンティティーの説明については、smf(5)のマニュアルページを参照してください。

サービスインスタンスをサポートするファイルは、そのサービスインスタンスがマスクされている場合でも、pkg コマンドを使用すると更新されます。サービスインスタンスをサポートするファイルが pkg コマンドによって更新されると、サービスがまだビューからマスクされていても、SMF データストアは更新されます。サービスインスタンスがマスク解除されると、そのサービスインスタンスはすでに、pkg によって提供されたファイルから更新されており、これ以上の操作は不要です。サービスインスタンスをマスク解除するには、サービスインスタンスの削除を元に戻す方法を参照してください。

サービスインスタンスを削除する方法

  1. 削除するインスタンスの依存関係を確認します。

    svcs -D コマンドを使用して、このインスタンスに依存するインスタンスを表示します。このインスタンスを削除したあと、依存したインスタンスが実行できなくなる可能性があります。svcs -l コマンドを使用して、このインスタンスが、依存したインスタンスの必要な依存関係であるかどうかを確認します。

  2. インスタンスをマスクします。

    svccfg delete コマンドを使用して、通常のビューからインスタンスをマスクします。svcs コマンドを使用して、インスタンスの状態を表示します。インスタンスが実行している場合 (online または degraded の状態)、svccfg delete -f コマンドを使用して、通常のビューからインスタンスをマスクします。

    $ svcs -H my-svc
    disabled        7:25:37 svc:/site/my-svc:default
    $ svccfg delete svc:/site/my-svc:default
  3. インスタンスがマスクされていることを検証します。

    svccfg listcust -M コマンドを使用して、インスタンスがマスクされていることを確認します。svcs などのコマンドでは、一致するインスタンスが見つからないというエラーメッセージが表示されます。

    $ svccfg listcust -M
    svc:/site/my-svc:default manifest MASKED
      general                      admin    MASKED
      general/complete astring     admin    MASKED
      general/enabled  boolean     admin    MASKED true
    $ svcs -H my-svc
    svcs: Pattern 'my-svc' doesn't match any instances

サービスインスタンスの削除を元に戻す方法

  1. インスタンスがマスクされていることを確認します。

    前述の手順で示したように、svccfg listcust -M コマンドを使用します。

  2. インスタンスをマスク解除します。
    $ svccfg -s svc:/site/my-svc:default delcust
     Deleting customizations for instance: default

    マニフェストを再インポートしてもマスクは削除されません。

  3. インスタンスがマスク解除されていることを検証します。

    svccfg listcust -M コマンドを使用して、インスタンスがマスクされていないことを確認します。svcs コマンドでは、インスタンスの状態が表示されます。