Les MANs Linux en français...
INITTAB
Section: Manuel de l'administrateur système Linux (5)Updated: October 19, 2001
Index Retour au Menu Principal
NOM
inittab - format du fichier inittab utilisé dans le processus de démarrage des systèmes UNIX SYSTEM V et compatiblesDESCRIPTION
Le fichier inittab décrit l'ensemble des processus qui doivent êtrelancé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 modes de démarrage (runlevel), chacun pouvant avoir ses propres processus à démarrer. Les modes de démarrage valides sont 0-6, et A, B, C pour des modes personnalisés. Typiquement, une entrée dans le fichier inittab a la forme suivante :
-
id:runlevels:action:process
- id
-
dans
inittab
(pour les versions des systèmes V compilées avec les librairies < 5.2.18
ou les librairies a.out, la limite est de 2 caractères).
Note : 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. Dans le cas contraire, la connexion risquerait de ne pas bien fonctionner.
- runlevels
- liste des modes de démarrage pour lesquels l'action doit être faite
- action
- décrit l'action à faire
- process
- spécifie la commande à exécuter. Si ce champ commence par le caractère « + », init ne lancera pas les commandes utmp et wtmp pour enregistrer les connexions. Ceci est requis par getty qui utilise son propre gestionnaire d'enregistrement de connexion. C'est également une habitude.
le champ runlevels peut contenir plusieurs caractères indiquant différents
modes de démarrage. Par exemple, 123 signifie que le process sera exécuté
dans les modes de démarrage 1, 2 et 3.
Les runlevels pour les entrées ondemand peuvent contenir un A,
B, ou C. Les entrées de champs runlevels de sysinit,
boot, et bootwait sont ignorées.
Quand le mode de démarrage est changé, tous les processus qui ont été démarrés dans ce mode sont tués, d'abord avec SIGTERM, puis avec SIGKILL.
Les actions valides pour le champ action sont :
- respawn
- Le processus est redémarré à chaque fois qu'il se termine (ex : getty)
- wait
- Le processus n'est démarré qu'une seul fois dans son mode de démarrage et init attend qu'il se termine.
- once
- Le processus est exécuté lorsque le mode de démarrage spécifié est appelé
- boot
- Le processus est exécuté pendant le démarrage du système. Le champ runlevels est ignoré.
- bootwait
- Le processus est exécuté pendant le démarrage du système, et init attend que le processus se termine. Le champ runlevels est ignoré.
- off
-
Ne fait rien
- ondemand
- Un processus marqué dans un mode de démarrage ondemand est exécuté à chaque fois que le mode de démarrage ondemand est appelé. Cependant, aucun changement de mode de démarrage ne survient. (les modes de démarrage pour ondemand sont « a », « b » et « c »).
- initdefault
- Une entrée initdefault indique qu'on entrera dans le mode de démarrage une fois le système sera effectivement opérationnel. Si aucun n'existe, init demandera un runlevel sur la console. Le champ process 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 runlevels est ignoré
- powerwait
- Le processus est exécuté quand la machine est sur le point de s'éteindre. Init est normalement informé par un programme qui discute avec un UPS connecté à la machine. Init attend jusqu'à ce que le processus soit terminé avant de continuer.
- powerfail
- Idem que 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 la machine est remise en route.
- powerfailnow
- Ce processus sera exécuté quand on dit à init que la batterie de l'onduler externe est presque vide et que la tension faiblit (à condition que l'onduleur et le processus de surveillance soit capable 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 taper la combinaison de touches CTRL + ALT + DEL. Typiquement, on a voulu exécuter une sorte d'arrêt, soit pour démarrer en mode simple utilisateur, soit pour redémarrer la machine.
- kbrequest
-
Le processus sera exécuté quand init reçoit un signal du gestionnaire
de clavier 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 paquetage kbd-x.xx packages (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
Un fichier inittab plus élaboré avec différents modes de démarrage (notez bien les commentaires) :
-
# Runlevel à démarrer (le 2) id:2:initdefault: # Initialisation du système avant tout autre chose si::sysinit:/etc/rc.d/bcheckrc # les runlevels 0 et 6 sont respectivement réservés pour # la fermeture et le redémarrage du système. # le 1 est réservé pour le mode maintenance. 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 # Que faire du « salut à 3 doigts ». ca::ctrlaltdel:/sbin/shutdown -t5 -rf now # Dans les runlevel 2&3 : getty sur la console, level 3 également un getty # 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 S2:3:respawn:/sbin/uugetty ttyS2 M19200
FICHIERS
/etc/inittabAUTEUR
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). La traduction est de Danny (dannybrain@noos.fr) et Gérard Delafond (gerard@delafond.org) en Novembre 2 001.VOIR AUSSI
init(8), telinit(8)
Index
Time: 09:31:54 GMT, December 26, 2004