Cuando init comienza su ejecución, lee el archivo de
configuración /etc/inittab
. Mientras el sistema se esté
ejecutando, puede releerse este archivo de configuración si la señal HUP es
enviada al proceso; [27] esta acción permite que no
sea necesario reiniciar todo el sistema para que los cambios en la configuración
de init tomen efecto.
El archivo /etc/inittab
es un poco complicado. Debido
a esto, comenzaremos su explicación con el simple caso de configurar líneas
getty. Las líneas de texto dentro del archivo
/etc/inittab
consisten de cuatro campos delimitados por dos
puntos:
id:runlevels:action:process
La descripción de cada uno de los campos están explicados en los párrafos
sucesivos. Además, /etc/inittab
puede contener líneas
vacías y líneas que comiencen con el símbolo numeral (`#
'),
las cuales son ignoradas al ser leídas por init.
Este
campo identifica a la línea dentro del archivo. Para líneas
getty, especifica la terminal en que debe ejecutarse
(los caracteres después de /dev/tty
en el nombre
del archivo de dispositivo). Para otros tipos de líneas, este campo no
tiene importancia. El valor en este campo debe ser único (no se permite
que existan dos id iguales) y la longitud no puede exceder la de cuatro
caracteres.
Los niveles de ejecución en los cuales la línea debe ser considerada. Los niveles de ejecución están dados por dígitos simples, sin delimitadores. (los niveles de ejecución serán descriptos en la próxima sección).
Define la
manera en que debe ser tratada la línea. Por ejemplo, si el valor es
respawn
, entonces el comando que se detalle en el
próximo campo se ejecutará nuevamente cada vez que finalice, en cambio,
si el valor es once
, el comando se ejecuta una única
vez.
El comando a ejecutar.
Para iniciar un getty en la primera terminal virtual
(/dev/tty1
), en todos los niveles de ejecución
multiusuarios normal (2-5), debe escribir la siguiente línea:
1:2345:respawn:/sbin/getty 9600 tty1
El primer campo señala que esta es la línea para el archivo de dispositivo
/dev/tty1
. El segundo campo indica que esta entrada se
aplica a los niveles de ejecución 2,3,4 y 5. El tercer campo significa que el
comando debe ser ejecutado nuevamente, después de que este termine (para que uno
pueda ingresar al sistema, salir y entonces poder ingresar nuevamente). El
último campo es el comando que ejecuta a getty en la primera
terminal virtual [28]
Si desea agregar terminales o líneas módem (dial-in) a un sistema, debe
agregar mas líneas a /etc/inittab
, una para cada terminal o
línea de auto-respuesta. Si necesita conocer mas detalles, lea las páginas de
manual para init, inittab
y
getty.
En caso de que un comando falle cuando comience su ejecución, e
init esté configurado para reiniciarlo
, el
sistema consumirá una gran cantidad de recursos, debido a que la acción de
ejecutar el comando se repetirá infinitamente. Para prevenir este tipo de
problemas, init registra que tan frecuentemente reinicia un
comando, y si la frecuencia crece a valores muy altos, init
espera por cinco minutos antes de reiniciarlo nuevamente.