以下命令用于添加属性和属性组:
如果要设置某个属性的值,但是该属性尚不存在,则会添加该属性。
向服务或服务实例添加新的属性组。
请记住,使用 svccfg refresh 命令或 svcadm refresh 命令将配置更改提交至运行中的快照。
示例 4-6 使用 addpg 创建新的属性组使用 addpg 子命令将属性组添加到选定服务或服务实例。
svccfg -s FMRI addpg name type [flags]
根据约定,type 的值通常为 application。有关属性组类型的更多信息,请参见Chapter 5, 使用 SMF 控制您的应用程序。
如果为 flags 的值指定 P,则会将属性组和所有添加的属性存储为非永久性属性组和属性。如果指定了 P,则此属性组和包含的属性将在重新引导时删除,值 P 是 SCF_PG_FLAG_NONPERSISTENT 的别名。请参见 scf_service_add_pg(3SCF) 手册页。
$ svccfg -s svc:/site/my-svc addpg config application $ svccfg -s my-svc listprop config config application $ svccfg -s my-svc:default listprop config $
在此示例中,管理员将 config 属性组添加到父服务 my-svc 中,但未添加到实例 my-svc:default 中。listprop 命令显示 config 属性组未存在于该服务实例中。
示例 4-7 使用 setprop 创建新的属性可以使用 setprop 子命令设置属性值,如设置属性值中所述。如果属性组尚未存在于选定的实例或服务中,则创建该属性组(如果在模板定义中能够找到类型和标志)。如果属性尚未存在于选定的实例或服务中,则必须指定属性 type。
$ svccfg -s my-svc:default setprop config/vendor = astring: vendora $ svccfg -s my-svc:default listprop config/vendor config/vendor astring vendora示例 4-8 使用 addpropvalue 创建新的属性
可以使用 addpropvalue 子命令添加属性值,如设置属性值中所述。如果属性组尚未存在于选定的实例或服务中,则创建该属性组(如果在模板定义中能够找到类型和标志)。如果属性尚未存在于选定的实例或服务中,则必须指定属性 type。
$ svccfg -s my-svc:default addpropvalue config/vendor astring: vendorb $ -s my-svc:default addpropvalue config/customer astring: acustomer $ svccfg -s my-svc:default listprop config config application config/vendor astring "vendora" "vendorb" config/customer astring acustomer