
Bien, empecemos. Los runlevels o niveles de ejecución son modos de operación, propios de Unix. En GNU/Linux tenemos, por ejemplo sysvinit, que trabajaremos más adelante. Es como la caja de cambios de un auto, en la que tenemos seis “velocidades”. Cada “velocidad” es una init, y cada una tiene su propia acción:
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.
Siendo el 0, el 1 y el 6 los estándares de Unix. La mayoría de las distribuciones GNU arracan el sistema con init 5, pero no todas, además de que por supuesto se puede cambiar. Por cierto, traten de no olvidarse del siguiente archivo:
/etc/inittab
Bueno, ahí tenemos el nivel de ejecución que se iniciará por defecto. Hacé un “cat /etc/inittab” y seguramente verás lo siguiente:
# The default runlevel
id:5:initdefault:
Es decir que tenés el multiusuario (con las X).
Si quieren saber cuál runlevel llevan, ejecuten who -r o runlevel. Para saltar a otro runlevel hagan su -c “init *”, donde * es el runlevel de su preferencia.
Runlevels en Gentoo
boot
Para los daemons, como por ejemplo alsa.
default
Programas que se cargan una vez cargado el kernel y toda la distribución, justo antes de proporcionarte una prompt de login. ej: apache
nonetwork
Programas que se cargan antes de la conexion a inet
single
Modo monousuario, para arreglar el sistema. Equivale a el runlevel 1.
Se encuentran en /etc/runlevels/. Los programas se cargan usando la siguiente sintaxis:
rc-update add dæmon *runlevel*
Siendo *runlevel* cualquiera de los 4 expuestos anteriormente y programa la implementación de programa que se encuentra en /etc/init.d/.
Sin embargo, para eliminar no es necesario especificar el runlevel, utilizando sólo dos argumentos para rc-update:
rc-update dell dæmon
Cuando cargamos un dæmon, estos deberían tener una implementación en /etc/init.d. Sé que es obvio, pero por ejemplo si quieren cargar un script que NO se encuentra en /etc/init.d, usarán…¡tachán! local.start y local.stop (/etc/conf.d). Bien, para ver por ejemplo los servicios se hacía un
rc-status -a

