Run level
Le run level, ou niveau d'exécution, est un chiffre ou une lettre utilisé par le processus init des systèmes de type Unix pour déterminer les fonctions activées.
Fonctionnement
[modifier | modifier le code]Le run level varie généralement de 0 à 6, et il y a parfois un niveau « s ». Chacun correspond à un ensemble d'applications à mettre en marche. En général, plus le run level est élevé, plus il y aura de fonctions actives.
Le run level 6 est affecté au redémarrage de l'ordinateur, et le run level 0 à l'arrêt. S'y ajoute parfois le niveau S (mode « single user »).
Le fichier /etc/inittab détermine le run level par défaut du système au démarrage, ainsi que les fonctions actives à chaque run level.
On passe d'un run level à l'autre en utilisant la commande init ou telinit (ou encore shutdown pour les transitions vers 0 ou 6). La transition d'un niveau à l'autre va lancer des scripts d'arrêt et de démarrage de fonctions.
Pour passer d'un niveau à l'autre, il n'est pas nécessaire de passer par les niveaux intermédiaires.
La commande « who -r » permet de consulter le run level actuel:
$ who -r run-level 2 2011-11-24 15:59
La commande « runlevel » le permet également:
# runlevel N 2
Organisation dans System V
[modifier | modifier le code]Dans cette organisation héritée de UNIX System V, utilisée par Solaris et plusieurs distributions Linux, les scripts de lancement des applications sont regroupés dans un répertoire commun /etc/init.d. Ces scripts reçoivent un paramètre qui peut être start, stop, restart, etc.
À chaque niveau correspond un répertoire (typiquement /etc/rc.d/rc2.d pour le niveau 2) de liens symboliques vers des fichiers de /etc/init.d. Ces liens symboliques portent des noms commençant par la lettre S ou K, suivi d'un numéro sur deux chiffres.
Lors d'un changement de run level :
- les scripts dont le nom commence par un K dans le répertoire correspondant au niveau actuel sont lancés (dans l'ordre des numéros) avec le paramètre stop, ce qui a normalement pour effet d'arrêter le service correspondant,
- les scripts du nouveau niveau qui commencent par S sont appelés successivement avec le paramètre start.
Signification conventionnelle des run levels
[modifier | modifier le code]Les run levels ne sont pas tous normalisés, en général la signification suivante est adoptée :
- 0 : Arrêt
- 1 : Mode mono-utilisateur ou maintenance
- 2 à 5 : dépend du système d'exploitation
- 6 : Redémarrage
Le niveau 2 peut correspondre à un mode multi-utilisateur sans serveur applicatif.
Le niveau 3 correspond alors à un environnement multi-utilisateur avec serveurs applicatifs.
Le niveau 4 ou 5 est parfois utilisé pour lancer l'environnement graphique.