Name | Synopsis | Description | Options | SUBCOMMANDS | Examples | ENVIRONMENTAL VARIABLES | Exit Status | Attributes | See Also
/usr/sbin/svccfg [-v] [-s FMRI]
/usr/sbin/svccfg [-v] [-s FMRI] subcommand [args]...
/usr/sbin/svccfg [-v] [-s FMRI] -f command-file
The svccfg command manipulates data in the service configuration repository. svccfg can be invoked interactively, with an individual subcommand, or by specifying a command file that contains a series of subcommands.
Changes made to an existing service in the repository typically do not take effect for that service until the next time the service instance is refreshed. See the refresh subcommand on the svcadm(1M) man page for more details.
The following options are supported:
Reads and executes svccfg subcommands from command-file.
Selects the entity indicated by FMRI (a fault management resource identifier) before executing any subcommands. See smf(5).
Verbose.
Subcommands are divided into the categories specified in the subsections that follow.
All subcommands that accept FMRIs also accept abbreviated or globbed patterns. Instances and services can be abbreviated by specifying the instance name, or the trailing portion of the service name. For example, given the FMRI:
svc:/network/smtp:sendmail |
All the following are valid abbreviations:
sendmail :sendmail smtp smtp:sendmail network/smtp |
While the following are invalid:
mail network network/smt |
Abbreviated forms of FMRIs are unstable, and should not be used in scripts or other permanent tools. If a pattern matches more than one instance or service, an error message is printed and no action is taken.
Exits immediately.
Uses repfile as a repository. By default, svccfg uses the system repository.
Use repository only with files from the identical version of Solaris, including patches, that you are currently running. Do not use this subcommand with the system repository, /etc/svc/repository.db.
Sets optional behavior. If no options are specified, set displays the options currently in effect.
Turns on verbose mode.
Turns off verbose mode.
If file is a service profile, then service instances specified within the file are enabled or disabled according to it. See smf(5) for a description of service profiles. This command requires privileges to modify the “general/enabled” property of the service instances. See smf_security(5) for the privileges required to modify properties. If file is not a service profile, the subcommand fails.
Prints a service profile which represents the enabled status of the service instances in the repository to standard output. The output may be redirected to a file.
Dumps a full XML service description for all services, instances, and their persistent properties in the repository. This does not include transient properties such as service state, and is suitable for a relocatable repository backup.
The service description for the specified service and its instances is written to standard output or redirected to the given file. Dependencies with a boolean “external” property set to true are omitted in the belief that they were created on behalf of another service.
Without the -a option, property groups containing protected information (identified by the presence of the read_authorization property—see smf_security(5)) will be exported without their property values. When the -a option is specified, all values will be archived. An error results if there are insufficient privileges to read these values.
Note that export requires a service FMRI. If you specify an instance (including an abbreviation, such as apache2 or sendmail, that specifies an instance), the command fails.
If file is a service manifest, then the services and instances it specifies are imported into the repository. According to the file, dependencies may be created in other services. See smf(5) for a description of service manifests. See smf_security(5) for the privileges required to create and modify service configurations.
For existing services and instances, properties which have not changed since the last import snapshot was taken are upgraded to those specified by the manifest. Conflicts (properties which have been changed both in the repository and the manifest) are reported on the standard error stream. svccfg will never upgrade the “general/enabled” and “general/restarter” properties, since they represent administrator preference.
If file is determined to be a service manifest, then the FMRIs of the services and instances the file describes are printed. For each service, the FMRIs of its instances are displayed before the FMRI of the service.
file is processed similarly to import, but no changes are made to the repository. If any errors are detected, svccfg(1M) exits with a nonzero exit status.
An “entity” refers to a scope, service, or service instance.
A new entity with the given name is created as a child of the current selection. See smf_security(5) for the privileges required to create entities.
The named child of the current selection or the entity specified by fmri is deleted. Attempts to delete service instances in the “online” or “degraded” state will fail unless the -f flag is specified. If a service or service instance has a “dependents” property group of type “framework”, then for each of its properties with type “astring” or “fmri”, if the property has a single value which names a service or service instance then the dependency property group in the indicated service or service instance with the same name as the property will be deleted. See smf_security(5) for the privileges required to delete service configurations.
The child entities of the current selection whose names match the glob pattern pattern are displayed (see fnmatch(5)). ':properties' is also listed for property-bearing entities, namely services and service instances.
If the argument names a child of the current selection, it becomes the current selection. Otherwise, the argument is interpreted as an FMRI and the entity that the argument specifies becomes the current selection.
The parent of the current selection becomes the current selection.
Adds a property group with the given name and type to the current selection. flags is a string of characters which designates the flags with which to create the property group. 'P' represents SCF_PG_FLAG_NONPERSISTENT (see scf_service_add_pg(3SCF)). See smf_security(5) for the privileges required to create property groups.
Adds the given value to a property. If type is given and the property exists, then if type does not agree with the property's type, the subcommand fails. The values may be enclosed in double-quotes. String values containing double-quotes or backslashes must be enclosed by double-quotes and the contained double-quotes and backslashes must be quoted by backslashes. Nonexistent properties are created, in which case the type specifier must be present. See scf_value_create(3SCF) for a list of available property types. See smf_security(5) for the privileges required to modify properties.
Deletes the property group name of the current selection. See smf_security(5) for the privileges required to delete property groups.
Deletes the named property group or property of the current selection. See smf_security(5) for the privileges required to delete properties.
Deletes all values matching the given glob pattern in the named property. Succeeds even if no values match. See smf_security(5) for the privileges required to modify properties.
Comments of commands to reproduce the property groups and properties of the current selection are placed in a temporary file and the program named by the EDITOR environment variable is invoked to edit it. Upon completion, the commands in the temporary file are executed. The default editor is vi(1). See smf_security(5) for the privileges required to create, modify, or delete properties.
Displays the names, types, and flags of property groups of the current selection. If an argument is given, it is taken as a glob pattern and only property groups with names which match the argument are listed.
Lists property groups and properties of the current selection. For property groups, names, types, and flags are listed. For properties, names (prepended by the property group name and a slash (/)), types, and values are listed. See scf_value_create(3SCF) for a list of available property types. If an argument is supplied it is taken as a glob pattern and only property groups and properties with names which match the argument are listed.
Sets a method environment variable for a service or instance by changing the “environment” property in the method_name property group, if that property group has type “method”. If method_name is not specified and the -i option is used, the “method_context” property group is used, if an instance is currently selected. If the -s option is used and a service is currently selected, its “method_context” property group is used. If the -s option is used and an instance is currently selected, the “method_context” property group of its parent is used. If neither the -i option nor the -s option is used, the “start” property group is searched for in the currently selected entity and, if an instance is currently selected, its parent is also searched. If the “inetd_start” property group is not located, it is searched for in a similiar manner.
Once the property is located, all values which begin with envvar followed by a “=” are removed, and the value “envvar=value” is added. See smf_security(5) for the privileges required to modify properties.
Sets the name property of the pg property group of the current selection to the given values of type type. See scf_value_create(3SCF) for a list of available property types. If the property already exists and the type disagrees with the existing type on the property, the subcommand fails. Values may be enclosed in double-quotes. String values which contain double-quotes or backslashes must be enclosed by double-quotes and the contained double-quotes and backslashes must be quoted by backslashes. If the named property does not exist, it is created, as long as the type is specified. See smf_security(5) for the privileges required to create or modify properties.
Removes a method environment variable for a service or instance by changing the “environment” property in the method_name property group, if that property group has type “method”. If method_name is not specified and the -i option is used, the “method_context” property group is used, if an instance is currently selected. If the -s option is used and a service is currently selected, its “method_context” property group is used. If the -s option is used and an instance is currently selected, the “method_context” property group of its parent is used. If neither the -i option nor the -s option is used, the “start” property group is searched for in the currently selected entity and, if an instance is currently selected, its parent is also searched. If the “inetd_start” property group is not located, it is searched for in a similiar manner.
Once the property is located, all values which begin with envvar followed by “=” are removed. See smf_security(5) for the privileges required to modify properties.
Displays snapshots available for the currently selected instance.
Reverts the properties of the currently selected instance and its service to those recorded in the named snapshot. If no argument is given, use the currently selected snapshot and deselect it on success. The changed property values can be made active via the refresh subcommand of svcadm(1M). See smf_security(5) for the privileges required to change properties.
Changes the current snapshot to the one named by name. If no name is specified, deselect the currently selected snapshot. Snapshots are read-only.
The following example imports a service description for the seismic service in the XML manifest specified on the command line.
# svccfg import /var/svc/manifest/site/seismic.xml |
Note that the manifest must follow the format specified in service_bundle(4).
To export a service description on the local system:
$ svccfg export dumpadm >/tmp/dump.xml |
To delete a service instance:
$ svccfg delete network/inetd-upgrade:default |
To examine the state of a service's properties after loading an alternate repository, use the sequence of commands shown below. One might use such commands, for example, to determine whether a service was enabled in a particular repository backup.
# svccfg svc:> repository /etc/svc/repository-boot svc:> select telnet:default svc:/network/telnet:default> listprop general/enabled general/enabled boolean false svc:/network/telnet:default> exit |
To modify LD_PRELOAD for a start method and enable the use of libumem(3LIB) with debugging features active:
$ svccfg -s system/service setenv LD_PRELOAD libumem.so $ svccfg -s system/service setenv UMEM_DEBUG default |
The command to run when the editprop subcommand is used. The default editor is vi(1).
The following exit values are returned:
Successful execution.
One or more subcommands resulted in failure. Error messages are written to the standard error stream.
Invalid command line options were specified.
See attributes(5) for descriptions of the following attributes:
ATTRIBUTE TYPE |
ATTRIBUTE VALUE |
---|---|
Availability |
SUNWcsu |
Interface Stability |
See below. |
The interactive output is Uncommitted. The invocation and non-interactive output are Committed.
svcprop(1), svcs(1), svcadm(1M), svc.configd(1M), libscf(3LIB), libumem(3LIB), scf_service_add_pg(3SCF), scf_value_create(3SCF), contract(4), service_bundle(4), attributes(5), fnmatch(5), smf(5), smf_method(5), smf_security(5)
Name | Synopsis | Description | Options | SUBCOMMANDS | Examples | ENVIRONMENTAL VARIABLES | Exit Status | Attributes | See Also