Skip to main content

Inittab — Commande Linux / Unix

10.3 Init System and Run Levels (Juin 2025)

10.3 Init System and Run Levels (Juin 2025)
Anonim

inittab - format du fichier inittab utilisé par le processus init compatible sysv

La description

leinittab Le fichier décrit les processus qui sont démarrés au démarrage et en fonctionnement normal (par exemple, /etc/init.d/boot, /etc/init.d/rc, gettys …).Init(8) distingue plusieursniveaux d'exécution, chacun d'entre eux pouvant avoir son propre ensemble de processus démarrés. Les niveaux de fonctionnement valides sont0-6 plusUNE, B, etC pourà la demande les entrées. Une entrée dans leinittab Le fichier a le format suivant:

id: runlevels: action: process

Les lignes commençant par «#» sont ignorées.

identifiant est une séquence unique de 1 à 4 caractères qui identifie une entrée dansinittab(pour les versions de sysvinit compilées avec les bibliothèques <5.2.18 ou a.out, la limite est de 2 caractères).

Remarque: pour les gettys ou autres processus de connexion, leidentifiant champ doit être le suffixe tty du tty correspondant, par ex.1 pourtty1. Sinon, la comptabilisation de la connexion risque de ne pas fonctionner correctement.

niveaux d'exécutionrépertorie les niveaux d'exécution pour lesquels l'action spécifiée doit être effectuée.

actiondécrit les mesures à prendre.

processusspécifie le processus à exécuter. Si le champ de processus commence par un caractère «+»,initne fera pas la comptabilité utmp et wtmp pour ce processus. Ceci est nécessaire pour les gettys qui insistent pour faire leur propre entretien utmp / wtmp. C'est aussi un bug historique.

leniveaux d'exécution Le champ peut contenir plusieurs caractères pour différents niveaux d'exécution. Par exemple,123 spécifie que le processus doit être démarré aux niveaux d’exécution 1, 2 et 3. Leniveaux d'exécution pourà la demandeles entrées peuvent contenir unUNE, B, ouC. leniveaux d'exécution domaine desysinite, démarrage, etBootwait les entrées sont ignorées.

Lorsque le niveau d'exécution du système est modifié, tous les processus en cours non spécifiés pour le nouveau niveau d'exécution sont supprimés, d'abord avec SIGTERM, puis avec SIGKILL.

Actions valides pour leaction domaine sont:

renaître

Le processus sera redémarré chaque fois qu'il se termine (par exemple, getty).

attendre

Le processus sera lancé une fois lorsque le niveau d'exécution spécifié est entré etinitattendra sa fin.

une fois que

Le processus sera exécuté une fois lorsque le niveau d'exécution spécifié est entré.

démarrage

Le processus sera exécuté lors du démarrage du système. le niveaux d'exécution le champ est ignoré.

Bootwait

Le processus sera exécuté lors du démarrage du système, tandis queinitattend sa fin (par exemple, / etc / rc). le niveaux d'exécution le champ est ignoré.

de

Cela ne fait rien.

à la demande

Un processus marqué d'unà la demande runlevel sera exécuté à chaque fois que leà la demande runlevel s'appelle. Cependant, aucun changement de niveau d’exécution ne se produira (à la demande les niveaux d'exécution sont "a", "b" et "c").

initdefault

Uninitdefault entry spécifie le niveau d'exécution qui doit être entré après le démarrage du système. Si aucun n'existe,init demandera un niveau d'exécution sur la console. le processus le champ est ignoré.

sysinite

Le processus sera exécuté lors du démarrage du système. Il sera exécuté avant toutdémarrage ouBootwait les entrées. leniveaux d'exécution le champ est ignoré.

Powerwait

Le processus sera exécuté lorsque le courant sera coupé. Init est généralement informé à ce sujet par un processus qui parle à un onduleur connecté à l'ordinateur.Init attendra que le processus se termine avant de continuer.

panne d'alimentation

Pour ce qui est dePowerwait, exceptéinit n'attend pas la fin du processus.

Powerokwait

Ce processus sera exécuté dès queinit est informée que le courant a été rétabli.

powerfailnow

Ce processus sera exécuté lorsqueinit est informé que la batterie de l'onduleur externe est presque vide et que l'alimentation est en panne (à condition que l'onduleur externe et le processus de surveillance puissent détecter cette condition).

ctrlaltdel

Le processus sera exécuté lorsqueinit reçoit le signal SIGINT. Cela signifie que quelqu'un sur la console système a appuyé sur le boutonCTRL-ALT-DEL combinaison de touches. Typiquement, on veut exécuter une sorte defermer soit pour entrer au niveau utilisateur unique ou pour redémarrer la machine.

kbrequest

Le processus sera exécuté lorsqueinit reçoit un signal du gestionnaire de clavier indiquant qu'une combinaison de touches spéciale a été enfoncée sur le clavier de la console.

La documentation pour cette fonction n'est pas encore complète. Vous trouverez plus de documentation dans les paquetages kbd-x.xx (le plus récent était kbd-0.94 au moment de la rédaction de cet article). En gros, vous voulez associer une combinaison de clavier à l'action "KeyboardSignal". Par exemple, pour mapper Alt-Uparrow à cette fin, utilisez ce qui suit dans votre fichier de keymaps:

alt keycode 103 = KeyboardSignal

EXEMPLES

Voici un exemple d'inittab qui ressemble à l'ancien inittab 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 s'exécute/ etc / rc pendant le démarrage et commence gettys sur tty1-tty4.

Un plus élaboréinittab avec différents niveaux d'exécution (voir les commentaires à l'intérieur):

# Niveau à exécuter dans id: 2: initdefault: # Initialisation du système avant toute chose. si :: sysinit: /etc/rc.d/bcheckrc # Le niveau d'exécution 0,6 est arrêté et redémarre, 1 en mode maintenance. l0: 0: attendez: /etc/rc.d/rc.halt l1: 1: attendez: /etc/rc.d/rc.single l2: 2345: attendez: /etc/rc.d/rc.multi l6: 6: attendez: /etc/rc.d/rc.reboot # Que faire lors du "salut à 3 doigts". ca :: ctrlaltdel: / sbin / shutdown -t5 -rf maintenant # Niveaux d'exécution 2 et 3: getty sur console, niveau 3 également getty sur 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

Voir également

init(8), telinit(8)

Important: Utilisez le homme commande ( % homme ) pour voir comment une commande est utilisée sur votre ordinateur.