Cuando el sistema arranca, y luego de que el núcleo configuró todo y montó la raíz del sistema de archivos, se inicia el programa /sbin/init[33]. init es el padre de todos los procesos del sistema, y es el responsable de llevar al sistema al nivel de ejecución (runlevel) deseado. Más adelante veremos los niveles de ejecución (consulte Sección 2, “Los niveles de ejecución”).
El archivo de configuración de
init es /etc/inittab
. Este
archivo tiene su propia página Man (inittab(5)), pero aquí
describiremos sólo algunos de los elementos de
configuración.
La primer línea que debería ser el foco de su atención, es esta:
si::sysinit:/etc/rc.d/rc.sysinit
Esta línea le dice a
init que /etc/rc.d/rc.sysinit debe
ejecutarse una vez que se inicializó el sistema
(si
significa System
Init, Inicialización del sistema). Para determinar
el nivel de ejecución predeterminado, init busca entonces la
línea que contiene la palabra clave
initdefault
:
id:5:initdefault:
En este caso, init sabe que el nivel de ejecución predeterminado es 5. También sabe que para entrar en el nivel 5, debe ejecutar el comando siguiente:
l5:5:wait:/etc/rc.d/rc 5
Como puede ver, la sintaxis para cada uno de los niveles de ejecución es similar.
init también es responsable de
reiniciar (respawn
) ciertos programas que no
pueden ser iniciados por otros procesos. Por ejemplo, cada uno de
los programas de conexión que corren en cada una de las seis
terminales virtuales[34]. La segunda
consola virtual, se identifica de esta manera:
2:2345:respawn:/sbin/mingetty tty2
[33] Razón
por la cual poner /sbin
en un sistema de
archivos que no sea la raíz es un muy mala idea. Todavía el núcleo
no montó partición alguna hasta este momento, y por lo tanto no
será capaz de encontrar
/sbin/init.
[34] Si no desea seis consolas virtuales puede añadirlas o quitarlas modificando este archivo. Si desea incrementar el número de consolas puede tener hasta un máximo de 64. Pero no se olvide que X también corre en una consola virtual. Entonces, por lo menos deje una libre para X.