6Jul

¿Qué son los "niveles de ejecución" en Linux?

click fraud protection

Cuando se inicia un sistema Linux, ingresa su nivel de ejecución predeterminado y ejecuta los scripts de inicio asociados con ese nivel de ejecución. También puede cambiar entre niveles de ejecución; por ejemplo, hay un nivel de ejecución diseñado para operaciones de recuperación y mantenimiento.

Tradicionalmente, Linux utilizaba scripts de inicio de estilo System V, mientras que los nuevos sistemas init eventualmente dejarían obsoletos los niveles de ejecución tradicionales, aún no lo han hecho. Por ejemplo, el sistema Upstart de Ubuntu todavía usa scripts tradicionales de System V.

¿Qué es un nivel de ejecución?

Cuando se inicia un sistema Linux, inicia los procesos init .init es responsable de lanzar los otros procesos en el sistema. Por ejemplo, cuando enciendes tu computadora Linux, el kernel inicia init, e init ejecuta los scripts de inicio para inicializar tu hardware, abrir redes, iniciar tu escritorio gráfico.

Sin embargo, no existe un solo conjunto de scripts de inicio que ejecute init. Hay varios niveles de ejecución con sus propios scripts de inicio; por ejemplo, un nivel de ejecución puede abrir redes e iniciar el escritorio gráfico, mientras que otro nivel de ejecución puede dejar la red deshabilitada y omitir el escritorio gráfico. Esto significa que puede pasar del "modo de escritorio gráfico" al "modo de consola de texto sin conexión de red" con un solo comando, sin iniciar ni detener manualmente los diferentes servicios.

instagram viewer

Más específicamente, init ejecuta los scripts ubicados en un directorio específico que corresponde al nivel de ejecución. Por ejemplo, cuando ingresa el nivel de ejecución 3 en Ubuntu, init ejecuta los scripts ubicados en el directorio /etc/ rc3.d.

Al menos, así es como funciona con un sistema de sistema System V tradicional: las distribuciones de Linux están comenzando a reemplazar el antiguo sistema System V init. Si bien Ubuntu Upstart actualmente mantiene la compatibilidad con los scripts de inicio de SysV, es probable que esto cambie en el futuro.

Los niveles de ejecución

Algunos niveles de ejecución son estándar entre las distribuciones de Linux, mientras que algunos niveles de ejecución varían de la distribución a la distribución.

Los siguientes niveles de ejecución son estándar:

  • 0 - Detener ( Apaga el sistema.)
  • 1 - Modo de usuario único ( El sistema arranca en modo superusuario sin iniciar daemons o redes. Ideal para iniciar en un entorno de recuperación o diagnóstico.)
  • 6 - Reinicio

Los niveles de ejecución 2-5 varían según la distribución. Por ejemplo, en Ubuntu y Debian, los niveles de ejecución 2-5 son los mismos y proporcionan un modo multiusuario completo con conexión de red y acceso gráfico. En Fedora y Red Hat, el nivel de ejecución 2 proporciona un modo multiusuario sin conexión de red( inicio de sesión de consola solamente), el nivel de ejecución 3 proporciona el modo multiusuario con conexión de red( solo inicio de sesión de consola), el nivel de ejecución 4 no se utiliza y el nivel de ejecución 5 proporciona el modo multiusuariocreación de redes y acceso gráfico.

Cambiar a un nivel de ejecución diferente

Para cambiar a un nivel de ejecución diferente mientras el sistema ya se está ejecutando, use el siguiente comando:

sudo telinit #

Reemplace # con el número del nivel de ejecución al que desea cambiar. Omita sudo y ejecute el comando como root si está ejecutando una distribución que no usa sudo.

Arranque directo a un nivel de ejecución específico

Puede seleccionar un nivel de ejecución para arrancar desde el cargador de arranque: Grub, por ejemplo. Al inicio del proceso de inicio, presione una tecla para acceder a Grub, seleccione su entrada de inicio y presione e para editarla.

Puede agregar único al final de la línea linux para ingresar el nivel de ejecución de un solo usuario( nivel de ejecución 1).(Presione Ctrl + x para iniciar después). Esto es lo mismo que la opción del modo de recuperación en Grub.

Tradicionalmente, se podía especificar un número como parámetro del kernel y se arrancaba con ese nivel de ejecución, por ejemplo, usando 3 en lugar de solo para arrancar en el nivel de ejecución 3. Sin embargo, esto no parece funcionar en las últimas versionesde Ubuntu - Upstart no parece permitirlo. Del mismo modo, la forma en que cambie el nivel de ejecución predeterminado dependerá de su distribución.

Mientras que el daemon Upstart de Ubuntu aún emula el sistema SystemV init, gran parte de esta información cambiará en el futuro. Por ejemplo, Upstart está basado en eventos: puede detener e iniciar servicios cuando ocurren eventos( por ejemplo, un servicio podría comenzar cuando un dispositivo de hardware está conectado al sistema y detenerse cuando se elimine). Fedora también tiene su propio sucesorpara iniciar, systemd.