JavaScript is required to for searching.
Omitir Vínculos de navegación
Salir de la Vista de impresión
Gestión de servicios y errores en Oracle Solaris 11.1     Oracle Solaris 11.1 Information Library (Español)
search filter icon
search icon

Información del documento

Prefacio

1.  Gestión de servicios (descripción general)

2.  Gestión de servicios (tareas)

Supervisión de servicios de la SMF

Supervisión de servicios (mapa de tareas)

Cómo enumerar el estado de un servicio

Cómo enumerar personalizaciones de un servicio

Cómo visualizar los servicios que dependen de una instancia de servicio

Cómo visualizar de qué servicios depende un servicio

Cómo configurar notificaciones de eventos de transición de la SMF

Gestión de servicios de la SMF

Gestión de servicios SMF (mapa de tareas)

Uso de perfiles de derechos de RBAC con la SMF

Cómo crear un servicio SMF

Cómo desactivar una instancia de servicio

Cómo activar una instancia de servicio

Cómo reiniciar un servicio

Cómo restaurar un servicio que está en estado de mantenimiento

Cómo crear un perfil de la SMF

Cómo crear manualmente un perfil de la SMF

Cómo aplicar un perfil de la SMF

Configuración de servicios de la SMF

Configuración de servicios SMF (mapa de tareas)

Cómo modificar una propiedad de servicio SMF

Cómo modificar varias propiedades para un servicio

Cómo modificar un servicio que está configurado por un archivo

Cómo cambiar una variable de entorno para un servicio

Cómo cambiar una propiedad para un servicio controlado por inetd

Cómo suprimir personalizaciones de un servicio

Cómo modificar un argumento de línea de comandos para un servicio controlado por inetd

Cómo convertir entradas inetd.conf

Uso de secuencias de comandos de control de ejecución

Uso de secuencias de comandos de control de ejecución (mapa de tareas)

Cómo utilizar una secuencia de comandos de control de ejecución para detener o iniciar un servicio heredado

Cómo agregar una secuencia de comandos de control de ejecución

Cómo desactivar una secuencia de comandos de control de ejecución

Cómo convertir un secuencia de comandos de control para un servicio SMF

Resolución de problemas de la utilidad de gestión de servicios

Resolución de problemas de la SMF (mapa de tareas)

Cómo depurar un servicio que no se inicia

Cómo reparar un repositorio dañado

Cómo iniciar sin tener que iniciar servicios

Cómo iniciar en modo detallado

Cómo forzar un indicador sulogin si el servicio system/filesystem/local:default falla durante el inicio

3.  Uso del gestor de fallos

Índice

Configuración de servicios de la SMF

Las siguientes tareas muestran cómo configurar servicios SMF. En concreto, se muestra cómo modificar propiedades de servicio y otra información de configuración para un servicio o una instancia de servicio.

Configuración de servicios SMF (mapa de tareas)

En el siguiente mapa de tareas, se describen los procedimientos que son necesarios para configurar servicios SMF.

Tarea
Descripción
Para obtener instrucciones
Modificar un servicio
Modifica una propiedad de servicio de una instancia de servicio especificada.
Modifica varias propiedades de una instancia de servicio especificada.
Modifica el archivo de configuración de una instancia de servicio.
Modifica una variable de entorno de una instancia de servicio.
Suprime las personalizaciones en la capa admin de un servicio.
Modificar un servicio inetd.
Cambia una propiedad de configuración de un servicio controlado por inetd.
Cambia las opciones de inicio de un servicio controlado por inetd.
Convertir entradas inetd.conf
Convierte servicios inetd en servicios de ejecución heredada que se pueden supervisar mediante la SMF.

Cómo modificar una propiedad de servicio SMF

Este procedimiento muestra cómo modificar la propiedad que identifica al usuario que puede iniciar un servicio.

  1. Conviértase en administrador o asuma un rol que incluya el perfil de derechos Service Management.

    Para obtener más información, consulte Cómo usar los derechos administrativos que tiene asignados de Administración de Oracle Solaris 11.1: servicios de seguridad.

  2. Cambie el valor que está asignado a la propiedad start/user.

    En primer lugar, indique el FMRI para identificar el servicio adecuado. A continuación, asigne el UID que iniciará el servicio.

    # svccfg -s FMRI
    svc:/service: setprop start/user = astring: newlogin
  3. Actualice el servicio.
    # svcadm refresh FMRI

Cómo modificar varias propiedades para un servicio

