存在于服务配置系统信息库的 site-profile、system-profile 和 manifest 层中的配置定义在服务清单和配置文件中。有关层的信息,请参见系统信息库层。SMF 将服务配置系统信息库与文件系统内容保持同步。在位于标准位置的清单或配置文件中定义的所有配置在经过管理定制之后(包括遭到删除之后),仍然存在于文件系统中,并且仍然存储在服务配置系统信息库中。如果配置定义在清单或配置文件中,则认为它具有包支持。删除具有包支持的配置时,信息不会从文件系统中删除,而是被屏蔽,因此在常规视图中看不到。有关屏蔽实体的说明,请参见 smf(5) 手册页。
删除具有包支持的配置属于管理定制。在这种情况下,delcust 子命令会对配置取消屏蔽,而非删除任何内容。使用 listcust -M 子命令可以查看屏蔽的配置。使用 delcust -M 子命令可以对配置取消屏蔽,或者撤消配置的删除或屏蔽操作。
示例 4-14 删除具有包支持的配置在删除管理配置中,my-svc 服务的 config 属性组仅存在于 admin 层中。config 属性组不存在于任何清单或配置文件中。删除这些属性后,它们会从系统中消失。此示例显示删除具有包支持的配置时的不同结果。
该属性定义在服务清单中:
$ svccfg -s pkg/server listprop -l all pkg/inst_root pkg/inst_root astring admin /export/ipsrepos/Solaris11 pkg/inst_root astring manifest /var/pkgrepo $ svccfg -s pkg/server delprop pkg/inst_root
删除后,使用不带选项的 listprop 命令不会显示该属性。由于该属性具有包支持,因此该属性仍然存在于服务配置系统信息库中,并且可以使用带有 -l 或 -M 选项的 listprop 子命令显示。
$ svccfg -s pkg/server listprop pkg/inst_root $ svccfg -s pkg/server listprop -l all pkg/inst_root pkg/inst_root astring admin MASKED /export/ipsrepos/Solaris11 pkg/inst_root astring manifest MASKED /var/pkgrepo $ svccfg -s pkg/server listcust -M pkg/inst_root astring admin MASKED /export/ipsrepos/Solaris11示例 4-15 对配置取消屏蔽
取消屏蔽属性后,将取消两项定制:
该属性不再处于屏蔽或隐藏状态。
该属性不再具有其定制值。
$ svccfg -s pkg/server delcust -M Deleting customizations for property: pkg/inst_root $ svccfg -s pkg/server listprop -l all pkg/inst_root pkg/inst_root astring manifest /var/pkgrepo $ svccfg -s pkg/server listprop pkg/inst_root pkg/inst_root astring /var/pkgrepo