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

Uso de secuencias de comandos de control de ejecución

Los siguientes procedimientos muestran cómo utilizar secuencias de comandos de control de ejecución para detener o iniciar un servicio heredado. También se incluyen instrucciones para agregar o eliminar una secuencia de comandos de control de ejecución.

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

En el siguiente mapa de tareas, se incluyen varios procedimientos que están asociados con el uso de secuencias de comandos de control de ejecución. Cada fila incluye una tarea, una descripción del motivo por el que desea realizar la tarea y un enlace a la tarea.

Tarea
Descripción
Para obtener instrucciones
Detener o iniciar un servicio heredado
Utiliza una secuencia de comandos de control de ejecución para detener o iniciar un servicio.
Agregar una secuencia de comandos de control de ejecución
Crea una secuencia de comandos de control de ejecución y la agrega al directorio /etc/init.d.
Desactivar una secuencia de comandos de control de ejecución
Desactiva una secuencia de comandos de control de ejecución cambiando el nombre del archivo.
Convertir una secuencia de comandos de control de ejecución para utilizar la SMF
Sustituye la secuencia de comandos de control de ejecución con un manifiesto de la SMF, de modo que el servicio puede ser gestionado por el servicio SMF.

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

  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. Detenga el servicio del sistema.
    # /etc/init.d/filename stop
  3. Reinicie el servicio del sistema.
    # /etc/init.d/filename start
  4. Verifique que el servicio se haya detenido o iniciado.
    # pgrep -f service

Ejemplo 2-19 Uso de una secuencia de comandos de ejecución para detener o iniciar un servicio

Por ejemplo, puede detener el daemon del servidor PPPoE escribiendo lo siguiente:

# /etc/init.d/pppd stop
# pgrep -f nfs

A continuación, puede reiniciar el daemon del servidor PPPoE escribiendo lo siguiente:

# /etc/init.d/pppd start
# pgrep -f ppp
101748
# pgrep -f ppp -d, | xargs ps -fp
     UID    PID   PPID   C    STIME TTY         TIME CMD
  daemon 101748      1   0   Sep 01 ?           0:06 /usr/lib/inet/pppoed

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

Si desea agregar una secuencia de comandos de control de ejecución para iniciar y detener un servicio, copie la secuencia de comandos en el directorio /etc/init.d. A continuación, cree enlaces en el directorio rcn.d donde desea que el servicio se inicie y se detenga.

Consulte el archivo README en cada directorio /etc/rcn.d para obtener más información sobre la denominación de secuencias de comandos de control de ejecución. El siguiente procedimiento describe cómo agregar una secuencia de comandos de control de ejecució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. Agrega la secuencia de comandos al directorio /etc/init.d.
    # cp filename/etc/init.d
    # chmod 0744 /etc/init.d/filename
    # chown root:sys /etc/init.d/filename
  3. Cree enlaces al directorio rcn.d adecuado.
    # cd /etc/init.d
    # ln filename /etc/rc2.d/Snnfilename
    # ln filename /etc/rcn.d/Knnfilename
  4. Verifique que la secuencia de comandos tenga enlaces en los directorios especificados.
    # ls /etc/init.d/*filename /etc/rc2.d/*filename /etc/rcn.d/*filename

Ejemplo 2-20 Agregación de una secuencia de comandos de control de ejecución

El ejemplo siguiente muestra cómo agregar una secuencia de comandos de control de ejecución para el servicio xyz.

# cp xyz /etc/init.d
# chmod 0744 /etc/init.d/xyz
# chown root:sys /etc/init.d/xyz
# cd /etc/init.d
# ln xyz /etc/rc2.d/S99xyz
# ln xyz /etc/rc0.d/K99xyz
# ls /etc/init.d/*xyz /etc/rc2.d/*xyz /etc/rc0.d/*xyz

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

Puede desactivar una secuencia de comandos de control de ejecución cambiándole el nombre con un carácter de subrayado (_) al principio del nombre de archivo. Los archivos que empiezan con un carácter de subrayado o un punto no se ejecutan. Si copia un archivo agregándole un sufijo, los dos archivos se ejecutará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. Cambie el nombre de la secuencia de comandos agregando un carácter de subrayado (_) al principio del nuevo archivo.
    # cd /etc/rcn.d
    # mv filename_filename
  3. Verifique que se le haya cambiado el nombre a la secuencia de comandos.
    # ls _*
    _filename

Ejemplo 2-21 Desactivación de una secuencia de comandos de control de ejecución

El ejemplo siguiente muestra cómo cambiar el nombre de la secuencia de comandos S99datainit.

# cd /etc/rc2.d
# mv S99datainit _S99datainit
# ls _*
_S99datainit

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

Este procedimiento muestra cómo utilizar las ventajas de la SMF para admitir una secuencia de comandos de control de ejecución existente. Consulte la página del comando man svcbundle (1M) para obtener más información.

Antes de empezar

Primero, 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.

A continuación, determine qué nivel de ejecución es adecuado para el servicio. Esto se puede determinar mirando a qué directorio está enlazada la secuencia de comandos, por ejemplo, /etc/rc3.d.

  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 manifiesto temporal.

    En este ejemplo, el nombre del servicio es ex_svc. Es un servicio de contrato y se ejecuta en el nivel 3.

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

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

  4. Copie el manifiesto en el directorio correcto.
    # cp /tmp/ex_svc.xml /lib/svc/manifest/site/ex_svc.xml
  5. Detenga el servicio existente.
    # /etc/init.d/ex_svc stop
  6. Desactive la secuencia de comandos de control de ejecución.

    Elimine cualquier enlace a la secuencia de comandos de control de ejecución de los directorios rc n.d pertinentes.

  7. Importe el manifiesto e inicie el servicio.
    # svcadm restart svc:/system/manifest-import