NOM¶
inittab - Format du fichier inittab utilisé dans le processus de
démarrage des systèmes UNIX Système V et compatibles
DESCRIPTION¶
Le fichier
inittab décrit l'ensemble des processus qui doivent
être lancés au démarrage du système et dans d'autres
circonstances (par exemple, /etc/init.d/boot, /etc/init.d/rc, gettys…).
Le programme
init(8) distingue différents
niveaux_exécution (runlevel), chacun pouvant avoir ses propres
processus à démarrer. Les niveaux d'exécution valables sont
0-
6, et
A,
B ou
C pour des niveaux
personnalisés (
ondemand). Typiquement, une entrée dans le
fichier inittab a la forme suivante :
id:
niveaux_exécution:
action:
processus
Les lignes commençant par le caractère « # » sont
ignorées.
- id
- Séquence unique de 1 à 4 caractères qui
identifient une entrée dans inittab (pour les versions de
sysvinit compilées avec les anciennes bibliothèques libc5
(< 5.2.18) ou a.out, la limite est de 2 caractères).
Remarque : pour les programmes de login comme les gettys ou d'autres,
le champ id doit être le numéro du tty correspondant
à la console, par exemple 1 pour tty1. Des anciens
programmes de gestion des connexions peuvent également se baser
là-dessus, même si je n'en ai pas le souvenir.
- niveaux_exécution
- Liste des niveaux d'exécution pour lesquels l'action
doit être faite.
- action
- Description de l'action à faire.
- processus
- Commande à exécuter. Si ce champ commence par le
caractère « + », init n'enregistrera pas
les connexions dans utmp et wtmp. Ceci est requis par getty qui utilise
son propre gestionnaire de utmp ou wtmp. Ceci est également un bogue
qui reste pour des raisons historiques.
Le champ
niveaux_exécution peut contenir plusieurs caractères
indiquant différents niveaux d'exécution. Par exemple,
123
signifie que le processus sera exécuté dans les niveaux
d'exécution 1, 2 et 3. Les
niveaux d'exécution pour
les entrées
ondemand peuvent contenir un
A,
B ou
C. Les champs
niveaux_exécution des entrées
sysinit,
boot et
bootwait sont ignorés.
Quand le niveau d'exécution est changé, tous les processus qui ne sont
pas spécifiés démarrés dans ce nouveau niveau
d'exécution sont tués, d'abord avec SIGTERM, puis avec SIGKILL.
Les actions valables pour le champ
action sont :
- respawn
- Le processus est redémarré à chaque fois
qu'il se termine (par exemple : getty).
- wait
- Le processus n'est démarré qu'une seul fois, lors
de l'entrée dans le niveau d'exécution et init attend
qu'il se termine.
- once
- Le processus est exécuté une seule fois, lors de
l'entrée dans le niveau d'exécution.
- boot
- Le processus est exécuté pendant le
démarrage du système. Le champ niveaux_exécution est
ignoré.
- bootwait
- Le processus est exécuté pendant le
démarrage du système, et init attend que le processus se
termine (par exemple : /etc/rc). Le champ
niveaux_exécution est ignoré.
- off
- Ne fait rien.
- ondemand
- Un processus marqué dans un niveau d'exécution
ondemand est exécuté à chaque fois que le niveau
d'exécution ondemand est appelé. Cependant, aucun
changement de niveau d'exécution ne survient (les modes de
démarrage pour ondemand sont « a »,
« b » et « c »).
- initdefault
- Une entrée initdefault indique qu'on entrera
dans ce niveau d'exécution une fois le système effectivement
opérationnel. Si aucun n'existe, init demandera un niveau
d'exécution sur la console. Le champ processus est
ignoré.
- sysinit
- Le processus est exécuté pendant le
démarrage du système. Il est exécuté avant les
entrées boot ou bootwait. Le champ
niveaux_exécution est ignoré.
- powerwait
- Le processus est exécuté quand la machine est sur
le point de s'éteindre. Init est normalement informé de ceci par
un programme qui discute avec un UPS connecté à la machine.
Init attend jusqu'à ce que le processus soit terminé
avant de continuer.
- powerfail
- Comme powerwait, mis à part que init
n'attend pas la fin du processus avant de continuer.
- powerokwait
- Le processus est exécuté dès que init
est informé que l'alimentation de est remise en route.
- powerfailnow
- Ce processus est exécuté quand init est
informé que la batterie de l'onduleur externe est presque vide et que
la tension faiblit (à condition que l'onduleur et le processus de
surveillance soient capables de détecter cette condition).
- ctrlaltdel
- Le processus est exécuté lorsque init
reçoit le signal SIGINT. Cela signifie que quelqu'un dans la console
système a tapé la combinaison de touches CTRL-ALT-SUPPR.
Typiquement, on a voulu exécuter une sorte d'arrêt, soit pour
démarrer en mode mono-utilisateur, soit pour redémarrer la
machine.
- kbrequest
- Le processus est exécuté quand init
reçoit un signal du gestionnaire de clavier indiquant qu'une
combinaison spéciale de touches a été actionnée sur le
clavier de la console.
La documentation pour cette fonction n'est pas encore complète ;
il est possible de trouver de la documentation supplémentaire dans le
paquet kbd-x.xx paquets (le plus récent était kbd-0.94 au moment
où ces lignes sont écrites). Vous pouvez affecter des
combinaisons de touches à l'action
« KeyboardSignal ». Par exemple, pour affecter
Alt-FlècheHaut pour cet usage, utilisez ce qui suit dans votre
fichier keymaps :
alt keycode 103 = KeyboardSignal
EXEMPLES¶
Voici un exemple d'un fichier inittab qui ressemble à un ancien fichier
inittab sous linux :
# inittab for 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
Ce fichier inittab exécute
/etc/rc pendant le démarrage du
système et démarre getty sur les tty 1 à 4.
Un fichier
inittab plus élaboré avec différents niveaux
d'exécution (notez bien les commentaires) :
# Runlevel à démarrer
id:2:initdefault:
# Script de configuration / initialisation du système au démarrage.
si::sysinit:/etc/init.d/rcS
# Que faire dans le mode mono-utilisateur.
~:S:wait:/sbin/sulogin
# /etc/init.d exécute les scripts S et K pour les changements
# de niveau d'exécution.
#
# Le niveau 0 est pour l'arrêt.
# Le niveau 1 est pour le mode mono-utilisateur.
# Les niveaux 2 à 5 correspondent aux niveaux multi-utilisateurs.
# Le niveau 6 correspond aux redémarrage.
l0:0:wait:/etc/init.d/rc 0
l1:1:wait:/etc/init.d/rc 1
l2:2:wait:/etc/init.d/rc 2
l3:3:wait:/etc/init.d/rc 3
l4:4:wait:/etc/init.d/rc 4
l5:5:wait:/etc/init.d/rc 5
l6:6:wait:/etc/init.d/rc 6
# Que faire du « salut à 3 doigts ».
ca::ctrlaltdel:/sbin/shutdown -t1 -h now
# niveau d'exécution 2,3 : getty sur les consoles virtuelles
# niveau d'exécution 3 : getty sur le terminal (ttyS0) et
# sur le port 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
S0:3:respawn:/sbin/getty -L 9600 ttyS0 vt320
S1:3:respawn:/sbin/mgetty -x0 -D ttyS1
FICHIERS¶
/etc/inittab
AUTEUR¶
Init a été écrit par Miquel van Smoorenburg
(miquels@cistron.nl). Cette page de manuel a été écrite par
Sebastian Lederer (lederer@francium.informatik.uni-bonn.de) et modifiée
par Michael Haardt (u31b3hs@pool.informatik.rwth-aachen.de).
VOIR AUSSI¶
init(8),
telinit(8)
TRADUCTION¶
La traduction de cette page de manuel est maintenue par les membres de la liste
<debian-l10n-french AT lists DOT debian DOT org>. Veuillez signaler
toute erreur de traduction par un rapport de bogue sur le paquet
manpages-fr-extra.