En este procedimiento, se muestra cómo modificar varias propiedades de servicio sin tener que escribir tanta información como con el subcomando setprop. En este ejemplo, se modifican varias propiedades del servicio DNS.

  1. Conviértase en administrador o asuma un rol que incluya el perfil de derechos Service Management.

    Para obtener más información, consulte Cómo usar los derechos administrativos que tiene asignados de Administración de Oracle Solaris 11.1: servicios de seguridad.

  2. Cambie los valores de las propiedades.

    El subcomando editprop recopila los grupos de propiedades y las propiedades de un servicio especificado en un archivo temporal, y el programa denominado por la variable de entorno VISUAL o EDITOR se invoca para editarlo. Consulte la página del comando man svccfg(1M) para obtener más información.

    # svccfg -s network/dns/client editprop
    
    ##
    ## The value used to construct the "nameserver" directive in resolv.conf(4).
    ##
    setprop config/nameserver = net_address: (192.168.1.10 192.168.1.11)
    
    ##
    ## The value used to construct the "search" directive in resolv.conf(4).
    ##
    # setprop config/search = astring: "example.com sales.example.com" 

    No guarde el archivo en este punto.

  3. Aplique los cambios en todas las instancias.

    Elimine la marca de la línea refrescar en la parte inferior del archivo a fin de aplicar estos cambios cuando guarde el archivo y salga del editor.

    ## Uncomment to apply these changes to all instances of this service.
    refresh

Cómo modificar un servicio que está configurado por un archivo

El procedimiento siguiente muestra cómo cambiar la configuración de un servicio que no es administrado por el servicio inetd.

  1. Conviértase en administrador o asuma un rol que incluya el perfil de derechos Service Management.

    Para obtener más información, consulte Cómo usar los derechos administrativos que tiene asignados de Administración de Oracle Solaris 11.1: servicios de seguridad.

  2. Realice cambios en los archivos de configuración, según sea necesario.

    Muchos de los servicios tienen uno o más archivos de configuración que se usan para definir el inicio u otra información de configuración. Estos archivos pueden cambiarse mientras se está ejecutando el servicio. El contenido de los archivos sólo se comprueba cuando se inicia el servicio.

  3. Reinicie el servicio.
    # svcadm restart FMRI

Ejemplo 2-15 Agregación de un nuevo servidor NTP

Para agregar un nuevo servidor NTP para que admita sus clientes NTP, agregue una nueva entrada para el servidor en el archivo /etc/inet/ntp.conf. A continuación, reinicie el servicio NTP. En este ejemplo, se muestra cómo puede ser el archivo ntp.conf, así como la forma de reiniciar el servicio.

# cat /etc/inet/ntp.conf
   .
   .
server ntpserver1.example.com
server ntpserver2.example.com
# svcadm restart svc:/network/ntp:default

Cómo cambiar una variable de entorno para un servicio

Este procedimiento muestra cómo modificar variables de entorno cron para ayudar con la depuración.

  1. Conviértase en administrador o asuma un rol que incluya el perfil de derechos Service Management.

    Para obtener más información, consulte Cómo usar los derechos administrativos que tiene asignados de Administración de Oracle Solaris 11.1: servicios de seguridad.

  2. Verifique que el servicio se esté ejecutando.
    # svcs system/cron
    STATE          STIME    FMRI
    online         Dec_04   svc:/system/cron:default
  3. Configure variables de entorno.

    En este ejemplo, se establecen las variables de entorno UMEM_DEBUG y LD_PRELOAD. Para obtener información acerca del subcomando setenv, consulte la página del comando man svccfg(1M).

    # svccfg -s system/cron:default setenv UMEM_DEBUG default
    # svccfg -s system/cron:default setenv LD_PRELOAD libumem.so
  4. Actualice y reinicie el servicio.
    # svcadm refresh system/cron
    # svcadm restart system/cron
  5. Verifique que el cambio se haya realizado.
    # pargs -e `pgrep -f /usr/sbin/cron`
    100657: /usr/sbin/cron
    envp[0]: LOGNAME=root
    envp[1]: LD_PRELOAD=libumem.so
    envp[2]: PATH=/usr/sbin:/usr/bin
    envp[3]: SMF_FMRI=svc:/system/cron:default
    envp[4]: SMF_METHOD=/lib/svc/method/svc-cron
    envp[5]: SMF_RESTARTER=svc:/system/svc/restarter:default
    envp[6]: TZ=GB
    envp[7]: UMEM_DEBUG=default

Cómo cambiar una propiedad para un servicio controlado por inetd

  1. Conviértase en administrador o asuma un rol que incluya el perfil de derechos Service Management.

    Para obtener más información, consulte Cómo usar los derechos administrativos que tiene asignados de Administración de Oracle Solaris 11.1: servicios de seguridad.

  2. Enumere las propiedades para el servicio específico.

    Este comando muestra todas las propiedades para el servicio identificado por el FMRI.

    # inetadm -l FMRI
  3. Cambie la propiedad del servicio.

    Cada propiedad para un servicio controlado por inetd se define mediante un nombre de propiedad y un valor asignado. Proporcionar el nombre de la propiedad sin un valor especificado restablece la propiedad al valor predeterminado. En la página del comando man asociada con el servicio, debe encontrar información específica sobre las propiedades de un servicio.

    # inetadm -m FMRI property-name=value
  4. Verifique que la propiedad se haya cambiado.

    Enumere las propiedades de nuevo para asegurarse de que los cambios apropiados se hayan producido.

    # inetadm -l FMRI
  5. Confirme que el cambio se haya aplicado.

    Confirme al cambio de propiedad que el cambio tiene el efecto deseado.

Ejemplo 2-16 Cambio de propiedad tcp_trace por telnet

El siguiente ejemplo muestra cómo establecer la propiedad tcp_trace para telnet en true. Al comprobar la salida de syslog después de ejecutar un comando telnet, se muestra que el cambio ha surtido efecto.

# inetadm -l svc:/network/telnet:default
SCOPE    NAME=VALUE
         name="telnet"
 .
 .
default  inherit_env=TRUE
default  tcp_trace=FALSE
default  tcp_wrappers=FALSE
# inetadm -m svc:/network/telnet:default tcp_trace=TRUE
# inetadm -l svc:/network/telnet:default
SCOPE    NAME=VALUE
         name="telnet"
 .
 .
default  inherit_env=TRUE
         tcp_trace=TRUE
default  tcp_wrappers=FALSE
# telnet localhost
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
login: root
Password: 
.
.
.
Last login: Mon Jun 21 05:55:45 on console
Sun Microsystems Inc.   SunOS 5.10      s10_57  May 2004
# ^D
Connection to localhost closed by foreign host.
# tail -1 /var/adm/messages
Jun 21 06:04:57 yellow-19 inetd[100308]: [ID 317013 daemon.notice] telnet[100625]
    from 127.0.0.1 32802

Cómo suprimir personalizaciones de un servicio

Las personalizaciones se pueden eliminar de las propiedades, los grupos de propiedades y las instancias de servicio.

Ejemplo 2-17 Eliminación de las personalizaciones de una propiedad

En este ejemplo, se muestra el efecto de la supresión de las personalizaciones de un servicio. Primero, se aplica una personalización para establecer la propiedad clean_vartmp en el servicio rmtmpfiles para que /var/tmp se depure durante el proceso de inicio. Como usuario con privilegios, escriba los siguientes comandos:

# svccfg -s svc:/system/rmtmpfiles setprop options/clean_vartmp = true
# svcadm refresh svc:/system/rmtmpfiles

Luego, compruebe que la propiedad se haya cambiado:

$ svcprop -p options/clean_vartmp svc:/system/rmtmpfiles
true

Para observar la personalización, escriba los siguientes comandos:

$ svccfg -s svc:/system/rmtmpfiles listcust
options/clean_vartmp    boolean     admin      true
$ svcprop -p options/clean_vartmp -l all svc:/system/rmtmpfiles
options/clean_vartmp boolean manifest false
options/clean_vartmp boolean admin true

Para eliminar la personalización, escriba el siguiente comando como usuario con privilegios:

# svccfg -s svc:/system/rmtmpfiles delcust options/clean_vartmp
 Deleting customizations for property: options/clean_vartmp

A partir de ahora, cuando se ejecutan los comandos para observar la personalización, verá:

$ svccfg -s svc:/system/rmtmpfiles listcust
$ svcprop -p options/clean_vartmp -l all svc:/system/rmtmpfiles
options/clean_vartmp boolean manifest false

Cómo modificar un argumento de línea de comandos para un servicio controlado por inetd

  1. Conviértase en administrador o asuma un rol que incluya el perfil de derechos Service Management.

    Para obtener más información, consulte Cómo usar los derechos administrativos que tiene asignados de Administración de Oracle Solaris 11.1: servicios de seguridad.

  2. Enumere la propiedad exec para el servicio específico.

    Este comando muestra todas las propiedades para el servicio identificado por el FMRI. La agregación del comando grep restringe la salida a la propiedad exec para el servicio.

    # inetadm -l FMRI|grep exec
  3. Cambie la propiedad exec para el servicio.

    La sintaxis del comando (command-syntax) establecida con la propiedad exec define la cadena de comandos que se ejecuta cuando se inicia el servicio.

    # inetadm -m FMRI exec="command-syntax"
  4. Verifique que la propiedad se haya cambiado.

    Enumere las propiedades de nuevo para asegurarse de que los cambios apropiados se hayan producido.

    # inetadm -l FMRI

Cómo convertir entradas inetd.conf

El siguiente procedimiento convierte entradas inetd.conf en manifiestos de servicio SMF. Este procedimiento se debe ejecutar cada vez que una aplicación de terceros que depende de inetd se agrega a un sistema. También se debe ejecutar si necesita realizar cambios de configuración a la entrada en /etc/inetd.conf.

  1. Conviértase en administrador o asuma un rol que incluya el perfil de derechos Service Management.

    Para obtener más información, consulte Cómo usar los derechos administrativos que tiene asignados de Administración de Oracle Solaris 11.1: servicios de seguridad.

  2. Convierta las entradas inetd.conf.

    El comando inetconv convierte cada entrada del archivo seleccionado en manifiestos de servicio.

    # inetconv -i filename

Ejemplo 2-18 Conversión de entradas /etc/inet/inetd.conf en manifiestos de servicio SMF

# inetconv -i /etc/inet/inetd.conf