Manpages

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 06 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 [AT] cistron.nl), la pagina di manuale è stata scritta da Sebastian Lederer (lederer [AT] francium.de) e modificata da Michael Haardt (u31b3hs [AT] pool.de).
Traduzione di Giovanni Bortolozzo <borto [AT] dei.it>

VEDERE ANCHE

init(8), telinit(8)