mercredi 13 août 2008

Les niveaux d'éxecutions de Linux

Vous avez déjà probablement entendu parlé des niveaux d'éxecutions. Mais qu'est-ce que c'est au juste ?

En fait le niveau d'éxecution correspond à un stade du fonctionnement de l'OS.

Il en existe plusieurs, que vous pouvez en fait personnaliser, mais là n'est pas le but de ce post.

  • 0 pour l'arrêt du système
  • 1 pour l'arrêt du système en mode mono-utilisateur
  • S qui permet le passage en mono-utilisateur. Celui-ci n'est pas directement utilisé, il est appelé lors du passage en niveau 1
  • 6 pour le redémarrage du système

Généralement le niveau 2 est utilisé pour l'interface graphique.

Le mode mono-utilisateur est un mode qui ouvre une seule console (/dev/console), connectée en root tout de suite. Quand on démarre en "Recovery Mode", on démarre tout en restant en mode 1 (mono-utilisateur), il faut donc bien protéger le Recovery Mode (le mot de passe sur le recovery mode dans grub est une bonne solution).

Pour changer de mode, il faut utiliser la commande init. En fait quand init est lancé par un utilisateur et non par le kernel, il redirige la commande vers telinit.

En fait init, c'est le processus lancé au début par le kernel, et qui lance touts les autres (dont les ttys, l'interface graphique, les services init.d) en lisant son fichier de configuration :

/etc/inittab

Avec ce fichier on peut rajouter des TTY sur Ctrl+Alt+F8 par exemple, ou encore une deuxième interface graphique, même si c'est plus compliqué.

Si jamais vous voulez passer du mode Multi-Utilisateur au mode Mono-Utilisateur, utilisez juste la commande init (ou telinit) avec comme argument le numéro du niveau d'éxecution de votre choix... Attention, passer en mono-utilisateur ferme le serveurs X et vous perdez vos tâches en cours !

Dernière astuce, pour voir le runlevel (niveau d'execution chez Shakespeare ;) ), entre la commande... runlevel ! Facile, non ?

Aucun commentaire:

 
Pistaaaaaaaaaaaaaaache