JavaScript is required to for searching.
Skip Navigation Links
Exit Print View
Oracle Solaris Administration: Common Tasks     Oracle Solaris 11 Information Library
search filter icon
search icon

Document Information

About This Book

1.  Locating Information About Oracle Solaris Commands

2.  Managing User Accounts and Groups (Overview)

3.  Managing User Accounts and Groups (Tasks)

4.  Booting and Shutting Down an Oracle Solaris System

5.  Working With Oracle Configuration Manager

6.  Managing Services (Overview)

7.  Managing Services (Tasks)

Monitoring Services (Task Map)

Monitoring SMF Services

How to List the Status of a Service

How to List Customizations of a Service

How to Show Which Services Are Dependent on a Service Instance

How to Show Which Services a Service Is Dependent On

How to Set Up Email Notification of SMF Transition Events

Managing SMF Services (Task Map)

Managing SMF Services

Using RBAC Rights Profiles With SMF

How to Disable a Service Instance

How to Enable a Service Instance

How to Restart a Service

How to Restore a Service That Is in the Maintenance State

How to Create an SMF Profile

How to Apply an SMF Profile

Configuring SMF Services (Task Map)

Configuring SMF Services

How to Modify an SMF Service Property

How to Modify a Service That Is Configured by a File

How to Change an Environment Variable for a Service

How to Change a Property for an inetd Controlled Service

How to Delete Customizations for a Service

How to Modify a Command-Line Argument for an inetd Controlled Service

How to Convert inetd.conf Entries

Using Run Control Scripts (Task Map)

Using Run Control Scripts

How to Use a Run Control Script to Stop or Start a Legacy Service

How to Add a Run Control Script

How to Disable a Run Control Script

Troubleshooting the Service Management Facility

Debugging a Service That Is Not Starting

How to Repair a Corrupt Repository

How to Boot Without Starting Any Services

How to Force an sulogin Prompt If the system/filesystem/local:default Service Fails During Boot

8.  Using the Fault Manager

9.  Managing System Information (Tasks)

10.  Managing System Processes (Tasks)

11.  Monitoring System Performance (Tasks)

12.  Managing Software Packages (Tasks)

13.  Managing Disk Use (Tasks)

14.  Scheduling System Tasks (Tasks)

15.  Setting Up and Administering Printers by Using CUPS (Tasks)

16.  Managing the System Console, Terminal Devices, and Power Services (Tasks)

17.  Managing System Crash Information (Tasks)

18.  Managing Core Files (Tasks)

19.  Troubleshooting System and Software Problems (Tasks)

20.  Troubleshooting Miscellaneous System and Software Problems (Tasks)

Index

Managing SMF Services

This section includes information on managing SMF services.

Using RBAC Rights Profiles With SMF

You can use RBAC rights profiles to allow users to manage some of the SMF services, without having to give the user root access. The rights profiles define what commands the user can run. For SMF, the following profiles have been created:

For specific information about the authorizations, see the smf_security(5) man page. For instructions to assign a rights profile, see How to Change the RBAC Properties of a User in Oracle Solaris Administration: Security Services.

How to Disable a Service Instance

Use the following procedure to disable a service. The service status change is recorded in the service configuration repository. Once the service is disabled, the disabled state will persist across reboots. The only way to get the service running again is to enable it.

  1. Become an administrator or assume a role that includes the Service Management rights profile.

    For more information, see How to Obtain Administrative Rights in Oracle Solaris Administration: Security Services.

  2. Check the dependents of the service you want to disable.

    If this service has dependents that you need, then you cannot disable this service.

    # svcs -D FMRI
  3. Disable the service.
    # svcadm disable FMRI

How to Enable a Service Instance

Use the following procedure to enable a service. The service status change is recorded in the service configuration repository. After the service is enabled, the enabled state will persist across system reboots, however the service will start only if all dependencies are met.

  1. Become an administrator or assume a role that includes the Service Management rights profile.

    For more information, see How to Obtain Administrative Rights in Oracle Solaris Administration: Security Services.

  2. Enable a service.
    # svcadm enable FMRI
  3. Verify that the service has been enabled.
    # svcs -x FMRI
  4. Enable service dependencies.

    If required dependencies are disabled, enable them with the following command:

    # svcadm enable -r FMRI

