Written by: on 25/03/2011 @ 21:00

Algo con lo que muchos linuxeros estan acostumbrados a convivir, pero no llegan a interesarse mas a fondo, son los Runlevels, o niveles de ejecucion. La creencia de que GNU/Linux es un sistema que arranca, y en su proceso defondo negro con «un monton de letras blancas corriendo hacia arriba»  , simplemente va lanzando de forma incompresible un montón de procesos,  es lo que pretendemos desmitificar en este post y ver un poquito mas a fondo que es lo que realmente hace.

Existen varios niveles de ejecución, cada uno de ellos con una finalidad definida para cada momento, y en un entorno de trabajo adecuado al momento. Para implicar a cada uno de los runlevel existe el fichero /etc/inittab, donde también se explica de forma clara la definición de cada uno de ellos:

0 - halt (Do NOT set initdefault to this)
1 - Single user mode
2 - Multiuser, without NFS (The same as 3, if you do not have networking)
3 - Full multiuser mode
4 - unused
5 - X11
6 - reboot (Do NOT set initdefault to this)

Podemos averiguar en un momento determinado en que nivel de ejecución estamos, simplemente hemos de ejecutar el comando:

# runlevel

Rutas de lanzamiento

A la hora de iniciar o detener un demonio, hemos de meterlo en un nivel de ejecucion adecuado en base a la lista que hemos visto anteriormente. Se ha de crear un enlace simbolico en el directorio del runlevel en cuestion. Puediendo ser en rutas tales como /etc/rcX.d/ donde X determina  el número de runlevel.

Por ejemplo, para generar un enlace a un demonio que se ejecutara en el nivel 5 , lo realizaremos en el directorio /etc/rc5.d/

Sintaxis de los lanzadores

A la hora de crear dichos enlaces, se ha de seguir una nomemclatura especifica, de esta forma dejaremos  el sistema limpio y de forma profesional, para que el dia de mañana otro administrador pueda gestionarlo sin quebraderos de cabeza. La nomenclatura de estos enlaces se divide en tres partes, tipo de accion a ejecutar, orden de ejecucion respecto a otros en su mismo nivel, y nombre del demonio, siendo de la siguiente forma:

S<num><nombre demonio> (para iniciar el demonio apuntado por el enlace)

K<num><nombre demonio> (para parar el demonio apuntado por el enlace)

<num> es el orden en que se ejecutará; puede ir desde 00 hasta 99 (siendo 00 la máxima prioridad). Además puede haber varios con la misma prioridad. Veamos unos ejemplos para aclararlo:

Otros comandos

Es posible, que en determinadas circunstancias tengamos que eliminiar o restaurar ciertos demonios del sistema. Para ello existen dos comandos que nos facilitaran la tarea.

Para eliminarlo del arranque ejecutaremos:

# update-rc.d -f mysql remove

En cambio si lo que deseamos es incluirlo de nuevo, ejecutaremos:

# update-rc.d mysql defaults


Catogories: Otros

Leave a Reply