Init

Si tout s'est bien passé jusque-là, le noyau lance le programme "init"

Le fichier de configuration d'init /etc/inittab spécifie que le premier script à exécuter /etc/init.d/rcS. Ce script lance tous les scripts de /etc/rcS.d/ pour exécuter des initialisations, comme la vérification et le montage des systèmes de fichiers, le chargement des modules, le démarrage des services réseau, le réglage de l'horloge, et l'exécution d'autres initialisations. Ensuite, pour compatibilité, il lance aussi les fichiers (sauf ceux ayant un « . » dans leur nom) de /etc/rc.boot/. Les scripts de ce dernier répertoire sont habituellement réservés à l'administrateur système, et leur utilisation dans des paquets est obsolète.

Le répertoire /etc/rc.d

Contient le fichier rc.sysinit et les répertoires suivants:

  • init.d

  • rc0.d

  • rc1.d

  • rc2.d

  • rc3.d

  • rc4.d

  • rc5.d

  • rc6.d

  • Le répertoire rc.d peut contenir également les fichiers rc.local, rc.serial, rc.news, ...

  • le répertoire init.d contient un script par service lancé au démarrage (nfs, ftp, inet, ...)

  • les répertoires rc0.d à rc6.d correspondent aux programmes qui seront chargés en fonction du niveau d'exécution de Linux que nous allons voir.

Séquences du programme init

  • le noyau charge init,

  • init exécute dans l'ordre,

    • /etc/rc.d/rc.sysinit,

    • les scripts nécessaires pour la configuration /etc/rc.d/rcx.d

    • /etc/rc.d/rc.local

Remarque

  • les scripts exécutés dépendent du niveau d'exécution de Linux,

  • sinon c'est une configuration par défaut qui est sélectionnée.

Le niveaux d'exécution (runlevels)

  • 0 sert pour l'arrêt du système (ne pas mettre ce niveau par défaut)

  • 1 sert pour le mode mono utilisateur

  • 2 mode multi utilisateurs et réseau (sans NFS)

  • 3 mode multi utilisateurs et réseau

  • 4 ne sert pas

  • 5 demarrer avec l'environnement graphique (proposer un environnement)

  • 6 sert pour rebooter le système (ne pas mettre ce niveau par défaut)

Le niveau d'exécution par défaut

  • par défaut le niveau 3 - mode multi utilisateurs

  • défini dans /etc/inittab id:3:initdefault:

Suivant la distribution, ce niveau par défaut peut être différent

  • Debian : 2

  • Mandrake : 5