|
INITTAB(5) manual page
Table of Contents
inittab - formato del file inittab file usato dai processi init compatibili
con il System V
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
.
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
/etc/inittab
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>
init(8)
, telinit(8)
Table of Contents
|