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) |
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 desactivar una instancia de servicio
Cómo activar una instancia de 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 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
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.
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.
|
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.
# /etc/init.d/filename stop
# /etc/init.d/filename start
# 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
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.
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.
# cp filename/etc/init.d # chmod 0744 /etc/init.d/filename # chown root:sys /etc/init.d/filename
# cd /etc/init.d # ln filename /etc/rc2.d/Snnfilename # ln filename /etc/rcn.d/Knnfilename
# 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
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.
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.
# cd /etc/rcn.d # mv filename_filename
# 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
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.
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.
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
Compruebe que el contenido del manifiesto en /tmp/ex_svc.xml sea lo que necesita.
# cp /tmp/ex_svc.xml /lib/svc/manifest/site/ex_svc.xml
# /etc/init.d/ex_svc stop
Elimine cualquier enlace a la secuencia de comandos de control de ejecución de los directorios rc n.d pertinentes.
# svcadm restart svc:/system/manifest-import