INITTAB(5)

NOME
inittab - formato del file inittab file usato dai processi init compatibili con il System V

DESCRIZIONE
Il file inittab descrive quali processi sono avviati all'avvio e durante le normali operazioni (p.es. /etc/rc, getty...). Init distingue tra diversi runlevel, ognuno dei quali può avere il suo insieme di processi da avviare. I runlevel validi sono 0-6 e A, B e C per le voci ondemand ("su richiesta"). Una voce nel file inittab ha il seguente formato:

    id:runlevel:azione:processo

Le righe che iniziano con `#' sono ignorate.

id  è una sequenza unica di 1-4 caratteri che identifica una voce nell'inittab (per versioni di sysvinit compilare con librerie < 5.2.18 o librerie a.out il limite è di 2 caratteri).

    Nota: Per getty o altri processi di login, il campo id dovrebbe essere il suffisso a tty della tty corrispondente, p.es. 1 per tty1. Altrimenti, la registrazione del login potrebbe non funzionare correttamente.

runlevel
    descrive in quali runlevel dovrebbe essere intrapresa l'azione specificata.

azione
    descrive quale azione dovrebbe essere intrapresa.

processo
    specifica il processo da eseguire. Se il campo processo inizia con il carattere `+', init non effettuerà la registrazione utmp e wtmp per quel processo. Questo è necessario per le getty che insistono nel voler tenere il proprio utmp/wtmp. Questo è anche un bug storico.

Le azioni valide sono:

respawn
    Il processo sarà riavviato quando termina (p.es. getty).

wait
    Il processo sarà avviato quando si entra nel runlevel specificato e init attenderà la sua terminazione.

once
    Il processo sarà eseguito solo una volta quando si entra nel runlevel specificato.

boot
    Il processo sarà eseguito durante il boot del sistema. Il campo runlevel è ignorato.

bootwait
    Il processo sarà eseguito durante il boot del sistema, mentre init aspetta la sua terminazione (p.es. /etc/rc). Il campo runlevel è ignorato.

off Non fa niente.

ondemand
    Un processo marcato con un runlevel ondemand (su richiesta) sarà eseguito ogni volta che è chiamato il runlevel ondemand specificato. Comunque, non avverrà nessun cambio di runlevel (i runlevel ondemand sono 'a', 'b' e 'c').

initdefault
    Una voce initdefault specifica il runlevel nel quale si dovrebbe entrare dopo il boot del sistema. Se non ne esiste nessuna, init chiederà in console un runlevel. Il campo processo è ignorato.

sysinit
    Il processo sarà eseguito durante il boot del sistema. Sarà eseguito prima di qualsiasi voce boot o bootwait. Il campo runlevel è ignorato.

powerwait
    Il processo sarà eseguito quando init riceve il signal SIGPWR, che indica che c'è qualcosa che non va nell'alimentazione. Init aspetterà che il processo finisca prima di continuare.

powerfail
    Come powerwait, ma init non aspetterà la terminazione del processo.

powerokwait
    Il processo sarà eseguito quando init riceve il signal SIGPWR, purché ci sia un file chiamato /etc/powerstatus contenente la parola OK. Ciò significa che l'alimentazione è ritornata.

ctrlaltdel
    Il processo sarà eseguito quando init riceve il signal SIGINT. Ciò significa che qualcuno nella console del sistema ha premuto la combinazione di tasti CTRL-ALT-DEL. Tipicamente si vuole eseguire un qualche tipo di shutdown o portare il sistema in single-user level oppure rebootare la macchina.

kbrequest
    Il processo sarà eseguito quando init riceve un segnale dall'handler della tastiera che indica che una particolare combinazione di tasti è stata premuta nella tastiera della console.
    La documentazione per questa funzione non è ancora completa; maggiore documentazione la si può trovare nei pacchetti kbd-x.xx (quando scrivevo questo manuale il più recente era kbd-0.91). In parole povere, se si vuole, ad esempio, mappare qualche combinazioni di tasti per eseguire l'azione "Spawn_Console". Per esempio per mappare Alt-Uparrow per questa azione si usi quanto segue nel proprio keymap file:

    alt keycode 103 = Spawn_Console

Il campo runlevel può contenere più caratteri per i diversi runlevel, p.es. 123 se il processo dovrebbe essere avviato nei runlevel 1, 2 e 3. Le voci ondemand possono contenere un A, B o C. I campi runlevel delle voci sysinit, boot e bootwait sono ignorati.

Quando è cambiato il runlevel, qualsiasi processo in esecuzione che non è specificato anche per il nuovo runlevel è killato, prima con SIGTERM, e poi con SIGKILL.

ESEMPI
Questo è un esempio di un inittab che assomiglia al vecchio inittab di Linux:

    # inittab per Linux
    id: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 tty4

Questo file inittab esegue /etc/rc durante il boot e lancia getty su tty1-tty4.

Un inittab più elaborato con diversi runlevel (si vedano i commenti all'interno):

    # Livello in cui si entra
    id:2:initdefault:
    # Inizializzazione del sistema prima di ogni altra cosa.
    si::sysinit:/etc/rc.d/bcheckrc
    # I runlevel 0,6 sono halt e reboot, 1 è il modo per la
    # manutenzione
    l0:0:wait:/etc/rc.d/rc.halt
    l1:1:wait:/etc/rc.d/rc.single
    l2:2345:wait:/etc/rc.d/rc.multi
    l6:6:wait:/etc/rc.d/rc.reboot
    # Cosa fare al "3 finger salute".
    ca::ctrlaltdel:/sbin/shutdown -t5 -rf now
    # Runlevel 2&3: getty sulla console, il livello 3 fa ha
    # anche getty sulla porta del modem.
    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 M19200

FILE
/etc/inittab

AUTORE
Init è stato scritto da Miquel van Smoorenburg (miquels@cistron.nl), la pagina di manuale è stata scritta da Sebastian Lederer (lederer@francium.informatik.uni-bonn.de) e modificata da Michael Haardt (u31b3hs@pool.informatik.rwth-aachen.de).
Traduzione di Giovanni Bortolozzo <borto@dei.unipd.it>

VEDERE ANCHE
init(8), telinit(8)