Runlevel
Runlevels. El término "runlevel" o "nivel de ejecución" se refiere al modo de operación en los sistemas operativos que implementan el estilo de sistema de arranque de iniciación tipo UNIX.
Sumario
Generalidades
Existen en los sistemas operativos basados en UNIX, como es el caso de Linux, siete runlevels o niveles de ejecución. Cada uno de ellos será llamado al iniciar el sistema, y dependiendo del que se utilice se podrá configurar los servicios que este ejecutará. En Linux, éstos niveles de ejecución también se conocen como init. Cada uno de éstos runlevels o init tienen sus propiedades particulares.
El proceso init es el estándar para iniciar y apagar equipos Linux y Unix. Es un mode de definir que estado debe tener el equipo en un momento determinado. Para ello se emplean los niveles de ejecución. Cada unos de estos niveles contiene una lista de aplicaciones y servicios y un indicador de si cada uno de estos de estar inicado o detenido. Las tareas que realiza el proceso init son:
Descripción de los niveles
Existen 7 niveles de ejecución en total:
- 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.
Configuración del RunLevel de inicio
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).
Si se quisiera modificar este comportamiento, habría que editar el fichero /etc/inittab. Más concretamente, habría que modificar en el fichero /etc/inittab , la línea
id:5:initdefault:
donde el número 5 indica que el nivel de ejecución por defecto es el 5. Este número es el que hay que modificar para cambiar el nivel de ejecución en el que arranca el sistema por defecto.
Conocer que 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).
Cambiar de runlevel en ejecución
Existe una utilidad para línea de comandos que permite cambiar de un nivel de ejecución a otro. Esta es la herramienta init. Para cambiar de nivel de ejecución sólo hay que ejecutar init seguido del número del runlevel. Por ejemplo:
- init 0: Cambia al runlevel 0 (se apaga el sistema, equivalente al comando halt).
- init 2: Cambia al runlevel 2.
- init 6: Cambia al runlevel 6 (reinicia el sistema, equivalente al comando reboot).