svccfg delete コマンドはシステムからサービスインスタンスを削除しません。代わりに、svccfg delete コマンドがインスタンスをマスクします。svccfg delete コマンドを実行したあとも、サービスマニフェストは /lib/svc/manifest に存在します。SMF では、サービス構成リポジトリとファイルシステムコンテンツとの同期は維持されます。マニフェストは引き続き標準の場所のファイルシステムに存在するので、そのサービス情報はそのままリポジトリに格納されており、通常のビューからマスクされるだけです。管理カスタマイズはすべて、マスクされたインスタンスから削除されます。マスクされたエンティティーの説明については、smf(5)のマニュアルページを参照してください。
サービスインスタンスをサポートするファイルは、そのサービスインスタンスがマスクされている場合でも、pkg コマンドを使用すると更新されます。サービスインスタンスをサポートするファイルが pkg コマンドによって更新されると、サービスがまだビューからマスクされていても、SMF データストアは更新されます。サービスインスタンスがマスク解除されると、そのサービスインスタンスはすでに、pkg によって提供されたファイルから更新されており、これ以上の操作は不要です。サービスインスタンスをマスク解除するには、サービスインスタンスの削除を元に戻す方法を参照してください。
svcs -D コマンドを使用して、このインスタンスに依存するインスタンスを表示します。このインスタンスを削除したあと、依存したインスタンスが実行できなくなる可能性があります。svcs -l コマンドを使用して、このインスタンスが、依存したインスタンスの必要な依存関係であるかどうかを確認します。
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
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
前述の手順で示したように、svccfg listcust -M コマンドを使用します。
$ svccfg -s svc:/site/my-svc:default delcust Deleting customizations for instance: default
マニフェストを再インポートしてもマスクは削除されません。
svccfg listcust -M コマンドを使用して、インスタンスがマスクされていないことを確認します。svcs コマンドでは、インスタンスの状態が表示されます。