Les niveaux d'exécution Linux représentent différents états du système ou modes de fonctionnement. Les fonctionnalités spécifiques associées à chaque niveau d'exécution peuvent varier légèrement selon les distributions (comme Debian, Red Hat, etc.), mais l'idée générale reste cohérente. Les systèmes SysVinit traditionnels utilisaient des niveaux d'exécution numérotés (0-6), tandis que systemd (utilisé par la plupart des distributions modernes) utilise des cibles conceptuellement similaires mais implémentées différemment.
Niveaux d'exécution SysVinit (anciens systèmes) :
* 0 : Arrêt : Arrêt du système.
* 1 :Mode mono-utilisateur : Un environnement minimal, généralement accessible uniquement par l'utilisateur root. Utile pour les tâches d'administration et de maintenance du système sans démarrer l'environnement graphique ou les services complets.
* 2 :Multi-utilisateurs, sans NFS : Un environnement multi-utilisateurs complet mais sans le Network File System (NFS).
* 3 :Multi-utilisateurs, avec mise en réseau : Un environnement multi-utilisateurs complet avec mise en réseau activée. Il s'agit souvent du niveau d'exécution par défaut pour de nombreux systèmes serveur.
* 4 : Inutilisé : Généralement réservé mais non standardisé.
* 5 :Multi-utilisateur avec interface graphique (X11) : Un environnement multi-utilisateurs complet avec une interface utilisateur graphique. Il s'agit du niveau d'exécution le plus courant pour les systèmes de bureau.
* 6 : Redémarrer : Redémarrage du système.
Cibles systemd (systèmes modernes) :
systemd n'utilise pas directement les niveaux d'exécution numérotés. Au lieu de cela, il utilise des *cibles*, qui sont des liens symboliques vers des états de type niveau d'exécution. Ceux-ci sont plus flexibles et descriptifs. Certaines cibles communes incluent :
* `multi-user.target` : Semblable au niveau d'exécution 3. Un environnement multi-utilisateurs complet avec mise en réseau. C'est souvent la cible par défaut des serveurs.
* `graphique.target` : Similaire au niveau d'exécution 5. Un environnement multi-utilisateurs avec une interface graphique. Il s'agit de la cible par défaut pour les systèmes de bureau.
* `rescue.target` : Semblable à un mode mono-utilisateur, offrant un environnement minimal pour le dépannage.
* `poweroff.target` : Arrête le système. Équivalent au niveau d'exécution 0.
* `reboot.target` : Redémarre le système. Équivalent au niveau d'exécution 6.
Considérations importantes :
* Différences de distribution : Le comportement exact et les services démarrés à chaque niveau d'exécution ou cible peuvent varier selon les distributions Linux. Consultez toujours la documentation de votre distribution pour plus de détails.
* initialiser les systèmes : Le système d'initialisation (SysVinit, systemd, Upstart, etc.) gère les niveaux d'exécution ou les cibles.
* Services : Les services individuels (démons) sont contrôlés séparément, souvent via des outils comme « systemctl » (pour systemd) ou « service » (pour SysVinit). Ces services déterminent quelles applications et démons s'exécutent à chaque niveau.
En résumé, alors que les niveaux d'exécution numérotés dans SysVinit fournissaient un moyen simple de catégoriser les états du système, les cibles systemd offrent une approche plus granulaire et flexible de la gestion du démarrage et de l'arrêt du système. Cependant, la fonctionnalité de base – fournir différents modes de fonctionnement au système – reste la même.
|