The svccfg command manipulates data in the service configuration repository. Changes made with the svccfg command are recorded in the admin layer. See Repository Layers for information about layers. Changes made with the svccfg command are stored in the service configuration repository as current, or editing, property values, and do not immediately appear in the running snapshot. When you change configuration data, use the svcadm refresh or svccfg refresh command to commit the new values into the running snapshot.
Keeping newly changed data separate from the running snapshot enables you to make multiple changes, and then commit all the changes to the running snapshot together. While you are in the process of making multiple changes, some property values might be incompatible or inconsistent, but the running snapshot is unmodified. When you are finished making changes, perform a refresh.
You can use the svccfg command in any of the following ways:
Use the svccfg editprop command to invoke an editor on the property groups and properties of the currently selected entity.
Enter a full svccfg command on the command line, specifying subcommands such as setprop.
Enter only svccfg or svccfg -s FMRI on the command line to start an interactive session.
Specify the -f option to read svccfg commands from a file.
Invoking the svccfg command as shown in the following example opens an editor on the properties of the selected entity. This form of the svccfg command can be very fast and convenient for modifying several property values. For the editprop subcommand, you must specify an entity with the -s option.
$ svccfg -s pkg/server:s11 editprop
A file of setprop commands for the current values of each property of the specified entity opens in the editor specified by the VISUAL environment variable. If VISUAL is not defined, the editor specified by EDITOR is opened. If neither VISUAL nor EDITOR is defined, the property file is opened in vi.
Each line of the file is preceded by a comment character. To change the value of a property in the svccfg editing configuration, remove the comment character, change the value, and save the file. To change the value of a property in the running snapshot, remove the comment character from the last line of the file, which is the refresh subcommand.
The following listing shows a partial example of a file created by the editprop subcommand:
## ## Change property values by removing the leading '#' from the ## appropriate lines and editing the values. svccfg subcommands ## such as delprop can also be added to the script. ## ## Property group "pkg" ## The following properties are defined in the selected instance ## (svc:/application/pkg/server:s11) # setprop pkg/port = count: 81 # setprop pkg/inst_root = astring: /export/ipsrepos/Solaris11 ## The following properties inherit from the parent service ## (svc:/application/pkg/server) # ... ## Property group "pkg_bui" # ... ## Property group "pkg_secure" # ... ## Uncomment to apply these changes to this instance. # refresh
As the instructions in the file state, you can add subcommands other than setprop. For example, you could add a delprop command. Some property groups, such as framework and dependency, are not displayed by default. Specify editprop -a to show all properties.
The uncommented commands in this temporary file are executed when you save and quit the editing session.
Invoking the svccfg command interactively as shown in the following example can be convenient when you want to perform several configuration operations.
$ svccfg svc:> select pkg/server svc:/application/pkg/server> list :properties default svc:/application/pkg/server> add s11 svc:/application/pkg/server> select s11 svc:/application/pkg/server:s11> setprop pkg/inst_root=/export/ipsrepos/Solaris11 svc:/application/pkg/server:s11> setprop pkg/port=81 svc:/application/pkg/server:s11> unselect svc:/application/pkg/server> add oss svc:/application/pkg/server> select oss svc:/application/pkg/server:oss> setprop pkg/inst_root=/export/ipsrepos/SolarisStudio svc:/application/pkg/server:oss> setprop pkg/port=82 svc:/application/pkg/server:oss> unselect svc:/application/pkg/server> list :properties default s11 oss svc:/application/pkg/server> refresh svc:/application/pkg/server> select pkg/mirror:default svc:/application/pkg/mirror:default> listprop config/crontab_period config/crontab_period astring "30 2 25 * *" svc:/application/pkg/mirror:default> setprop config/crontab_period="00 3 25 * *" svc:/application/pkg/mirror:default> refresh svc:/application/pkg/mirror:default> exit $
$ svccfg -f cfgpkgrepos