Los runlevels son un concepto esencial para comprender cómo funciona el sistema de inicialización en Linux. Representan diferentes estados operativos en los que puede estar un sistema Linux, y cada uno de ellos define qué servicios y procesos están activos. En este artículo, exploraremos qué son los runlevels, cómo funcionan y cómo gestionarlos.
¿Qué son los Runlevels?
En Linux, un runlevel es un estado de funcionamiento que determina qué servicios o procesos se ejecutan en el sistema. Cada runlevel está asociado con un conjunto específico de configuraciones y funcionalidades del sistema. Los runlevels tradicionales van del 0 al 6, y su propósito varía dependiendo de la distribución de Linux.
Runlevels estándar en Linux
Aunque las configuraciones específicas pueden variar entre distribuciones, los runlevels estándar son:
- Runlevel 0: Apagado del sistema. Al cambiar a este runlevel, el sistema se apaga.
- Runlevel 1: Modo monousuario. Este runlevel inicia el sistema en un estado mínimo con un solo usuario, sin red ni servicios adicionales. Es útil para tareas de mantenimiento.
- Runlevel 2: Modo multiusuario sin red. Permite múltiples usuarios, pero no activa los servicios de red.
- Runlevel 3: Modo multiusuario con red. Incluye soporte para múltiples usuarios y servicios de red.
- Runlevel 4: No está definido de manera estándar. Se reserva para configuraciones personalizadas.
- Runlevel 5: Modo multiusuario con entorno gráfico. Similar al runlevel 3, pero con la interfaz gráfica activada.
- Runlevel 6: Reinicio del sistema. Cambiar a este runlevel reinicia el sistema.
Cómo verificar y cambiar el Runlevel
Verificar el runlevel actual
Para conocer el runlevel actual, utiliza el comando:
runlevel
Este comando muestra el runlevel anterior y el actual. Por ejemplo:
N 3
Indica que no había un runlevel anterior (N
) y que el sistema está en el runlevel 3.
Cambiar de Runlevel
Para cambiar de runlevel en sistemas con SysVinit
, utiliza el comando:
sudo init <número_runlevel>
Por ejemplo, para cambiar al runlevel 1 (modo monousuario):
sudo init 1
En sistemas más modernos con systemd, los runlevels se reemplazan por «targets». Puedes cambiar el estado con:
sudo systemctl isolate <nombre_target>
Por ejemplo:
sudo systemctl isolate rescue.target
Esto equivale al runlevel 1.
Runlevels en sistemas con systemd
En distribuciones modernas, como Fedora, Ubuntu y CentOS, los runlevels han sido reemplazados por los targets de systemd. Aunque el concepto es similar, los targets son más flexibles y permiten configuraciones más detalladas.
Algunos targets comunes son:
poweroff.target
(equivalente al runlevel 0)rescue.target
(equivalente al runlevel 1)multi-user.target
(equivalente al runlevel 3)graphical.target
(equivalente al runlevel 5)reboot.target
(equivalente al runlevel 6)
Para listar todos los targets disponibles:
systemctl list-units --type=target
Conclusión
Los runlevels son una pieza fundamental en la gestión del estado operativo de un sistema Linux. Aunque las distribuciones más modernas están adoptando systemd, comprender los runlevels tradicionales sigue siendo valioso, especialmente en sistemas que todavía usan SysVinit
. Conocer cómo funcionan y cómo cambiarlos te permitirá tener un mejor control sobre el comportamiento de tu sistema.
Si estás aprendiendo Linux o administrando un servidor, familiarizarte con los runlevels y los targets es un paso importante hacia la maestría en sistemas operativos basados en Unix. ¡Experimenta y aprende más sobre este poderoso sistema!