Lorsque les programmes d'initialisation de style System V sont lancés par le noyau, ils lisent leur fichier de configuration, /etc/inittab. Ce fichier définit :
- le niveau d'exécution dans lequel init démarrera le système par défaut
- les programmes init seront exécutés pour initialiser le système
- les processus standard init démarreront pour chaque niveau d'exécution
- les scripts init seront exécutés pour implémenter chaque niveau d'exécution
Par défaut, la plupart des serveurs sont démarrés au niveau d'exécution 3, tandis que la plupart des postes de travail sont démarrés au niveau d'exécution 5. Cette valeur par défaut peut être remplacée au démarrage en configurant le chargeur de démarrage pour qu'il transmette une option spécifiant un autre niveau d'exécution.
/etc/inittab Line Syntaxe
Une ligne dans le fichier /etc/inittab comporte quatre champs délimités par deux-points.
id:rstate:action:process
– Le premier est un identifiant unique. Peu importe la valeur tant qu'aucune autre ligne n'a les mêmes 1 ou 2 caractères.
– La seconde est la liste des niveaux d'exécution auxquels restreindre cette ligne. Si aucune n'est répertoriée, la ligne sera traitée quel que soit le niveau d'exécution par défaut.
– Le troisième champ est l'action qui sera entreprise (généralement l'exécution de la commande spécifiée dans le quatrième champ).
Le tableau suivant décrit les champs d'une entrée inittab.
Champ | Description |
---|---|
identifiant | Est un identifiant unique pour l'entrée. |
rstate | Répertorie les niveaux d'exécution auxquels cette entrée s'applique. |
action | Identifie comment le processus spécifié dans le champ de processus doit être exécuté. Les valeurs possibles incluent : sysinit, boot, bootwait, wait et respawn. Pour une description des autres mots-clés d'action, voir inittab(4). |
processus | Définit la commande ou le script à exécuter. |
Niveau d'exécution par défaut
La ligne initdefault dans /etc/inittab indique à init le niveau d'exécution auquel accéder s'il n'a pas reçu cette information. Cette ligne est spéciale en ce sens qu'il n'y a pas de commande à exécuter (toutes les autres ont une valeur dans le quatrième champ) :
Exemple de fichier /etc/inittab
Vous trouverez ci-dessous un exemple de fichier /etc/inittab du système CentOS 6.
# cat /etc/inittab # inittab is only used by upstart for the default runlevel. # # ADDING OTHER CONFIGURATION HERE WILL HAVE NO EFFECT ON YOUR SYSTEM. # # System initialization is started by /etc/init/rcS.conf # # Individual runlevels are started by /etc/init/rc.conf # # Ctrl-Alt-Delete is handled by /etc/init/control-alt-delete.conf # # Terminal gettys are handled by /etc/init/tty.conf and /etc/init/serial.conf, # with configuration in /etc/sysconfig/init. # # For information on how to write upstart event handlers, or how # upstart works, see init(5), init(8), and initctl(8). # # Default runlevel. The runlevels used are: # 0 - halt (Do NOT set initdefault to this) # 1 - Single user mode # 2 - Multiuser, without NFS (The same as 3, if you do not have networking) # 3 - Full multiuser mode # 4 - unused # 5 - X11 # 6 - reboot (Do NOT set initdefault to this) # id:3:initdefault:
/etc/rc.d/rc.sysinit Script de démarrage
Le /etc/rc.d/rc.sysinit Le script est appelé par le programme init au démarrage. Ce script effectue une configuration initiale indépendante du niveau d'exécution. Voici des exemples de choses effectuées par le script rc.sysinit :
- le matériel périphérique tel que les appareils connectés USB, parallèles ou série sont configurés
- les paramètres du noyau spécifiés dans /etc/sysctl.conf sont appliqués au noyau en cours d'exécution
- Définit le nom d'hôte
- le système de fichiers racine est vérifié et remonté en lecture/écriture
- Les périphériques RAID et LVM sont activés
- Les fichiers d'échange et les partitions sont activés
- quotas de disque activés