Que sont les «niveaux d'exécution» sous Linux?

Table des matières:

Que sont les «niveaux d'exécution» sous Linux?
Que sont les «niveaux d'exécution» sous Linux?

Vidéo: Que sont les «niveaux d'exécution» sous Linux?

Vidéo: Que sont les «niveaux d'exécution» sous Linux?
Vidéo: MATERIEL - Découverte et Calibrage de l'écran BenQ SW321C 32" 4K. - YouTube 2024, Avril
Anonim
Lorsqu'un système Linux démarre, il entre dans son niveau d'exécution par défaut et exécute les scripts de démarrage associés à ce niveau d'exécution. Vous pouvez également basculer d’un niveau d’exécution à un autre. Par exemple, il existe un niveau d’exécution conçu pour les opérations de restauration et de maintenance.
Lorsqu'un système Linux démarre, il entre dans son niveau d'exécution par défaut et exécute les scripts de démarrage associés à ce niveau d'exécution. Vous pouvez également basculer d’un niveau d’exécution à un autre. Par exemple, il existe un niveau d’exécution conçu pour les opérations de restauration et de maintenance.

Traditionnellement, Linux utilisait des scripts d’initiation de style System V - bien que les nouveaux systèmes init finissent par devenir obsolètes, ils ne l’ont pas encore été. Par exemple, le système Upstart d’Ubuntu utilise toujours les scripts traditionnels de style System V.

Qu'est-ce qu'un Runlevel?

Quand un système Linux démarre, il lance le init processus. init est responsable du lancement des autres processus sur le système. Par exemple, lorsque vous démarrez votre ordinateur Linux, le noyau démarre init et exécute les scripts de démarrage pour initialiser votre matériel, activer la mise en réseau, démarrer votre bureau graphique.

Cependant, il n’existe pas un seul ensemble de scripts de démarrage qu’Init peut exécuter. Il existe plusieurs niveaux d'exécution avec leurs propres scripts de démarrage. Par exemple, un niveau d'exécution peut mettre en réseau et lancer le bureau graphique, tandis qu'un autre niveau d'exécution peut laisser le réseau désactivé et ignorer le bureau graphique. Cela signifie que vous pouvez passer du «mode bureau graphique» au «mode console texte sans réseau» avec une seule commande, sans démarrer et arrêter manuellement différents services.

Plus spécifiquement, init exécute les scripts situés dans un répertoire spécifique correspondant au niveau d'exécution. Par exemple, lorsque vous entrez au niveau d'exécution 3 sur Ubuntu, init exécute les scripts situés dans le répertoire /etc/rc3.d.

Au moins, voici comment cela fonctionne avec un système System V init traditionnel: les distributions Linux commencent à remplacer l’ancien système System V init. Bien que la compatibilité Upstart d’Ubuntu soit actuellement compatible avec les scripts d’initialisation SysV, il est probable que cela change dans le futur.
Au moins, voici comment cela fonctionne avec un système System V init traditionnel: les distributions Linux commencent à remplacer l’ancien système System V init. Bien que la compatibilité Upstart d’Ubuntu soit actuellement compatible avec les scripts d’initialisation SysV, il est probable que cela change dans le futur.

Les niveaux d'exécution

Certains niveaux de fonctionnement sont standard entre les distributions Linux, tandis que d'autres varient d'une distribution à l'autre.

Les niveaux d'exécution suivants sont standard:

  • 0 – Arrêt (Arrête le système.)
  • 1 – Mode mono-utilisateur (Le système démarre en mode superutilisateur sans démarrer les démons ni la mise en réseau. Idéal pour le démarrage dans un environnement de récupération ou de diagnostic.)
  • 6 – Redémarrer

Les niveaux d'exécution 2-5 varient en fonction de la distribution. Par exemple, sous Ubuntu et Debian, les niveaux d’exécution 2 à 5 sont identiques et fournissent un mode multi-utilisateur complet avec la connexion réseau et la connexion graphique. Sur Fedora et Red Hat, le niveau 2 offre le mode multi-utilisateur sans réseau (connexion à la console uniquement), le niveau 3 fournit le mode multi-utilisateur avec la mise en réseau (connexion à la console uniquement), le niveau 4 est inutilisé et le niveau 5 fournit le mode multi-utilisateur avec connexion réseau et connexion graphique.

Passage à un autre niveau d'exécution

Pour passer à un autre niveau d'exécution alors que le système est déjà en cours d'exécution, utilisez la commande suivante:

sudo telinit #

Remplacez # par le numéro du niveau d'exécution auquel vous souhaitez passer. Omettez sudo et exécutez la commande en tant que root si vous exécutez une distribution qui n’utilise pas sudo.

Image
Image

Démarrer directement à un niveau d'exécution spécifique

Vous pouvez sélectionner un niveau d'exécution à démarrer à partir du chargeur de démarrage - Grub, par exemple. Au début du processus de démarrage, appuyez sur une touche pour accéder à Grub, sélectionnez votre entrée de démarrage et appuyez sur e pour la modifier.

Image
Image

Vous pouvez ajouter unique à la fin de la linux ligne pour entrer le niveau d'exécution mono-utilisateur (niveau d'exécution 1). (Appuyez sur Ctrl + x pour démarrer après.) Il s'agit de la même chose que l'option de mode de récupération de Grub.

Image
Image

En règle générale, vous pouvez spécifier un nombre en tant que paramètre du noyau et démarrer à ce niveau d'exécution - par exemple, en utilisant 3 au lieu de unique démarrer au niveau d’exécution 3. Cependant, cela ne semble pas fonctionner avec les dernières versions d’Ubuntu - Upstart ne semble pas le permettre. De même, la manière dont vous modifiez le niveau d'exécution par défaut dépend de votre distribution.

Bien que le démon Upstart d’Ubuntu émule toujours le système SystemV init, une grande partie de ces informations changera à l’avenir. Par exemple, Upstart est basé sur des événements - il peut arrêter et démarrer des services lorsque des événements se produisent (par exemple, un service peut démarrer lorsqu'un périphérique matériel est connecté au système et s'arrêter lorsque le périphérique est supprimé.) Fedora a également son propre successeur. pour init, systemd.

Conseillé: