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

Gestión de servicios de la SMF

Esta sección incluye información sobre la gestión de servicios SMF.

Gestión de servicios SMF (mapa de tareas)

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

Tarea
Descripción
Para obtener instrucciones
Crear un servicio
Permite que una secuencia de comandos se gestione mediante el servicio SMF.
Desactivar una instancia de servicio
Detiene un servicio en ejecución y evita que el servicio se reinicie.
Activar una instancia de servicio
Inicia un servicio. Además, el servicio se reiniciará durante los reinicios posteriores.
Reinicie un servicio
Reinicia un servicio, sin necesidad de utilizar comandos separados para desactivar y, a continuación, activar el servicio.
Restaurar un servicio en el estado de mantenimiento
Muestra cómo limpiar y reiniciar un servicio que se encuentra en estado de mantenimiento.
Crear un perfil
Crea un perfil que puede implementar personalizaciones fácilmente sin ejecutar el comando svccfg para realizar todos los cambios.
Crea manualmente un perfil para implementar personalizaciones fácilmente.
Aplicar un perfil
Utiliza la información de un perfil para activar, desactivar o personalizar servicios, según sea necesario.

Uso de perfiles de derechos de RBAC con la SMF

Puede utilizar perfiles de derechos de RBAC para permitir que los usuarios gestionen algunos de los servicios SMF, sin tener que proporcionar acceso al usuario root. Los perfiles de derechos definen qué comandos el usuario puede ejecutar. Para la SMF, los perfiles siguientes se han creado:

Para obtener información específica sobre las autorizaciones, consulte la página del comando man smf_security(5). Para obtener instrucciones sobre cómo asignar un perfil de derechos, consulte Cómo cambiar los atributos de seguridad de un usuario de Administración de Oracle Solaris 11.1: servicios de seguridad.

Cómo crear un servicio SMF

Es frecuente que los administradores escriban secuencias de comandos para realizar un trabajo cuando se inicia el sistema. Este procedimiento muestra cómo utilizar las ventajas de la SMF para admitir una secuencia de comandos.

Antes de empezar

Determine qué modelo de servicio necesita la secuencia de comandos. Si la secuencia de comandos realiza parte del trabajo y, a continuación, sale sin iniciar los procesos de larga ejecución, probablemente se deba a un servicio transitorio. Si la secuencia de comandos inicia un daemon de larga ejecución y sale, se trata de un servicio de contrato. Consulte la sección de duración en la página del comando man svc.startd(1M) para obtener más información sobre modelos de 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. Copie la secuencia de comandos del método de inicio en /lib/svc/method/ex_svc.
  3. Cree un manifiesto temporario.

    En este ejemplo, el nombre del servicio es site/ex_svc y es un servicio transitorio, de modo que no es necesario un método de detención.

    # svcbundle -o /tmp/ex_svc.xml -s service-name=site/ex_svc \
          -s start-method=/lib/svc/method/ex_svc -s model=transient
  4. Realice todos los cambios adicionales en el manifiesto.

    Compruebe que el contenido del manifiesto en /tmp/ex_svc.xml sea lo que necesita.

  5. Copie el manifiesto en el directorio correcto.
    # cp /tmp/ex_svc.xml /lib/svc/manifest/site/ex_svc.xml
  6. Importe el manifiesto e inicie el servicio.
    # svcadm restart svc:/system/manifest-import

Ejemplo 2-12 Instalación automática de un manifiesto generado

Para instalar automáticamente el manifiesto en /lib/svc/manifest/site, utilice la opción -i con el comando svcbundle tal como se muestra a continuación. Este comando se puede ejecutar en lugar del comando en el paso 3, y no necesita realizar ningún otro paso.

# svcbundle -i -s service-name=site/ex_svc \
        -s start-method=/lib/svc/method/ex_svc -s model=transient

Cómo desactivar una instancia de servicio

Utilice el siguiente procedimiento para desactivar un servicio. El cambio de estado del servicio se registra en el repositorio de configuración de servicios. Una vez que se desactiva el servicio, el estado desactivado se mantiene en todos los reinicios. La única forma de que el servicio esté en ejecución de nuevo es activarlo.

  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. Compruebe los dependientes del servicio que desea desactivar.

    Si este servicio tiene dependientes que se necesitan, no se puede desactivar.

    # svcs -D FMRI
  3. Desactive el servicio.
    # svcadm disable FMRI

Cómo activar una instancia de servicio

Utilice el siguiente procedimiento para activar un servicio. El cambio de estado del servicio se registra en el repositorio de configuración de servicios. Una vez que se activa el servicio, el estado activado se mantiene en los reinicios del sistema; sin embargo, el servicio se inicia sólo si se cumplen todas las dependencias.

  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. Active un servicio.
    # svcadm enable FMRI
  3. Compruebe que se haya activado el servicio.
    # svcs -x FMRI
  4. Active dependencias de servicios.

    Si las dependencias requeridas están desactivadas, actívelas con el siguiente comando:

    # svcadm enable -r FMRI

Ejemplo 2-13 Activación de un servicio en modo de usuario único

El siguiente comando activa rpcbind. La opción -t inicia el servicio en modo temporal, que no cambia el repositorio de servicios, de modo que este cambio no persiste después de un reinicio. La opción -r inicia recursivamente todas las dependencias del servicio especificado.

# svcadm enable -rt rpc/bind

Cómo reiniciar un servicio

