inittab – formato del archivo inittab usado por el proceso init compatible con sysv
Descripción
El archivo inittab describe qué procesos se inician durante el arranque y durante el funcionamiento normal (por ejemplo, /etc/init.d/boot, /etc/init.d/rc, gettys…). Init (8) distingue múltiples niveles de ejecución , cada uno de los cuales puede tener su propio conjunto de procesos que se inician. Los niveles de ejecución válidos son 0 – 6 más A , B , y C para entradas bajo demanda . Una entrada en el archivo inittab tiene el siguiente formato:
id:runlevelels:action:process
Las líneas que comienzan con `#’ se ignoran.
id es una secuencia única de 1-4 caracteres que identifica una entrada en inittab (para versiones de sysvinit compiladas con bibliotecas < 5.2.18 o bibliotecas a.out el límite es de 2 caracteres).
Para gettys u otros procesos de inicio de sesión, el campo id debería ser el sufijo tty de la tty correspondiente, por ejemplo 1 para tty1 . De lo contrario, es posible que la contabilidad de inicio de sesión no funcione correctamente.
runlevels lista los niveles de ejecución para los que se debe realizar la acción especificada.
action describe qué acción se debe tomar.
especifica el proceso a ejecutar. Si el campo de proceso comienza con un carácter `+’, init no contabilizará utmp y wtmp para ese proceso. Esto es necesario para los gettys que insisten en hacer sus propias tareas domésticas de utmp/wtmp. Esto también es un error histórico.
El campo runlevels puede contener múltiples caracteres para diferentes niveles de ejecución. Por ejemplo, 123 especifica que el proceso debe iniciarse en los niveles de ejecución 1, 2 y 3. Las entradas runlevels for ondemand pueden contener un A , B , o C . Se ignoran las entradas runlevels del campo sysinit , boot , y bootwait .
Cuando se modifica el nivel de ejecución del sistema, cualquier proceso en ejecución que no se especifique para el nuevo nivel de ejecución se elimina, primero con SIGTERM y luego con SIGKILL.
Las acciones válidas para el campo de acción son:
respawn
El proceso se reiniciará cuando termine (por ejemplo, getty).
esperar
El proceso se iniciará una vez cuando se introduzca el nivel de ejecución especificado y init esperará su terminación.
una vez
El proceso se ejecutará una vez cuando se introduzca el nivel de ejecución especificado.
boot
El proceso se ejecutará durante el arranque del sistema. El campo runlevel se ignora.
bootwait
El proceso se ejecutará durante el arranque del sistema, mientras que init espera su terminación (por ejemplo /etc/rc). El campo runlevel se ignora.
off
Esto no hace nada.
bajo demanda
Un proceso marcado con un nivel de ejecución bajo demanda se ejecutará siempre que se llame al nivel de ejecución especificado bajo demanda . Sin embargo, no ocurrirá ningún cambio en el nivel de ejecución ( bajo demanda los niveles de ejecución son `a’, `b’, y `c’).
initdefault
Una entrada initdefault especifica el nivel de ejecución que debe introducirse tras el arranque del sistema. Si no existe ninguno, init pedirá un nivel de ejecución en la consola. El campo process se ignora.
sysinit
El proceso se ejecutará durante el arranque del sistema. Se ejecutará antes de cualquier entrada de arranque o bootwait . El campo runlevels se ignora.
powerwait
El proceso se ejecutará cuando se corte la energía. Init suele estar informado de ello mediante un proceso que habla con un SAI conectado al ordenador. Init esperará a que el proceso termine antes de continuar.
fallo eléctrico
En cuanto a powerwait , excepto que init no espera la finalización del proceso.
powerokwait
Este proceso se ejecutará tan pronto como init sea informado de que la energía ha sido restaurada.
powerfailnow
Este proceso se ejecutará cuando init indique que la batería del SAI externo está casi vacía y que la alimentación está fallando (siempre que el SAI externo y el proceso de monitorización sean capaces de detectar esta condición).
ctrlaltdel
El proceso se ejecutará cuando init reciba la señal SIGINT. Esto significa que alguien en la consola del sistema ha pulsado la combinación de teclas CTRL-ALT-DEL . Típicamente uno quiere ejecutar algún tipo de cierre ya sea para entrar al nivel de usuario único o para reiniciar la máquina.
kbrequest
El proceso se ejecutará cuando init reciba una señal del manipulador de teclado de que se ha pulsado una combinación especial de teclas en el teclado de la consola.
La documentación para esta función aún no está completa; se puede encontrar más documentación en los paquetes kbd-x.xx (el más reciente era kbd-0.94 en el momento de escribir este documento). Básicamente, desea asignar alguna combinación de teclado a la acción «KeyboardSignal». Por ejemplo, para mapear Alt-Uparrow para este propósito use lo siguiente en su archivo de mapas de teclas:
alt keycode 103 = KeyboardSignal
EJEMPLOS
Este es un ejemplo de un inittab que se parece al antiguo inittab de Linux:
# inittab para linux
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>i>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>""iiid:1:initdefault:
rc::bootwait:/etc/rc
1:1:respawn:/etc/getty 9600 tty1
2:1:respawn:/etc/getty 9600 tty2
3:1:respawn:/etc/getty 9600 tty3
4:1:respawn:/etc/getty 9600 tty4Este archivo inittab se ejecuta /etc/rc durante el arranque e inicia gettys en tty1-tty4.
Un inittab más elaborado con diferentes niveles de ejecución (ver los comentarios en el interior):
# Nivel para ejecutar en
>.id:2:initdefault:
# Inicialización del sistema antes que cualquier otra cosa.si::sysinit:/etc/rc.d/bcheckrc
# El nivel de ejecución 0,6 se detiene y se reinicia, 1 es el modo de mantenimiento.l0:0:espera:/etc/rc.d/rc.halt
l1:1:espera:/etc/rc.d/rc.single
l2:2345:espera:/etc/rc.d/rc.multi
l6:6:espera:/etc/rc.d/rc.reboot
# Qué hacer en el "saludo de los 3 dedos".
ca::ctrlaltdel:/sbin/shutdown -t5 -rf now
# Runlevel 2&3: getty en la consola, nivel 3 también getty en el puerto de módem.
1:23:respawn:/sbin/getty tty1 VC linux
2:23:respawn:/sbin/getty tty2 VC linux
3:23:respawn:/sbin/getty tty3 VC linux
4:23:respawn:/sbin/getty tty4 VC linux
S2:3:respawn:/sbin/uugetty ttyS2 M19200Ver también
init (8), telinit (8)
Utilice el comando man ( % man) para ver cómo se utiliza un comando en su equipo particular.