INITTAB(5)

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 et 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  Séquence unique de 1 à 4 caractères identifiant une entrée dans inittab (pour les versions des systèmes V compilées avec une vielle libc5 (< 5.2.18) ou avec les bibliothèques a.out, la limite est de 2 caractères).

    Note : pour les programmes de connexion 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 processus 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 modifié, tous les processus en cours d'exécution qui ne sont pas dans le nouveau mode de démarrage sont tués, d'abord avec SIGTERM, puis avec SIGKILL.

Les actions valides pour le champ action sont : Le processus est redémarré à chaque fois qu'il se termine (ex : getty).

wait
    Le processus n'est démarré qu'une seule 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 rien faire.

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 que 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
    Identique à 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'onduleur 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 tapé 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 pour 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/init.d/rcS
    # Que faire en mode simple utilisateur.
    ~:S:wait:/sbin/sulogin
    # /etc/init.d exécute les scripts S et K scripts lors
    # d'un changement de mode de démarrage.
    #
    # Runlevel 0 est l'arrêt.
    # Runlevel 1 est le mode simple utilisateur.
    # Runlevels 2-5 sont des modes multi-utilisateur.
    # Runlevel 6 est le mode de 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 -t5 -rf now
    # Runlevel 2,3: getty sur consoles virtuelles
    # Runlevel   3: getty sur terminal (ttyS0) et modem (ttyS1)
    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

Ce document est une traduction réalisée par Danny Biehle <dannybrain AT noos DOT fr> et Gérard Delafond <gerard AT delafond DOT org> le 7 novembre 2001 et révisée le 19 novembre 2007.

L'équipe de traduction a fait le maximum pour réaliser une adaptation française de qualité. La version anglaise la plus à jour de ce document est toujours consultable via la commande : « LANG=C man 5 inittab ». N'hésitez pas à signaler à l'auteur ou au traducteur, selon le cas, toute erreur dans cette page de manuel.