Example 7-11 Enabling a Service in Single-user Mode

The following command enables rpcbind. The -t option starts the service in temporary mode which does not change the service repository, so this change will not persist across a reboot. The -r option recursively starts all the dependencies of the named service.

# svcadm enable -rt rpc/bind

How to Restart a Service

If a service is currently running but needs to be restarted due to a configuration change or some other reason, the service can be restarted without you having to type separate commands to stop and start the service. The only reason to specifically disable and then enable a service is if changes need to be made before the service is enabled, and after the service is disabled.

  1. Become an administrator or assume a role that includes the Service Management rights profile.

    For more information, see How to Obtain Administrative Rights in Oracle Solaris Administration: Security Services.

  2. Restart a service.
    # svcadm restart FMRI

How to Restore a Service That Is in the Maintenance State

  1. Become an administrator or assume a role that includes the Service Management rights profile.

    For more information, see How to Obtain Administrative Rights in Oracle Solaris Administration: Security Services.

  2. Determine why the service is in maintenance.
    # svcs -x FMRI

    Consult the log file or man page mentioned to determine what the error is.

  3. Determine if any process that are dependent to the service have not stopped.

    Normally, when a service instance is in a maintenance state, all processes associated with that instance have stopped. However, you should make sure before you proceed. The following command lists all of the processes that are associated with a service instance as well as the PIDs for those processes.

    # svcs -p FMRI
  4. (Optional) Kill any remaining processes.

    Repeat this step for all processes that are displayed by the svcs command.

    # pkill -9 process-name
  5. Restore the service.
    # svcadm clear FMRI

How to Create an SMF Profile

A profile is an XML file which lists SMF services and whether each should be enabled or disabled. Profiles are used to enable or disable many services at once. Profiles are also used to set property values, add property values, and even create a service and instances of a service. Not all services need to be listed in a profile. Each profile only needs to include those services that need to be enabled or disabled to make the profile useful.

  1. Become an administrator or assume a role that includes the Service Management rights profile.

    For more information, see How to Obtain Administrative Rights in Oracle Solaris Administration: Security Services.

  2. Create a profile.

    In this example, the svccfg command is used to create a profile that represents the local customizations on the current system. Alternatively, you could make a copy of an existing profile to edit.

    # svccfg extract> profile.xml

    If you have large numbers of identical systems, or if you want to archive the system configuration for later restoration, you might want to use this procedure to create a unique version of a SMF profile.

  3. Edit the profile.xml file to make any required changes.
    1. Change the name of the profile in the service_bundle declaration.

      In this example the name is changed to profile.

      # cat profile.xml
        ...
      <service_bundle type=`profile` name=`profile`
          xmIns::xi='http://www.w3.org/2003/XInclude'
        ...
    2. Remove any services that should not be managed by this profile.

      For each service, remove the three lines that describe the service. Each service description starts with <service and ends with </service. This example shows the lines for the LDAP client service.

      # cat profile.xml
       ...
       <service name='network/ldap/client' version='1' type='service'>
               <instance  name='default' enabled='true'/>
       </service>
    3. Add any services that should be managed by this profile.

      Each service needs to be defined using the three line syntax shown above.

    4. If necessary, change the enabled flag for selected services.

      In this example, the sendmail service is disabled.

      # cat profile.xml
        ...
        <service  name='network/smtp' version='1' type='service'>
          <instance  name='sendmail' enabled='false'/>
        </service>
        ...
  4. When necessary, apply the new profile.

    See How to Apply an SMF Profile for instructions.

How to Apply an SMF Profile

  1. Become an administrator or assume a role that includes the Service Management rights profile.

    For more information, see How to Obtain Administrative Rights in Oracle Solaris Administration: Security Services.

  2. Apply a profile.

    In this example, the profile.xml profile is applied.

    # svccfg apply profile.xml