En la tradición UNIX, hay dos esquemas de arranque del sistema: el esquema BSD y el esquema "System V", ambos toman su nombre del sistema UNIX que los implementó primero (Berkeley Software Distribution y AT&T UNIX System V, respectivamente). El esquema BSD es el más simple, pero el esquema System V, aunque es menos fácil de entender (lo cual cambiará una vez que termine de leer este capítulo), definitivamente es más flexible de usar.
Cuando el sistema arranca, luego de que el núcleo configuró todo y montó la raíz del sistema de archivos, inicia el programa /sbin/init[1]. 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. En la próxima sección estudiaremos los distintos 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 |
id:5:initdefault: |
l5:5:wait:/etc/rc.d/rc 5 |
init también es responsable de reiniciar (respawn) ciertos programas que sólo él es capaz de reiniciar. Este es el caso, por ejemplo, de todos los programas de conexión que corren en cada una de las 6 terminales virtuales[2]. Para la segunda consola virtual, esto da:
2:2345:respawn:/sbin/mingetty tty2 |
[1] | Ahora Ud. puede ver por qué poner /sbin en un sistema de archivos que no sea la raíz es un muy mala idea :-) |
[2] | Por lo que Ud. puede, si quiere, agregar o quitar consolas virtuales modificando este archivo, hasta un máximo de 64, siguiendo la sintaxis. Pero no se olvide que X ¡también corre en una consola virtual! Entonces, por lo menos deje una libre para X. |