Si un servicio se está ejecutando, pero se debe reiniciar debido a un cambio de configuración o algún otro motivo, el servicio se puede reiniciar sin tener que escribir comandos separados para detener e iniciar el servicio. El único motivo para específicamente desactivar y luego activar un servicio es si los cambios se deben realizar antes de activar el servicio y después de desactivar el 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. Reinicie un servicio
    # svcadm restart FMRI

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

  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. Determine el motivo por el que el servicio está en mantenimiento.
    # svcs -x FMRI

    Consulte el archivo de registro o la página del comando man mencionada para determinar cuál es el error.

  3. Determine si algún proceso que depende del servicio no se ha detenido.

    En general, cuando una instancia de servicio está en estado de mantenimiento, todos los procesos asociados con esa instancia se han detenido. Sin embargo, debe asegurarse antes de continuar. El siguiente comando muestra el ID de contrato para el FMRI seleccionado.

    # svcs -o CTID FMRI
  4. (Opcional) Finalice los procesos restantes.

    Repita este paso para todos los procesos mostrados por el comando svcs.

    # pkill -9 -c CTID
  5. Restaure el servicio.
    # svcadm clear FMRI

Cómo crear un perfil de la SMF

Un perfil es un archivo XML que muestra los servicios SMF e indica si cada uno debe estar activado o desactivado. Los perfiles se utilizan para activar o desactivar muchos servicios a la vez. Los perfiles también se utilizan para definir valores de propiedades, agregar valores de propiedades e incluso crear un servicio e instancias de un servicio. No es necesario que todos los servicios se muestren en un perfil. Cada perfil sólo debe incluir los servicios que se deben activar o desactivar para que el perfil sea útil.

El servicio svc:/system/rmtmpfiles es responsable de depurar el directorio /tmp durante el inicio. De manera predeterminada, el servicio rmtmpfiles no depura /var/tmp. Si desea depurar /var/tmp durante el proceso de inicio, puede cambiar el comportamiento si establece la propiedad options/clean_vartmp en true. Si desea realizar esto en varios sistemas, lo más sencillo es crear un perfil y colocarlo en /etc/svc/profile/site en esos sistemas.

  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. Cree el perfil.

    Este comando crea un nuevo perfil en /tmp/rmtmpfiles.xml, que se puede copiar en /etc/svc/profiles/site según sea necesario.

    # svcbundle -o /tmp/rmtmpfiles.xml -s service-name=system/rmtmpfiles \
            -s bundle-type=profile -s service-property=options:clean_vartmp:boolean:true
  3. Copie el perfil en el directorio correcto.
    # cp /tmp/rmtmpfiles.xml /etc/svc/profile/site/rmtmpfiles.xml
  4. Reinicie el servicio de importación de manifiesto para aplicar el perfil al sistema.
    # svcadm restart svc:/system/manifest-import

Ejemplo 2-14 Instalación automática de un perfil de la SMF mientras se crea el perfil

La opción -i se utiliza para instalar el perfil generado. El comando escribirá el perfil en /etc/svc/profile/site/rmtmpfiles.xml. Asimismo, el comando reiniciará el servicio manifest-import para aplicar el perfil.

# svcbundle -i -s service-name=system/rmtmpfiles \
        -s bundle-type=profile -s service-property=options:clean_vartmp:boolean:true

Cómo crear manualmente un perfil de la SMF

Un perfil es un archivo XML que muestra los servicios SMF e indica si cada uno debe estar activado o desactivado. Los perfiles se utilizan para activar o desactivar muchos servicios a la vez. Los perfiles también se utilizan para definir valores de propiedades, agregar valores de propiedades e incluso crear un servicio e instancias de un servicio. No es necesario que todos los servicios se muestren en un perfil. Cada perfil sólo debe incluir los servicios que se deben activar o desactivar para que el perfil sea útil.

  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. Cree un perfil.

    En este ejemplo, el comando svccfg se utiliza para crear un perfil que representa las personalizaciones locales en el sistema actual. También puede realizar una copia de un perfil existente para editar.

    # svccfg extract> profile.xml

    Si tiene un gran número de sistemas idénticos o si desea archivar la configuración del sistema para su posterior restauración, puede que desee utilizar este procedimiento para crear una versión única de un perfil de la SMF.

  3. Edite el archivo profile.xml para realizar los cambios necesarios.
    1. Cambie el nombre del perfil en la declaración service_bundle.

      En este ejemplo, el nombre se cambia a profile.

      # cat profile.xml
        ...
      <service_bundle type=`profile` name=`profile`
          xmIns::xi='http://www.w3.org/2003/XInclude'
        ...
    2. Elimine todos los servicios que no deben ser administrados por este perfil.

      Para cada servicio, elimine las tres líneas que describen el servicio. Cada descripción de servicio comienza con <service y finaliza con </service. En este ejemplo, se muestran las líneas del servicio del cliente LDAP.

      # cat profile.xml
       ...
       <service name='network/ldap/client' version='1' type='service'>
               <instance  name='default' enabled='true'/>
       </service>
    3. Agregue todos los servicios que deben ser administrados por este perfil.

      Cada servicio se debe establecer utilizando los tres sintaxis de línea que se muestran arriba.

    4. Si es necesario, cambie el indicador activado de los servicios seleccionados.

      En este ejemplo, el servicio sendmail está desactivado.

      # cat profile.xml
        ...
        <service  name='network/smtp' version='1' type='service'>
          <instance  name='sendmail' enabled='false'/>
        </service>
        ...
  4. Cuando sea necesario, aplique el nuevo perfil.

    Consulte Cómo aplicar un perfil de la SMF para obtener instrucciones.

Cómo aplicar un perfil de la SMF

  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. Aplique un perfil.

    En este ejemplo, se aplica el perfil profile.xml.

    # svccfg apply profile.xml