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

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

    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 passer d'un niveau d'exécution à un autre. Par exemple, un niveau d'exécution est conçu pour les opérations de restauration et de maintenance..

    Traditionnellement, Linux utilisait des scripts d'initialisation de style System V - alors que les nouveaux systèmes d'init deviendraient éventuellement obsolètes, ils ne l'ont pas encore fait. 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'y a pas qu'un seul ensemble de scripts de démarrage qu'init est exécuté. 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 la mise en 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 qu'Ubuntu Upstart maintienne actuellement la compatibilité avec les scripts d'initialisation SysV, cette situation est susceptible de changer à l'avenir.

    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.

    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..

    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..

    Traditionnellement, 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 sur 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.