Hasta no hace mucho tiempo, la mayoría de las distribuciones más utilizadas (podemos nombrar a Debian y a CentOS como ejemplos) utilizaban como «base» de su funcionamiento el sistema de arranque y de administración de servicios conocido como SystemV. Este sistema, heredado de Unix, contempla 5 niveles útiles de funcionamiento (de ahí el nombre SystemV, correspondiente al número 5 en el sistema romano) numerados del 1 al 5, sumados al nivel 0 (apagado del equipo) y al 6 (reinicio del sistema). Es esto lo que se conoce como niveles de corrida o runlevels en Linux.
Debido a que hoy en día todavía existen algunas versiones de distros muy conocidas que todavía utilizan SystemV (entre los que podemos nombrar a Debian Wheezy LTS y CentOS 6), hablaremos en modo presente al referirnos al tema.
Runlevels en Linux
Cada runlevel se encuentra asociado a un cierto número de servicios que por defecto deben iniciarse automáticamente cuando encendemos el equipo, y que deben detenerse al reiniciarlo o apagarlo.
En la Fig. 1 podemos ver que el directorio /etc en un sistema CentOS 6.5 contiene 7 directorios con nombre rcN.d, donde N es un número del 0 al 6 (en realidad, son enlaces simbólicos que apuntan a los directorios reales ubicados dentro de /etc/rc.d).
Es precisamente dentro de tales directorios que se encuentran una serie de enlaces simbólicos a los scripts que inician y detienen los servicios del sistema. Por ejemplo, en la Fig. 2 podemos ver que /etc/rc3.d/S80postfix es un enlace simbólico que apunta a /etc/init.d/postfix, el cual es un script que levanta el servicio de correo del sistema. Dicho sea de paso, la S utilizada como prefijo en los nombres de los enlaces simbólicos indica que, en este nivel de de corrida en particular, se debe iniciar el servicio asociado.
Por el contrario, en la Figura 3 podemos ver que tanto en el runlevel 0 como en el 6, todos los nombres de los enlaces simbólicos empiezan con K (de Kill, matar en inglés), lo cual indica que al entrar a tales runlevels todos los servicios mencionados deben detenerse:
Finalmente, también podemos ver en la Fig. 3 que mediante el comando runlevel
podemos ver en qué nivel de corrida nos encontramos actualmente (la N al comienzo de la salida indica que el sistema arrancó directamente en el nivel 3).
En el próximo post compartiremos más detalles de este tema no tan olvidado en el mundo Linux. ¡Hasta entonces!