1*75987085SAndy Fiddaman.\" The contents of this file are subject to the terms of the Common 2*75987085SAndy Fiddaman.\" Development and Distribution License (the "License"). You may not use 3*75987085SAndy Fiddaman.\" this file except in compliance with the License. You can obtain a copy 4*75987085SAndy Fiddaman.\" of the license at usr/src/OPENSOLARIS.LICENSE or 5*75987085SAndy Fiddaman.\" http://www.opensolaris.org/os/licensing. 6*75987085SAndy Fiddaman.\" 7*75987085SAndy Fiddaman.\" See the License for the specific language governing permissions and 8*75987085SAndy Fiddaman.\" limitations under the License. When distributing Covered Code, include 9*75987085SAndy Fiddaman.\" this CDDL HEADER in each file and include the License file at 10*75987085SAndy Fiddaman.\" usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below 11*75987085SAndy Fiddaman.\" this CDDL HEADER, with the 12*75987085SAndy Fiddaman.\" 13*75987085SAndy Fiddaman.\" fields enclosed by brackets "[]" replaced with your own identifying 14*75987085SAndy Fiddaman.\" information: Portions Copyright [yyyy] [name of copyright owner] 15*75987085SAndy Fiddaman.\" 16c10c16deSRichard Lowe.\" Copyright (c) 2008, Sun Microsystems, Inc. All Rights Reserved 17bfce16baSKeith M Wesolowski.\" Copyright 2012, Joyent, Inc. All Rights Reserved 18*75987085SAndy Fiddaman.\" Copyright 2023 Oxide Computer Company 19*75987085SAndy Fiddaman.\" 20*75987085SAndy Fiddaman.Dd June 1, 2023 21*75987085SAndy Fiddaman.Dt SVCCFG 8 22*75987085SAndy Fiddaman.Os 23*75987085SAndy Fiddaman.Sh NAME 24*75987085SAndy Fiddaman.Nm svccfg 25*75987085SAndy Fiddaman.Nd import, export, and modify service configurations 26*75987085SAndy Fiddaman.Sh SYNOPSIS 27*75987085SAndy Fiddaman.Nm 28*75987085SAndy Fiddaman.Op Fl v 29*75987085SAndy Fiddaman.Op Fl z Ar zone 30*75987085SAndy Fiddaman.Op Fl s Ar FMRI 31*75987085SAndy Fiddaman.Nm 32*75987085SAndy Fiddaman.Op Fl v 33*75987085SAndy Fiddaman.Op Fl z Ar zone 34*75987085SAndy Fiddaman.Op Fl s Ar FMRI 35*75987085SAndy Fiddaman.Ar subcommand Op Ar args Ns \&... 36*75987085SAndy Fiddaman.Nm 37*75987085SAndy Fiddaman.Op Fl v 38*75987085SAndy Fiddaman.Op Fl z Ar zone 39*75987085SAndy Fiddaman.Op Fl s Ar FMRI 40*75987085SAndy Fiddaman.Fl f Ar command-file 41*75987085SAndy Fiddaman.Sh DESCRIPTION 42*75987085SAndy FiddamanThe 43*75987085SAndy Fiddaman.Nm 44*75987085SAndy Fiddamancommand manipulates data in the service configuration repository. 45*75987085SAndy Fiddaman.Nm 46*75987085SAndy Fiddamancan be invoked interactively, with an individual subcommand, or by specifying a 47*75987085SAndy Fiddamancommand file that contains a series of subcommands. 48*75987085SAndy Fiddaman.Pp 49c10c16deSRichard LoweChanges made to an existing service in the repository typically do not take 50c10c16deSRichard Loweeffect for that service until the next time the service instance is refreshed. 51*75987085SAndy FiddamanSee the 52*75987085SAndy Fiddaman.Sy refresh 53*75987085SAndy Fiddamansubcommand on the 54*75987085SAndy Fiddaman.Xr svcadm 8 55*75987085SAndy Fiddamanman page for more details. 56*75987085SAndy Fiddaman.Sh OPTIONS 57c10c16deSRichard LoweThe following options are supported: 58*75987085SAndy Fiddaman.Bl -tag -width Ar 59*75987085SAndy Fiddaman.It Fl f Ar file 60*75987085SAndy FiddamanReads and executes 61*75987085SAndy Fiddaman.Nm 62*75987085SAndy Fiddamansubcommands from 63*75987085SAndy Fiddaman.Ar file . 64*75987085SAndy Fiddaman.It Fl s Ar FMRI 65*75987085SAndy FiddamanSelects the entity indicated by 66*75987085SAndy Fiddaman.Ar FMRI 67*75987085SAndy Fiddaman.Pq a fault management resource identifier 68*75987085SAndy Fiddamanbefore executing any subcommands. 69*75987085SAndy FiddamanSee 70*75987085SAndy Fiddaman.Xr smf 7 . 71*75987085SAndy Fiddaman.It Fl v 72*75987085SAndy FiddamanProduce more verbose output. 73*75987085SAndy Fiddaman.It Fl z Ar zone 74*75987085SAndy FiddamanManage services in the specified zone. 75*75987085SAndy FiddamanThis option is only applicable from the global zone, see 76*75987085SAndy Fiddaman.Xr zones 7 . 77*75987085SAndy Fiddaman.El 78*75987085SAndy Fiddaman.Sh SUBCOMMANDS 79c10c16deSRichard LoweSubcommands are divided into the categories specified in the subsections that 80c10c16deSRichard Lowefollow. 81*75987085SAndy Fiddaman.Pp 82*75987085SAndy FiddamanAll subcommands that accept 83*75987085SAndy Fiddaman.Ar FMRI Ns No s 84*75987085SAndy Fiddamanalso accept abbreviated or globbed patterns. 85*75987085SAndy FiddamanInstances and services can be abbreviated by specifying the instance name, or 86*75987085SAndy Fiddamanthe trailing portion of the service name. 87*75987085SAndy FiddamanFor example, given the 88*75987085SAndy Fiddaman.Ar FMRI : 89*75987085SAndy Fiddaman.Pp 90*75987085SAndy Fiddaman.D1 svc:/network/smtp:sendmail 91*75987085SAndy Fiddaman.Pp 92c10c16deSRichard LoweAll the following are valid abbreviations: 93*75987085SAndy Fiddaman.Pp 94*75987085SAndy Fiddaman.D1 sendmail :sendmail smtp smtp:sendmail network/smtp 95*75987085SAndy Fiddaman.Pp 96c10c16deSRichard LoweWhile the following are invalid: 97*75987085SAndy Fiddaman.Pp 98*75987085SAndy Fiddaman.D1 mail network network/smt 99*75987085SAndy Fiddaman.Pp 100*75987085SAndy FiddamanAbbreviated forms of 101*75987085SAndy Fiddaman.Ar FMRI Ns No s 102*75987085SAndy Fiddamanare unstable, and should not be used in scripts or other permanent tools. 103*75987085SAndy FiddamanIf a pattern matches more than one instance or service, an error message is 104*75987085SAndy Fiddamanprinted and no action is taken. 105*75987085SAndy Fiddaman.Ss General Subcommands 106*75987085SAndy Fiddaman.Bl -tag -width Ar 107*75987085SAndy Fiddaman.It Ic end , exit , quit 108c10c16deSRichard LoweExits immediately. 109*75987085SAndy Fiddaman.It Ic repository Ar repfile 110*75987085SAndy FiddamanUses 111*75987085SAndy Fiddaman.Ar repfile 112*75987085SAndy Fiddamanas a repository. 113*75987085SAndy FiddamanBy default, 114*75987085SAndy Fiddaman.Nm 115*75987085SAndy Fiddamanuses the system repository. 116*75987085SAndy Fiddaman.Pp 117*75987085SAndy FiddamanUse repository only with files from the identical version of illumos, including 118*75987085SAndy Fiddamanupdates, that you are currently running. 119*75987085SAndy FiddamanDo not use this subcommand with the system repository, 120*75987085SAndy Fiddaman.Pa /etc/svc/repository.db . 121*75987085SAndy Fiddaman.It Ic set Oo Fl v | V Oc 122*75987085SAndy FiddamanSets optional behavior. 123*75987085SAndy FiddamanIf no options are specified, set displays the options currently in effect. 124*75987085SAndy Fiddaman.Bl -tag -width Ds 125*75987085SAndy Fiddaman.It Fl v 126c10c16deSRichard LoweTurns on verbose mode. 127*75987085SAndy Fiddaman.It Fl V 128c10c16deSRichard LoweTurns off verbose mode. 129*75987085SAndy Fiddaman.El 130*75987085SAndy Fiddaman.El 131*75987085SAndy Fiddaman.Ss Service Profile Subcommands 132*75987085SAndy Fiddaman.Bl -tag -width Ar 133*75987085SAndy Fiddaman.It Ic apply Oo Fl n Oc Ar file 134*75987085SAndy FiddamanIf 135*75987085SAndy Fiddaman.Ar file 136*75987085SAndy Fiddamanis a service profile, properties, including general/enabled, that are specified 137*75987085SAndy Fiddamanin the file are modified in the SMF repository. 138*75987085SAndy FiddamanNot-yet-existent properties and property groups will be created. 139*75987085SAndy FiddamanThe type of the pre-existing property groups will not be changed by the profile. 140*75987085SAndy FiddamanExisting properties 141*75987085SAndy Fiddaman.Pq as distinguished from property groups 142*75987085SAndy Fiddaman.Em can 143*75987085SAndy Fiddamanhave their type changed by the profile. 144*75987085SAndy FiddamanNonexistent services and instances are ignored. 145*75987085SAndy FiddamanServices and instances modified by the profile will be refreshed. 146*75987085SAndy FiddamanIf 147*75987085SAndy Fiddaman.Fl n 148*75987085SAndy Fiddamanis specified, the profile is processed and no changes are applied to the SMF 149*75987085SAndy Fiddamanrepository. 150*75987085SAndy FiddamanAny syntax error found will be reported on 151*75987085SAndy Fiddaman.Dv stderr 152*75987085SAndy Fiddamanand an exit code of 153*75987085SAndy Fiddaman.Sy 1 154*75987085SAndy Fiddamanwill be returned. 155*75987085SAndy FiddamanSee 156*75987085SAndy Fiddaman.Xr smf 7 157*75987085SAndy Fiddamanfor a description of service profiles. 158*75987085SAndy FiddamanThis command requires privileges to modify properties in the service and 159*75987085SAndy Fiddamaninstance. 160*75987085SAndy FiddamanSee 161*75987085SAndy Fiddaman.Xr smf_security 7 162*75987085SAndy Fiddamanfor the privileges required to modify properties. 163*75987085SAndy FiddamanIf 164*75987085SAndy Fiddaman.Ar file 165*75987085SAndy Fiddamanis not a service profile, the subcommand fails. 166*75987085SAndy Fiddaman.It Ic extract Op > Ar file 167c10c16deSRichard LowePrints a service profile which represents the enabled status of the service 168*75987085SAndy Fiddamaninstances in the repository to standard output. 169*75987085SAndy FiddamanThe output may be redirected to a file. 170*75987085SAndy Fiddaman.El 171*75987085SAndy Fiddaman.Ss Service Manifest Subcommands 172*75987085SAndy Fiddaman.Bl -tag -width Ar 173*75987085SAndy Fiddaman.It Ic archive Op Fl a 174*75987085SAndy FiddamanDumps a full XML service description for all services, instances, and their 175*75987085SAndy Fiddamanpersistent properties in the repository. 176*75987085SAndy FiddamanThis does not include transient properties such as service state, and is 177*75987085SAndy Fiddamansuitable for a relocatable repository backup. 178*75987085SAndy Fiddaman.Pp 179*75987085SAndy FiddamanWithout the 180*75987085SAndy Fiddaman.Fl a 181*75987085SAndy Fiddamanoption, property groups containing protected information 182*75987085SAndy Fiddaman.Po 183*75987085SAndy Fiddamanidentified by the presence of the 184*75987085SAndy Fiddaman.Sy read_authorization 185*75987085SAndy Fiddamanproperty \(em see 186*75987085SAndy Fiddaman.Xr smf_security 7 187*75987085SAndy Fiddaman.Pc 188*75987085SAndy Fiddamanwill be archived without their property values. 189*75987085SAndy FiddamanWhen the 190*75987085SAndy Fiddaman.Fl a 191*75987085SAndy Fiddamanoption is specified, all values will be archived. 192*75987085SAndy FiddamanAn error results if there are insufficient privileges to read these values. 193*75987085SAndy Fiddaman.It Ic export Oo Fl a Oc Ar service_FMRI Op > Ar file 194c10c16deSRichard LoweThe service description for the specified service and its instances is written 195*75987085SAndy Fiddamanto standard output or redirected to the given file. 196*75987085SAndy FiddamanDependencies with a boolean 197*75987085SAndy Fiddaman.Dq external 198*75987085SAndy Fiddamanproperty set to true are omitted in the belief that they were created on behalf 199*75987085SAndy Fiddamanof another service. 200*75987085SAndy Fiddaman.Pp 201*75987085SAndy FiddamanWithout the 202*75987085SAndy Fiddaman.Fl a 203*75987085SAndy Fiddamanoption, property groups containing protected information 204*75987085SAndy Fiddaman.Po 205*75987085SAndy Fiddamanidentified by the presence of the 206*75987085SAndy Fiddaman.Sy read_authorization 207*75987085SAndy Fiddamanproperty \(em see 208*75987085SAndy Fiddaman.Xr smf_security 7 209*75987085SAndy Fiddaman.Pc 210*75987085SAndy Fiddamanwill be exported without their property values. 211*75987085SAndy FiddamanWhen the 212*75987085SAndy Fiddaman.Fl a 213*75987085SAndy Fiddamanoption is specified, all values will be archived. 214*75987085SAndy FiddamanAn error results if there are insufficient privileges to read these values. 215*75987085SAndy Fiddaman.Pp 216*75987085SAndy FiddamanNote that 217*75987085SAndy Fiddaman.Ic export 218*75987085SAndy Fiddamanrequires a service FMRI. 219*75987085SAndy FiddamanTo ease the use of arguments cut and pasted from other command output, if you 220*75987085SAndy Fiddamanspecify a complete instance FMRI, the entire corresponding service including 221*75987085SAndy Fiddamanall instances is exported and a warning is issued. 222*75987085SAndy FiddamanIf you specify an abbreviation, such as 223*75987085SAndy Fiddaman.Sq apache2 224*75987085SAndy Fiddamanor 225*75987085SAndy Fiddaman.Sq sendmail , 226*75987085SAndy Fiddamanthat specifies an instance, the command fails. 227*75987085SAndy Fiddaman.It Ic import Oo Fl V Oc Ar file 228*75987085SAndy FiddamanIf 229*75987085SAndy Fiddaman.Ar file 230*75987085SAndy Fiddamanis a service manifest, then the services and instances it specifies are 231*75987085SAndy Fiddamanimported into the repository. 232*75987085SAndy FiddamanAccording to the file, dependencies may be created in other services. 233*75987085SAndy FiddamanSee 234*75987085SAndy Fiddaman.Xr smf 7 235*75987085SAndy Fiddamanfor a description of service manifests. 236*75987085SAndy FiddamanSee 237*75987085SAndy Fiddaman.Xr smf_security 7 238*75987085SAndy Fiddamanfor the privileges required to create and modify service configurations. 239*75987085SAndy Fiddaman.Pp 240c10c16deSRichard LoweServices and instances in the manifest will be validated against template data 241c10c16deSRichard Lowein the manifest and the repository, and warnings will be issued for all 242*75987085SAndy Fiddamantemplate violations. 243*75987085SAndy FiddamanSee 244*75987085SAndy Fiddaman.Xr smf_template 7 245*75987085SAndy Fiddamanfor a description of templates. 246*75987085SAndy FiddamanIf the 247*75987085SAndy Fiddaman.Fl V 248*75987085SAndy Fiddamanoption is specified, manifests that violate the defined templates will fail to 249*75987085SAndy Fiddamanimport. 250*75987085SAndy FiddamanIn interactive invocations of 251*75987085SAndy Fiddaman.Nm , 252*75987085SAndy Fiddaman.Fl V 253*75987085SAndy Fiddamanis the default behavior. 254*75987085SAndy Fiddaman.Pp 255c10c16deSRichard LoweFor existing services and instances, properties which have not changed since 256*75987085SAndy Fiddamanthe last import snapshot was taken are upgraded to those specified by the 257*75987085SAndy Fiddamanmanifest. 258*75987085SAndy FiddamanConflicts 259*75987085SAndy Fiddaman.Pq properties which have been changed both in the repository and the manifest 260*75987085SAndy Fiddamanare reported on the standard error stream. 261*75987085SAndy Fiddaman.Nm 262*75987085SAndy Fiddamanwill never upgrade the 263*75987085SAndy Fiddaman.Dq general/enabled 264*75987085SAndy Fiddamanand 265*75987085SAndy Fiddaman.Dq general/restarter 266*75987085SAndy Fiddamanproperties, 267*75987085SAndy Fiddamansince they represent administrator preference. 268*75987085SAndy Fiddaman.It Ic inventory Ar file 269*75987085SAndy FiddamanIf 270*75987085SAndy Fiddaman.Ar file 271*75987085SAndy Fiddamanis determined to be a service manifest, then the FMRIs of the services and 272*75987085SAndy Fiddamaninstances the 273*75987085SAndy Fiddaman.Ar file 274*75987085SAndy Fiddamandescribes are printed. 275*75987085SAndy FiddamanFor each service, the FMRIs of its instances are displayed before the FMRI 276c10c16deSRichard Loweof the service. 277*75987085SAndy Fiddaman.It Ic restore 278c10c16deSRichard LoweRestores the contents of the repository from a full XML service description 279*75987085SAndy Fiddamanpreviously created by the 280*75987085SAndy Fiddaman.Ic archive 281*75987085SAndy Fiddamansubcommand. 282*75987085SAndy FiddamanIf the archive was generated without the use of the 283*75987085SAndy Fiddaman.Fl a 284*75987085SAndy Fiddamanoption, the contents of the repository following completion of the restore will 285*75987085SAndy Fiddamannot include the values of any read-protected properties 286*75987085SAndy Fiddaman.Pq see Xr smf_security 7 . 287*75987085SAndy FiddamanIf these are required, they must be restored manually. 288*75987085SAndy Fiddaman.Pp 289c10c16deSRichard LoweRestoring an archive which is inconsistent with currently installed software 290*75987085SAndy Fiddaman.Pq including patch revisions 291*75987085SAndy Fiddamanmight yield unpredictable results. 292*75987085SAndy FiddamanTherefore, prior to restoring an archive, all system and application software, 293*75987085SAndy Fiddamanincluding any service manifests, should be restored to the same state it was in 294*75987085SAndy Fiddamanat the time the archive was made. 295*75987085SAndy Fiddaman.It Ic validate Op Ar file | fmri 296*75987085SAndy FiddamanThe 297*75987085SAndy Fiddaman.Ic validate 298*75987085SAndy Fiddamansubcommand can operate on a manifest file, an instance FMRI, or the current 299*75987085SAndy Fiddamaninstance or snapshot entity selection. 300*75987085SAndy FiddamanWhen an argument is specified, 301*75987085SAndy Fiddaman.Nm 302*75987085SAndy Fiddamanwill check to see whether the specified file exists. 303*75987085SAndy FiddamanIf the file exists, it will be validated. 304*75987085SAndy FiddamanIf a file of the specified name does not exist, the argument is treated as an 305*75987085SAndy FiddamanFMRI pattern. 306*75987085SAndy FiddamanIf a conflict arises between a filename and an FMRI, use the svc: and file: 307*75987085SAndy Fiddamanprefixes to tell 308*75987085SAndy Fiddaman.Nm 309*75987085SAndy Fiddamanhow to interpret the argument. 310*75987085SAndy Fiddaman.Pp 311c10c16deSRichard LoweWhen you specify a file, the file is processed in a manner similar to 312*75987085SAndy Fiddaman.Ic import 313*75987085SAndy Fiddaman.Fl V , 314*75987085SAndy Fiddamanbut no changes are made to the repository. 315*75987085SAndy FiddamanIf any errors are detected, 316*75987085SAndy Fiddaman.Nm 317*75987085SAndy Fiddamandisplays the errors and exits with a nonzero exit status. 318*75987085SAndy Fiddaman.Pp 319*75987085SAndy FiddamanFor an instance 320*75987085SAndy Fiddaman.Ar fmri , 321*75987085SAndy Fiddamaninstance entity selection, or snapshot entity selection, the specified instance 322*75987085SAndy Fiddamanin its composed form 323*75987085SAndy Fiddaman.Po 324*75987085SAndy Fiddamansee 325*75987085SAndy Fiddaman.Dq Properties and Property Groups 326*75987085SAndy Fiddamanin 327*75987085SAndy Fiddaman.Xr smf 7 328*75987085SAndy Fiddaman.Pc 329*75987085SAndy Fiddamanwill be validated against template data in the repository. 330*75987085SAndy FiddamanInstance FMRIs and instance entity selections use the 331*75987085SAndy Fiddaman.Dq running 332*75987085SAndy Fiddamansnapshot for validation. 333*75987085SAndy FiddamanWarnings will be issued for all template violations. 334*75987085SAndy FiddamanSee 335*75987085SAndy Fiddaman.Xr smf_template 7 336*75987085SAndy Fiddamanfor a description of templates. 337*75987085SAndy Fiddaman.El 338*75987085SAndy Fiddaman.Ss Entity Selection, Modification, and Navigation Subcommands 339*75987085SAndy FiddamanAn 340*75987085SAndy Fiddaman.Dq entity 341*75987085SAndy Fiddamanrefers to a scope, service, or service instance. 342*75987085SAndy Fiddaman.Bl -tag -width Ar 343*75987085SAndy Fiddaman.It Ic add Ar name 344*75987085SAndy FiddamanA new entity with the given name is created as a child of the current selection. 345*75987085SAndy FiddamanSee 346*75987085SAndy Fiddaman.Xr smf_security 7 347*75987085SAndy Fiddamanfor the privileges required to create entities. 348*75987085SAndy Fiddaman.It Ic delete Oo Fl f Oc Brq Ar name | fmri 349*75987085SAndy FiddamanThe named child of the current selection or the entity specified by 350*75987085SAndy Fiddaman.Ar fmri 351*75987085SAndy Fiddamanis deleted. 352*75987085SAndy FiddamanAttempts to delete service instances in the 353*75987085SAndy Fiddaman.Dq online 354*75987085SAndy Fiddamanor 355*75987085SAndy Fiddaman.Dq degraded 356*75987085SAndy Fiddamanstate will fail unless the 357*75987085SAndy Fiddaman.Fl f 358*75987085SAndy Fiddamanflag is specified. 359*75987085SAndy FiddamanIf a service or service instance has a 360*75987085SAndy Fiddaman.Dq dependents 361*75987085SAndy Fiddamanproperty group of type 362*75987085SAndy FiddamanDq framework , 363*75987085SAndy Fiddamanthen for each of its properties with type 364*75987085SAndy Fiddaman.Dq astring 365*75987085SAndy Fiddamanor 366*75987085SAndy Fiddaman.Dq fmri , 367*75987085SAndy Fiddamanif the property has a single value which names a service or service instance 368*75987085SAndy Fiddamanthen the dependency property group in the indicated service or service instance 369*75987085SAndy Fiddamanwith the same name as the property will be deleted. 370*75987085SAndy FiddamanSee 371*75987085SAndy Fiddaman.Xr smf_security 7 372*75987085SAndy Fiddamanfor the privileges required to delete service configurations. 373*75987085SAndy Fiddaman.It Ic list Op Ar pattern 374c10c16deSRichard LoweThe child entities of the current selection whose names match the glob pattern 375*75987085SAndy Fiddaman.Ar pattern 376*75987085SAndy Fiddamanare displayed 377*75987085SAndy Fiddaman.Pq see Xr fnmatch 7 . 378*75987085SAndy Fiddaman.Dq :properties 379*75987085SAndy Fiddamanis also listed for property-bearing entities, namely services and service 380*75987085SAndy Fiddamaninstances. 381*75987085SAndy Fiddaman.It Ic select Brq Ar name | fmri 382c10c16deSRichard LoweIf the argument names a child of the current selection, it becomes the current 383*75987085SAndy Fiddamanselection. 384*75987085SAndy FiddamanOtherwise, the argument is interpreted as an FMRI and the entity that the 385*75987085SAndy Fiddamanargument specifies becomes the current selection. 386*75987085SAndy Fiddaman.It Ic unselect 387c10c16deSRichard LoweThe parent of the current selection becomes the current selection. 388*75987085SAndy Fiddaman.El 389*75987085SAndy Fiddaman.Ss Property Inspection and Modification Subcommands 390*75987085SAndy Fiddaman.Bl -tag -width Ar 391*75987085SAndy Fiddaman.It Ic addpg Ar name Ar type Op Ar flags 392*75987085SAndy FiddamanAdds a property group with the given 393*75987085SAndy Fiddaman.Ar name 394*75987085SAndy Fiddamanand type to the current selection. 395*75987085SAndy Fiddaman.Ar flags 396*75987085SAndy Fiddamanis a string of characters which designates the flags with which to create the 397*75987085SAndy Fiddamanproperty group. 398*75987085SAndy Fiddaman.Sq P 399*75987085SAndy Fiddamanrepresents 400*75987085SAndy Fiddaman.Dv SCF_PG_FLAG_NONPERSISTENT 401*75987085SAndy Fiddaman.Pq see Xr scf_service_add_pg 3SCF . 402*75987085SAndy FiddamanSee 403*75987085SAndy Fiddaman.Xr smf_security 7 404*75987085SAndy Fiddamanfor the privileges required to create property groups. 405*75987085SAndy Fiddaman.It Ic addpropvalue Ar pg/name Oo Ar type Ns No \&: Oc Ar value 406*75987085SAndy FiddamanAdds the given value to a property. 407*75987085SAndy FiddamanIf 408*75987085SAndy Fiddaman.Ar type 409*75987085SAndy Fiddamanis given and the property exists, then if 410*75987085SAndy Fiddaman.Ar type 411*75987085SAndy Fiddamandoes not agree with the property's 412*75987085SAndy Fiddaman.Ar type , 413*75987085SAndy Fiddamanthe subcommand fails. 414*75987085SAndy FiddamanThe values may be enclosed in double-quotes. 415*75987085SAndy FiddamanString values containing double-quotes or backslashes must be enclosed by 416*75987085SAndy Fiddamandouble-quotes and the contained double-quotes and backslashes must be quoted by 417*75987085SAndy Fiddamanbackslashes. 418*75987085SAndy FiddamanNonexistent properties are created, in which case the 419*75987085SAndy Fiddaman.Ar type 420*75987085SAndy Fiddamanspecifier must be present. 421*75987085SAndy FiddamanSee 422*75987085SAndy Fiddaman.Xr scf_value_create 3SCF 423*75987085SAndy Fiddamanfor a list of available property types. 424*75987085SAndy FiddamanSee 425*75987085SAndy Fiddaman.Xr smf_security 7 426*75987085SAndy Fiddamanfor the privileges required to modify properties. 427*75987085SAndy FiddamanThe new value will be appended to the end of the list of property values 428*75987085SAndy Fiddamanassociated with the property. 429*75987085SAndy Fiddaman.It Ic delpg Ar name 430*75987085SAndy FiddamanDeletes the property group 431*75987085SAndy Fiddaman.Ar name 432*75987085SAndy Fiddamanof the current selection. 433*75987085SAndy FiddamanSee 434*75987085SAndy Fiddaman.Xr smf_security 7 435*75987085SAndy Fiddamanfor the privileges required to delete property groups. 436*75987085SAndy Fiddaman.It Ic delprop Ar pg Ns Op / Ns Ar name 437*75987085SAndy FiddamanDeletes the named property group or property of the current selection. 438*75987085SAndy FiddamanSee 439*75987085SAndy Fiddaman.Xr smf_security 7 440*75987085SAndy Fiddamanfor the privileges required to delete properties. 441*75987085SAndy Fiddaman.It Ic delpropvalue Ar pg/name Ar globpattern 442*75987085SAndy FiddamanDeletes all values matching the given 443*75987085SAndy Fiddaman.Ar glob 444*75987085SAndy Fiddamanpattern in the named property. 445*75987085SAndy FiddamanSucceeds even if no values match. 446*75987085SAndy FiddamanSee 447*75987085SAndy Fiddaman.Xr smf_security 7 448*75987085SAndy Fiddamanfor the privileges required to modify properties. 449*75987085SAndy Fiddaman.It Xo 450*75987085SAndy Fiddaman.Ic describe 451*75987085SAndy Fiddaman.Op Fl v 452*75987085SAndy Fiddaman.Op Fl t 453*75987085SAndy Fiddaman.Op Ar propertygroup Ns No / Ns Ar property 454*75987085SAndy Fiddaman.Xc 455c10c16deSRichard LoweDescribes either the current or the possible settings. 456*75987085SAndy Fiddaman.Pp 457*75987085SAndy FiddamanWhen invoked without arguments, 458*75987085SAndy Fiddaman.Ic describe 459*75987085SAndy Fiddamangives basic descriptions 460*75987085SAndy Fiddaman.Pq if available 461*75987085SAndy Fiddamanof the currently selected entity and all of its currently set property groups 462*75987085SAndy Fiddamanand properties. 463*75987085SAndy FiddamanA property group or specific property can be queried by specifying either the 464*75987085SAndy Fiddamanproperty group name, or the property group name and property name, separated by 465*75987085SAndy Fiddamana slash 466*75987085SAndy Fiddaman.Pq Sq / , 467*75987085SAndy Fiddamanas an argument. 468*75987085SAndy Fiddaman.Pp 469*75987085SAndy FiddamanThe 470*75987085SAndy Fiddaman.Fl v 471*75987085SAndy Fiddamanoption gives all information available, including descriptions for current 472*75987085SAndy Fiddamansettings, constraints, and other possible setting choices. 473*75987085SAndy Fiddaman.Pp 474*75987085SAndy FiddamanThe 475*75987085SAndy Fiddaman.Fl t 476*75987085SAndy Fiddamanoption shows only the template data for the selection 477*75987085SAndy Fiddaman.Pq see Xr smf_template 7 , 478*75987085SAndy Fiddamanand does not display the current settings for property groups and properties. 479*75987085SAndy Fiddaman.It Ic editprop 480*75987085SAndy FiddamanCommented commands to reproduce the property groups and properties of the 481c10c16deSRichard Lowecurrent selection are placed in a temporary file and the program named by the 482*75987085SAndy Fiddaman.Ev EDITOR 483*75987085SAndy Fiddamanenvironment variable is invoked to edit it. 484*75987085SAndy FiddamanUpon completion, the commands in the temporary file are executed. 485*75987085SAndy FiddamanThe default editor is 486*75987085SAndy Fiddaman.Xr vi 1 . 487*75987085SAndy FiddamanSee 488*75987085SAndy Fiddaman.Xr smf_security 7 489*75987085SAndy Fiddamanfor the privileges required to create, modify, or delete properties. 490*75987085SAndy Fiddaman.It Ic listpg Op Ar pattern 491c10c16deSRichard LoweDisplays the names, types, and flags of property groups of the current 492*75987085SAndy Fiddamanselection. 493*75987085SAndy FiddamanIf an argument is given, it is taken as a glob pattern and only property groups 494*75987085SAndy Fiddamanwith names which match the argument are listed. 495*75987085SAndy Fiddaman.Pp 496c10c16deSRichard LoweIn interactive mode, a basic description of the property groups is also given. 497*75987085SAndy Fiddaman.It Ic listprop Op Ar pattern 498*75987085SAndy FiddamanLists property groups and properties of the current selection. 499*75987085SAndy FiddamanFor property groups, names, types, and flags are listed. 500*75987085SAndy FiddamanFor properties, names 501*75987085SAndy Fiddaman.Pq prepended by the property group name and a slash Sq / , 502*75987085SAndy Fiddamantypes, and values are listed. 503*75987085SAndy FiddamanSee 504*75987085SAndy Fiddaman.Xr scf_value_create 3SCF 505*75987085SAndy Fiddamanfor a list of available property types. 506*75987085SAndy FiddamanIf an argument is supplied it is taken as a glob pattern and only property 507*75987085SAndy Fiddamangroups and properties with names which match the argument are listed. 508*75987085SAndy Fiddaman.It Xo 509*75987085SAndy Fiddaman.Ic setenv 510*75987085SAndy Fiddaman.Op Fl i | s 511*75987085SAndy Fiddaman.Op Fl m Ar method_name 512*75987085SAndy Fiddaman.Ar envvar value 513*75987085SAndy Fiddaman.Xc 514c10c16deSRichard LoweSets a method environment variable for a service or instance by changing the 515*75987085SAndy Fiddaman"environment" property in the 516*75987085SAndy Fiddaman.Ar method_name 517*75987085SAndy Fiddamanproperty group, if that property group has type 518*75987085SAndy Fiddaman.Dq method . 519*75987085SAndy FiddamanIf 520*75987085SAndy Fiddaman.Ar method_name 521*75987085SAndy Fiddamanis not specified and the 522*75987085SAndy Fiddaman.Fl i 523*75987085SAndy Fiddamanoption is used, the 524*75987085SAndy Fiddaman.Dq method_context 525*75987085SAndy Fiddamanproperty group is used, if an instance is currently selected. 526*75987085SAndy FiddamanIf the 527*75987085SAndy Fiddaman.Fl s 528*75987085SAndy Fiddamanoption is used and a service is currently selected, its 529*75987085SAndy Fiddaman.Dq method_context 530*75987085SAndy Fiddamanproperty group is used. 531*75987085SAndy FiddamanIf the 532*75987085SAndy Fiddaman.Fl s 533*75987085SAndy Fiddamanoption is used and an instance is currently selected, the 534*75987085SAndy Fiddaman.Dq method_context 535*75987085SAndy Fiddamanproperty group of its parent is used. 536*75987085SAndy FiddamanIf neither the 537*75987085SAndy Fiddaman.Fl i 538*75987085SAndy Fiddamanoption nor the 539*75987085SAndy Fiddaman.Fl s 540*75987085SAndy Fiddamanoption is used, the 541*75987085SAndy Fiddaman.Dq start 542*75987085SAndy Fiddamanproperty group is searched for in the currently selected entity and, if an 543*75987085SAndy Fiddamaninstance is currently selected, its parent is also searched. 544*75987085SAndy FiddamanIf the 545*75987085SAndy Fiddaman.Dq inetd_start 546*75987085SAndy Fiddamanproperty group is not located, it is searched for in a similar manner. 547*75987085SAndy Fiddaman.Pp 548*75987085SAndy FiddamanOnce the property is located, all values which begin with 549*75987085SAndy Fiddaman.Ar envvar 550*75987085SAndy Fiddamanfollowed by a 551*75987085SAndy Fiddaman.Dq \&= 552*75987085SAndy Fiddamanare removed, and the value 553*75987085SAndy Fiddaman.Dq Ar envvar Ns No = Ns Ar value 554*75987085SAndy Fiddamanis added. 555*75987085SAndy FiddamanSee 556*75987085SAndy Fiddaman.Xr smf_security 7 557*75987085SAndy Fiddamanfor the privileges required to modify properties. 558*75987085SAndy Fiddaman.It Xo 559*75987085SAndy Fiddaman.Ic setprop 560*75987085SAndy Fiddaman.Ar pg/name No = 561*75987085SAndy Fiddaman.Op Ar type Ns No \&: 562*75987085SAndy Fiddaman.Ar value 563*75987085SAndy Fiddaman.Xc 564*75987085SAndy Fiddaman.It Xo 565*75987085SAndy Fiddaman.Ic setprop 566*75987085SAndy Fiddaman.Ar pg/name No = 567*75987085SAndy Fiddaman.Op Ar type Ns No \&: 568*75987085SAndy Fiddaman.No \&( Ns Ar values \&... No \&) 569*75987085SAndy Fiddaman.Xc 570*75987085SAndy FiddamanSets the 571*75987085SAndy Fiddaman.Ar name 572*75987085SAndy Fiddamanproperty of the 573*75987085SAndy Fiddaman.Ar pg 574*75987085SAndy Fiddamanproperty group of the current selection to the given values of type 575*75987085SAndy Fiddaman.Ar type . 576*75987085SAndy FiddamanSee 577*75987085SAndy Fiddaman.Xr scf_value_create 3SCF 578*75987085SAndy Fiddamanfor a list of available property types. 579*75987085SAndy FiddamanIf the property already exists and the 580*75987085SAndy Fiddaman.Ar type 581*75987085SAndy Fiddamandisagrees with the existing 582*75987085SAndy Fiddaman.Ar type 583*75987085SAndy Fiddamanon the property, the subcommand fails. 584*75987085SAndy FiddamanValues may be enclosed in double-quotes. 585*75987085SAndy FiddamanString values which contain double-quotes or backslashes must be enclosed by 586*75987085SAndy Fiddamandouble-quotes and the contained double-quotes and backslashes must be quoted by 587*75987085SAndy Fiddamanbackslashes. 588*75987085SAndy FiddamanIf the named property does not exist, it is created, as long as the type is 589*75987085SAndy Fiddamanspecified. 590*75987085SAndy FiddamanSee 591*75987085SAndy Fiddaman.Xr smf_security 7 592*75987085SAndy Fiddamanfor the privileges required to create or modify properties. 593*75987085SAndy FiddamanMultiple values will be stored in the order in which they are specified. 594*75987085SAndy Fiddaman.It Xo 595*75987085SAndy Fiddaman.Ic unsetenv 596*75987085SAndy Fiddaman.Op Fl i | s 597*75987085SAndy Fiddaman.Op Fl m Ar method_name 598*75987085SAndy Fiddaman.Ar envvar value 599*75987085SAndy Fiddaman.Xc 600c10c16deSRichard LoweRemoves a method environment variable for a service or instance by changing the 601*75987085SAndy Fiddaman.Dq environment 602*75987085SAndy Fiddamanproperty in the 603*75987085SAndy Fiddaman.Ar method_name 604*75987085SAndy Fiddamanproperty group, if that property group has type 605*75987085SAndy Fiddaman.Dq method . 606*75987085SAndy FiddamanIf 607*75987085SAndy Fiddaman.Ar method_name 608*75987085SAndy Fiddamanis not specified and the 609*75987085SAndy Fiddaman.Fl i 610*75987085SAndy Fiddamanoption is used, the 611*75987085SAndy Fiddaman.Dq method_context 612*75987085SAndy Fiddamanproperty group is used, if an instance is currently selected. 613*75987085SAndy FiddamanIf the 614*75987085SAndy Fiddaman.Fl s 615*75987085SAndy Fiddamanoption is used and a service is currently selected, its 616*75987085SAndy Fiddaman.Dq method_context 617*75987085SAndy Fiddamanproperty group is used. 618*75987085SAndy FiddamanIf the 619*75987085SAndy Fiddaman.Fl s 620*75987085SAndy Fiddamanoption is used and an instance is currently selected, the 621*75987085SAndy Fiddaman.Dq method_context 622*75987085SAndy Fiddamanproperty group of its parent is used. 623*75987085SAndy FiddamanIf neither the 624*75987085SAndy Fiddaman.Fl i 625*75987085SAndy Fiddamanoption nor the 626*75987085SAndy Fiddaman.Fl s 627*75987085SAndy Fiddamanoption is used, the 628*75987085SAndy Fiddaman.Dq start 629*75987085SAndy Fiddamanproperty group is searched for in the currently selected entity and, if an 630*75987085SAndy Fiddamaninstance is currently selected, its parent is also searched. 631*75987085SAndy FiddamanIf the 632*75987085SAndy Fiddaman.Dq inetd_start 633*75987085SAndy Fiddamanproperty group is not located, it is searched for in a similar manner. 634*75987085SAndy Fiddaman.Pp 635*75987085SAndy FiddamanOnce the property is located, all values which begin with 636*75987085SAndy Fiddaman.Ar envvar 637*75987085SAndy Fiddamanfollowed by 638*75987085SAndy Fiddaman.Dq = 639*75987085SAndy Fiddamanare removed. 640*75987085SAndy FiddamanSee 641*75987085SAndy Fiddaman.Xr smf_security 7 642*75987085SAndy Fiddamanfor the privileges required to modify properties. 643*75987085SAndy Fiddaman.El 644*75987085SAndy Fiddaman.Ss Snapshot Navigation and Selection Subcommands 645*75987085SAndy Fiddaman.Bl -tag -width Ar 646*75987085SAndy Fiddaman.It Ic listsnap 647c10c16deSRichard LoweDisplays snapshots available for the currently selected instance. 648*75987085SAndy Fiddaman.It Ic revert Op Ar snapshot 649c10c16deSRichard LoweReverts the properties of the currently selected instance and its service to 650*75987085SAndy Fiddamanthose recorded in the named snapshot. 651*75987085SAndy FiddamanIf no argument is given, use the currently selected snapshot and deselect it on 652*75987085SAndy Fiddamansuccess. 653*75987085SAndy FiddamanThe changed property values can be made active via the 654*75987085SAndy Fiddaman.Ic refresh 655*75987085SAndy Fiddamansubcommand of 656*75987085SAndy Fiddaman.Xr svcadm 8 . 657*75987085SAndy FiddamanSee 658*75987085SAndy Fiddaman.Xr smf_security 7 659*75987085SAndy Fiddamanfor the privileges required to change properties. 660*75987085SAndy Fiddaman.It Ic selectsnap Op Ar name 661*75987085SAndy FiddamanChanges the current snapshot to the one named by 662*75987085SAndy Fiddaman.Ar name . 663*75987085SAndy FiddamanIf no 664*75987085SAndy Fiddaman.Ar name 665*75987085SAndy Fiddamanis specified, deselect the currently selected snapshot. 666*75987085SAndy FiddamanSnapshots are read-only. 667*75987085SAndy Fiddaman.El 668*75987085SAndy Fiddaman.Ss Instance Subcommands 669*75987085SAndy Fiddaman.Bl -tag -width Ar 670*75987085SAndy Fiddaman.It Ic refresh 671c10c16deSRichard LoweCommit the values from the current configuration to the running snapshot, 672*75987085SAndy Fiddamanmaking them available for use by the currently selected instance. 673*75987085SAndy FiddamanIf the repository subcommand has not been used to select a repository, direct 674*75987085SAndy Fiddamanthe instance's restarter to reread the updated configuration. 675*75987085SAndy Fiddaman.El 676*75987085SAndy Fiddaman.Sh ENVIRONMENT 677*75987085SAndy Fiddaman.Bl -tag -width Ds 678*75987085SAndy Fiddaman.It Ev EDITOR 679*75987085SAndy FiddamanThe command to run when the 680*75987085SAndy Fiddaman.Ic editprop 681*75987085SAndy Fiddamansubcommand is used. 682*75987085SAndy FiddamanThe default editor is 683*75987085SAndy Fiddaman.Xr vi 1 . 684*75987085SAndy Fiddaman.El 685*75987085SAndy Fiddaman.Sh EXIT STATUS 686*75987085SAndy FiddamanThe following exit values are returned: 687*75987085SAndy Fiddaman.Bl -tag -width Ds 688*75987085SAndy Fiddaman.It Sy 0 689*75987085SAndy FiddamanSuccessful execution. 690*75987085SAndy Fiddaman.It Sy 1 691*75987085SAndy FiddamanOne or more subcommands resulted in failure. 692*75987085SAndy FiddamanError messages are written to the standard error stream. 693*75987085SAndy Fiddaman.It Sy 2 694*75987085SAndy FiddamanInvalid command line options were specified. 695*75987085SAndy Fiddaman.El 696*75987085SAndy Fiddaman.Sh EXAMPLES 697*75987085SAndy Fiddaman.Sy Example 1 No Importing a Service Description 698*75987085SAndy Fiddaman.Pp 699*75987085SAndy FiddamanThe following example imports a service description for the 700*75987085SAndy Fiddaman.Sy seismic 701c10c16deSRichard Loweservice in the XML manifest specified on the command line. 702*75987085SAndy Fiddaman.Pp 703*75987085SAndy Fiddaman.Dl # svccfg import /var/svc/manifest/site/seismic.xml 704*75987085SAndy Fiddaman.Pp 705c10c16deSRichard LoweNote that the manifest must follow the format specified in 706*75987085SAndy Fiddaman.Xr service_bundle 5 . 707*75987085SAndy Fiddaman.Pp 708*75987085SAndy Fiddaman.Sy Example 2 No Exporting a Service Description 709*75987085SAndy Fiddaman.Pp 710c10c16deSRichard LoweTo export a service description on the local system: 711*75987085SAndy Fiddaman.Pp 712*75987085SAndy Fiddaman.Dl # svccfg export dumpadm >/tmp/dump.xml 713*75987085SAndy Fiddaman.Pp 714*75987085SAndy Fiddaman.Sy Example 3 No Deleting a Service Instance 715*75987085SAndy Fiddaman.Pp 716c10c16deSRichard LoweTo delete a service instance: 717*75987085SAndy Fiddaman.Pp 718*75987085SAndy Fiddaman.Dl # svccfg delete network/inetd-upgrade:default 719*75987085SAndy Fiddaman.Pp 720*75987085SAndy Fiddaman.Sy Example 4 - Checking Properties in an Alternate Repository 721*75987085SAndy Fiddaman.Pp 722c10c16deSRichard LoweTo examine the state of a service's properties after loading an alternate 723*75987085SAndy Fiddamanrepository, use the sequence of commands shown below. 724*75987085SAndy FiddamanOne might use such commands, for example, to determine whether a service was 725*75987085SAndy Fiddamanenabled in a particular repository backup. 726*75987085SAndy Fiddaman.Bd -literal -offset indent 727*75987085SAndy Fiddaman# svccfg 728*75987085SAndy Fiddamansvc:> repository /etc/svc/repository-boot 729*75987085SAndy Fiddamansvc:> select telnet:default 730*75987085SAndy Fiddamansvc:/network/telnet:default> listprop general/enabled 731*75987085SAndy Fiddamangeneral/enabled boolean false 732*75987085SAndy Fiddamansvc:/network/telnet:default> exit 733*75987085SAndy Fiddaman.Ed 734*75987085SAndy Fiddaman.Pp 735*75987085SAndy Fiddaman.Sy Example 5 No Enabling Debugging 736*75987085SAndy Fiddaman.Pp 737*75987085SAndy FiddamanTo modify 738*75987085SAndy Fiddaman.Ev LD_PRELOAD 739*75987085SAndy Fiddamanfor a start method and enable the use of 740*75987085SAndy Fiddaman.Xr libumem 3LIB 741*75987085SAndy Fiddamanwith debugging features active: 742*75987085SAndy Fiddaman.Bd -literal -offset indent 743*75987085SAndy Fiddaman$ svccfg -s system/service setenv LD_PRELOAD libumem.so 744*75987085SAndy Fiddaman$ svccfg -s system/service setenv UMEM_DEBUG default 745*75987085SAndy Fiddaman.Ed 746*75987085SAndy Fiddaman.Pp 747*75987085SAndy Fiddaman.Sy Example 6 No Using the Ic describe No Subcommand 748*75987085SAndy Fiddaman.Pp 749*75987085SAndy FiddamanThe following command illustrates the use of the 750*75987085SAndy Fiddaman.Ic describe 751*75987085SAndy Fiddamansubcommand. 752*75987085SAndy Fiddaman.Bd -literal -offset indent 753*75987085SAndy Fiddaman# svccfg -s console-login describe ttymon 754*75987085SAndy Fiddamanttymon application 755*75987085SAndy Fiddamanttymon/device astring /dev/console 756*75987085SAndy Fiddaman terminal device to be used for the console login prompt 757*75987085SAndy Fiddamanttymon/label astring 758*75987085SAndy Fiddaman console appropriate entry from /etc/ttydefs 759*75987085SAndy Fiddaman\&... 760*75987085SAndy Fiddaman.Ed 761*75987085SAndy Fiddaman.Sh INTERFACE STABILITY 762*75987085SAndy FiddamanThe interactive output of 763*75987085SAndy Fiddaman.Nm 764*75987085SAndy Fiddamanis 765*75987085SAndy Fiddaman.Sy Not-An-Interface 766*75987085SAndy Fiddamanand may change at any time. 767*75987085SAndy Fiddaman.Pp 768*75987085SAndy FiddamanThe command line interface and non-interactive output of 769*75987085SAndy Fiddaman.Nm 770*75987085SAndy Fiddamanis 771*75987085SAndy Fiddaman.Sy Committed . 772*75987085SAndy Fiddaman.Sh SEE ALSO 773*75987085SAndy Fiddaman.Xr svcprop 1 , 774*75987085SAndy Fiddaman.Xr svcs 1 , 775*75987085SAndy Fiddaman.Xr libscf 3LIB , 776*75987085SAndy Fiddaman.Xr libumem 3LIB , 777*75987085SAndy Fiddaman.Xr scf_service_add_pg 3SCF , 778*75987085SAndy Fiddaman.Xr scf_value_create 3SCF , 779*75987085SAndy Fiddaman.Xr contract 5 , 780*75987085SAndy Fiddaman.Xr service_bundle 5 , 781*75987085SAndy Fiddaman.Xr attributes 7 , 782*75987085SAndy Fiddaman.Xr fnmatch 7 , 783*75987085SAndy Fiddaman.Xr smf 7 , 784*75987085SAndy Fiddaman.Xr smf_method 7 , 785*75987085SAndy Fiddaman.Xr smf_security 7 , 786*75987085SAndy Fiddaman.Xr smf_template 7 , 787*75987085SAndy Fiddaman.Xr zones 7 , 788*75987085SAndy Fiddaman.Xr svc.configd 8 , 789*75987085SAndy Fiddaman.Xr svcadm 8 790