#4sysadmins

Inicio » Comandos para la administración de servicios y runlevels SysV

Comandos para la administración de servicios y runlevels SysV

init (telinit): Nos permiten cambiar del nivel de ejecución desde la línea de comandos.

init runlevel

runlevel: Nos permite ver el nivel de ejecución en el que estamos actualmente y desde el que vinimos. Runlevel devuelve dos números, por ejemplo ‘1 3‘, esto indica que estamos en el nivel 3 y el anterior (desde el que venimos) es el modo monousuario. Si el primero número es una ‘N‘ significa que no existe un modo de ejecución anterior.

update-rc.d: Instala o elimina scripts SysV mediante links a sus respectivos directorios de modo de ejecución. Algunos ejemplos:

update-rc.d [-n] foo defaults

Activa (genera los enlaces apropiados para el servicio) foo para los runlevels 2345 y los detiene para 016. La opción ‘-n‘ es opcional, si la pasamos se realizará una simulación pero no se efectuarán cambios. Si los enlaces ya existiesen no se crearan nuevos, esto es así para no machar posibles configuraciones personales del administrador en los scripts.

update-rc.d [-n] foo disable|enable [ S|2|3|4|5 ]

Deshabilita o habilita el servicio foo para los modos de ejecución seleccionado. Opcionalmente podemos elegir entre [ S|2|3|4|5 ]. Este comando realiza automáticamente el cambio de prefijo de los enlaces y además modifica el número. Si se usa disable, el número que adopta es 100 menos el número que poseía anteriormente y si se usa enable se realiza la opción contraria, es decir, se resta a 100 el número que adopta el servicio cuando está desactivado y la diferencia será el nuevo número de servicio. S20myservice (activado), lo desactivamos (100-20=80) K80myservice, lo volvemos a activar (100-80) S20myservice.

update-rc.d [-n] [-f] foo remove

Se eliminará cualquier links en los directorios /etc/rc?.d para el script /etc/init.d/foo. Para que los links sean eliminados correctamente deberemos de eliminar el script principal de init.d, de lo contrario dará error y, si usamos la opción -f o los eliminamos manualmente, cuando se actualice de nuevo el servicio, update-rc.d será ejecutado y los links creados. Para desactivar los servicios también podemos modificar su nombre en los directorios de cada modo de ejecución y cambiar el prefijo ‘S‘ por ‘K

Vamos a ver un par de ejemplos donde veremos otra forma de activar un servicio de modo mas específico:

update-rc.d foo start 30 2 3 4 5 . stop 70 0 1 6 .

update-rc.d foobar stop 80 2 3 4 5 .

Crear links interpretando que B depende de A

update-rc.d service_A defaults 80 20
update-rc.d service_B defaults 90 10

chkconfig: Consulta y actualiza los servicios para cada runlevel

chkconfig [opciones] servicio

Opciones:

  • Listar todos los servicios y su modo de ejecución, o mostrar un solo servicio: –list [service]
$ sudo chkconfig --list [foobar]
  • Habilitar/Deshabilitar un servicio para los runlevels 2345:
$ sudo chkconfig foobar on|off
  • Habilitar/Deshabilitar un servicio en unos runlevels concretos:
$ sudo chkconfig foobar on|off --level 2

ntsysv: Herramienta ‘gráfica’ de línea de comandos, que nos permite habilitar/deshabilitar servicios en el runlevel predeterminado o seleccionar alguno(s) en particular.

Para su uso básico bastaría con escribir ‘ntsysv’ como root y se mostrará un panel para marcar o desmarcar aquellos servicios que queremos (o no) ejecutar durante el arranque.

Si por el contrario queremos especificar un runlevel concreto:

# ntsysv --level 35

service: Arranca, detiene, comprobar el estado de un servicio para scripts SysV

service <service> start|stop|restart|status|reload


Deja un comentario, Gracias!