The following commands set property values:
Changes the value of a property.
Adds a value to a multi-value property.
Changes the value of an environment variable for a service process execution environment.
Remember to use the svccfg refresh command or svcadm refresh command to commit configuration changes into the running snapshot.
Example 26 Setting a Simple ValueIn the simplest use of setprop, specify a pg/name for the selected service or instance, where pg is the name of the property group and name is the name of the property, and specify the new value after an equals symbol. If the property already exists or is templated, you do not need to specify the property type.
$ svccfg -s pkg/server:s11 setprop pkg/port=81Example 27 Setting a Value that Contains Embedded Spaces
Use double quotation marks to set a value that contains embedded spaces. Depending on your shell, you might need to enclose the double-quoted string in single quotation marks.
$ svccfg -s pkg/mirror setprop config/crontab_period = "00 3 25 * *" $ svccfg -s pkg/mirror setprop config/crontab_period = '"00 3 25 * *"'
Use quotation marks to set a value that contains double quotation marks or backslash characters, and use a backslash character to escape any double quotation marks or backslash characters.
Example 28 Setting a Value that Is a Set of ValuesUse parentheses to specify a set of values as a single value. Depending on your shell, you might need to escape the parentheses.
$ svccfg -s dns/client setprop config/nameserver = (10.0.0.1 192.168.0.1) $ svccfg -s dns/client setprop config/nameserver = \(10.0.0.1 192.168.0.1\) $ svccfg -s dns/client listprop config/nameserver config/nameserver net_address 10.0.0.1 192.168.0.1
Use the describe subcommand to find the number of values allowed in the set of values.
$ svccfg -s dns/client describe -v config/nameserver config/nameserver net_address 10.0.0.1 192.168.0.1 type: net_address required: false The IP address of a DNS nameserver to be used by the resolver. visibility: readwrite minimum number of values: 1 maximum number of values: 3 value: 10.0.0.1 value: 192.168.0.1Example 29 Setting a Property Whose Name Contains Special Characters
Naming Property Groups and Properties in Developing System Services in Oracle Solaris 11.4 provides a list of reserved characters that can be used in property group and property names. These reserved characters appear encoded in FMRIs:
$ svccfg -s enchars_example:default svc:/site/enchars_example:default> listprop config config application config/%25%20increase count 10 config/maximum%20%23 count 9 config/start%3Aend count 10 config/students%2Fteachers count 20
To set these properties, you can copy the encoded names:
svc:/site/enchars_example:default> setprop config/students%2Fteachers=21 svc:/site/enchars_example:default> listprop config/students%2Fteachers config/students%2Fteachers count 21
Another way to set these properties is to use the -G and -P options:
svc:/site/enchars_example:default> setprop -G config -P students/teachers 20 svc:/site/enchars_example:default> listprop -G config -P students/teachers config/students%2Fteachers count 20
Use quotation marks for property group names or property names that contain spaces:
svc:/site/enchars_example:default> setprop -G config -P "% increase" 12 svc:/site/enchars_example:default> listprop -G config -P "% increase" config/%25%20increase count 12
The editprop tool automatically uses the -G and -P options:
$ svccfg -s enchars_example:default editprop ... $ setprop -G "config" -P "% increase" -T count 10 $ setprop -G "config" -P "maximum #" -T count 9 $ setprop -G "config" -P "start:end" -T count 10 $ setprop -G "config" -P "students/teachers" -T count 20Example 30 Setting the Value of a Property in a Nested Property Group
To set the value of a property in a property group that is the child of another property group, specify the full ancestry of the property.
In the following example, http and https are child property groups of the config property group, and ssl is a child property group of the https property group:
$ svccfg -s npg_example listprop config config application config/port count 80 config/http application config/http/port count 80 config/https application config/https/port count 443 config/https/ssl application config/https/ssl/certfile astring cert.crt config/https/ssl/keyfile astring key.crt
To specify different values for properties of nested property groups, specify the full FMRI of the property or use multiple -G options. The following example changes the values of the certificate and key files for the default instance:
$ svccfg -s npg_example:default svc:/site/npg_example:default> setprop config/https/ssl/certfile=cert-1.pem svc:/site/npg_example:default> setprop -G config -G https -G ssl -P keyfile key-1.pem svc:/site/npg_example:default> listprop config/https/ssl config/https/ssl application config/https/ssl/certfile astring cert-1.pem config/https/ssl/keyfile astring key-1.pemExample 31 Adding a Value
Use the addpropvalue subcommand to add the given value to the specified property of the selected service or service instance. The new value is appended to the end of the existing list of property values for the property.
$ svcprop -p keymap/layout keymap:default US-English $ svccfg -s keymap:default addpropvalue keymap/layout UK-English $ svccfg -s keymap:default listprop keymap/layout keymap/layout astring "US-English" "UK-English"
In the previous setprop example, all values in the set of values must be specified at once. If only one value is specified, that value becomes the new set of one value. In this addpropvalue example, the added values are distinct. To access these added values, you must use the libscf function scf_iter_property_values() to iterate over the values. While listprop lists both values, describe lists only the first value and reports that the maximum allowed number of values for this property is one.
$ svccfg -s keymap:default describe -v keymap/layout keymap/layout astring US-English type: astring required: true The keyboard layout visibility: readwrite minimum number of values: 1 maximum number of values: 1 value: US-English