Los Runlevels o Niveles de Ejecución en Linux


Existen en los Sistemas Operativos basados en UNIX, como es el caso de nuestro Linux, 7 (siete) Runlevels o Niveles de Ejecución. Cada uno de ellos será llamado al iniciar nuestro sistema, y dependiendo el que utilicemos podremos configurar los servicios que él ejecutará. Linux toma a éstos runlevels como instrucciones precisas de qué iniciar y que no. En Linux, éstos Niveles de Ejecución también se conocen como init. Cada uno de éstos Runlevels o init tiene sus propiedades particulares, las cuales se definen de la siguiente manera:

  • 0: System Halt. Se utiliza para apagar el sistema. Cuando apagamos nuestro Sistema, no hacemos otra cosa que enviar un init 0 al sistema, el cual se encargará de matar los procesos y servicios activos.
  • 1: Modo monousuario. Generalmente utilizado para mantenimiento del sistema.
  • 2: Modo multiusuario (pero sin soporte de red).
  • 3: Modo multiusuario completo (con servicios de red).
  • 4: En desuso por el sistema, pero puede modificarse para un inicio personalizado.
  • 5: Modo multiusuario completo con inicio gráfico. Ejecuta lo mismo que init 3 sumado el Servidor Gráfico X.
  • 6: System reboot (reset). Se utiliza para enviar la señal de reinicio del sistema.
Los Sistemas Linux disponen de un Runlevel ya asignado por defecto, es decir, la mayoría de las Distribuciones actuales inician en init 5 (con el Servidor Gráfico). Otros sistemas (las Distribuciones para Servidores, por ejemplo), inician con init 3 (todos los servicios, multiusuario completo y funcionalidades de red, exceptuando el Servidor Gráfico).

Configuración del RunLevel de inicio:
En la mayoría de las Distribuciones Linux, la configuración del RunLevel de inicio se encuentra en el archivo /etc/inittab. Dentro de él disponemos del init o Runlevel que se ejecutará al inicio del sistema. Por ejemplo, si editamos mi archivo en Debian veré dentro de él la siguiente línea:

# The default runlevel
id:5:initdefault:

Como se puede ver en mi caso, por defecto el runlevel a iniciar será el 5, es decir, multiusuario completo más el Servidor Gráfico. A su vez, en un Sistema donde hemos acabado de instalar recientemente el Servidor Gráfico, podremos editar ésta línea y colocar el runlevel que quisiesemos, excepto el 0 y 6, ya que el sistema se apagaría o reiniciaría ni bien inicie.


Conocer qué Runlevel estamos utilizando:
Una forma práctica de saber qué runlevel estamos utilizando es con los comandos en Terminal who -r y runlevel (éste último ejecutado como Root).

Saltar a otro runlevel:
En cualquier momento, podremos saltar a otro runlevel distinto del actual. Podríamos apagar el equipo invocando a init 0, iniciar una sesión sin el Servidor Gráfico con init 3, o hasta reiniciar el equipo con init 6. Basta con tipear en un terminal como Root el comando init seguido del runlevel, por ejemplo:

[bachi@localhost ~]$ sudo init 3

Lo cual me llevaría directamente a matar mis X (Servidor Gráfico) e iniciar un runlevel multiusuario completo con funciones de red.

Espero que les haya sido de interés ésta entrada. La próxima veremos como configurar Servicios de Linux en base a éstos runlevels.
3 comentarios

Entradas populares de este blog

Botones capacitivos no vibran o encienden en Samsung S6

PARTE I: Instalar OCS Inventory NG (Server) en Ubuntu Linux 14.04 LTS

Enviar mensaje masivo a PCs con Windows en un Dominio