Linux

CentOS 4.8

inittab(5)


INITTAB

NOM

inittab − format du fichier inittab utilisé dans le processus de démarrage des systèmes UNIX SYSTEM 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 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

Les lignes commençant par le caractère « # » sont ignorées.

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

Ce fichier inittab exécute /etc/rc pendant le démarrage du système et démarre getty sur les tty1−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/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). 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)


inittab(5)