Recherche de site Web

6 meilleurs systèmes d'initialisation Linux modernes (1992-2023)


Sous Linux et d'autres systèmes d'exploitation de type Unix, le processus init (initialisation) est le premier processus exécuté par le noyau au moment du démarrage, qui possède un ID de processus (PID) de 1, qui est exécuté en arrière-plan jusqu'à l'arrêt du système.

Le processus init démarre tous les autres processus Linux, c'est-à-dire les démons, les services et autres processus en arrière-plan. Il est donc la mère de tous les autres processus du système.

Un processus peut démarrer de nombreux autres processus enfants sur le système, mais si un processus parent meurt, init devient le parent du processus orphelin.

Au fil des années, de nombreux systèmes d'initialisation sont apparus dans les principales distributions Linux et dans ce guide, nous examinerons certains des meilleurs systèmes d'initialisation avec lesquels vous pouvez travailler sur le système d'exploitation Linux.

1. Initialisation du système V

System V (SysV) est un schéma init mature et populaire sur les systèmes d'exploitation de type Unix. Il est le parent de tous les processus sur un système Unix/Linux. SysV est le premier système d'exploitation commercial Unix conçu.

Presque toutes les distributions Linux ont d'abord utilisé le schéma d'initialisation SysV, à l'exception de Gentoo qui a un init personnalisé et de Slackware qui utilise le schéma d'initialisation de style BSD.

Au fil des années, en raison de certaines imperfections, plusieurs remplacements de SysV init ont été développés dans le but de créer des systèmes d'initialisation plus efficaces et plus parfaits pour Linux.

Bien que ces alternatives cherchent à améliorer SysV et offrent probablement de nouvelles fonctionnalités, elles sont toujours compatibles avec les scripts d'initialisation SysV originaux.

2. SystèmeD

SystemD est un schéma d'initialisation relativement nouveau sur la plate-forme Linux. Introduit dans Fedora 15, il s'agit d'un assortiment d'outils facilitant la gestion du système. L'objectif principal est d'initialiser, de gérer et de suivre tous les processus système pendant le processus de démarrage et pendant le fonctionnement du système.

Systemd init se distingue complètement des autres systèmes d'initialisation Unix traditionnels, dans la manière dont il aborde de manière pratique la gestion des systèmes et des services. Il est également compatible avec les scripts d'initialisation SysV et LBS.

Il possède certaines des caractéristiques éminentes suivantes :

  • Conception épurée, simple et efficace
  • Traitement simultané et parallèle au démarrage
  • Meilleure APIv
  • Permet la suppression des processus facultatifs
  • Prend en charge la journalisation des événements à l'aide de journald
  • Prend en charge la planification des tâches à l'aide des minuteries de calendrier systemd
  • Stockage des journaux dans des fichiers binaires
  • Préservation de l'état systemd pour référence future
  • Meilleure intégration avec GNOME et bien d'autres

3. Parvenu

Upstart est un système d'initialisation basé sur des événements développé par les créateurs d'Ubuntu en remplacement du système d'initialisation SysV. Il démarre différentes tâches et processus système, les inspecte pendant que le système est en cours d'exécution et les arrête lors de l'arrêt du système.

Il s'agit d'un système d'initialisation hybride qui utilise à la fois des scripts de démarrage SysV et des scripts Systemd. Certaines des fonctionnalités notables du système d'initialisation Upstart incluent :

  • Développé à l'origine pour Ubuntu Linux mais peut fonctionner sur toutes les autres distributions
  • Démarrage et arrêt de tâches et de services basés sur des événements
  • Les événements sont générés lors du démarrage et de l'arrêt des tâches et des services
  • Les événements peuvent être envoyés par d'autres processus système
  • Communication avec le processus d'initialisation via D-Bus
  • Les utilisateurs peuvent démarrer et arrêter leurs processus
  • Réapparition de services qui disparaissent brusquement et bien d'autres

4. OpenRC

OpenRC est un schéma init basé sur les dépendances pour les systèmes d'exploitation de type Unix, il est compatible avec l'initialisation SysV. Même s'il apporte quelques améliorations à Sys V, vous devez garder à l'esprit qu'OpenRC n'est pas un remplacement absolu du fichier /sbin/init.

Il offre quelques fonctionnalités illustres, notamment :

  • Il peut fonctionner sur de nombreuses autres distributions Linux, notamment Gentoo et également sur BSD.
  • Prend en charge les scripts d'initialisation lancés par le matériel
  • Prend en charge un seul fichier de configuration
  • Aucune configuration par service prise en charge
  • Fonctionne comme un démon
  • Démarrage de services parallèles et bien d'autres

5. exécuter

runit est également un système d'initialisation multiplateforme qui peut fonctionner sur GNU/Linux, Solaris, *BSD et Mac OS X et constitue une alternative à SysV init, qui offre une supervision des services.

Il présente certains avantages et des composants remarquables que l'on ne trouve pas dans SysV init et éventuellement dans d'autres systèmes d'initialisation sous Linux, notamment :

  • Supervision des services, où chaque service est associé à un répertoire de services
  • Un état de processus propre garantit à chaque processus un état propre
  • Il dispose d'une installation de journalisation fiable
  • Démarrage et arrêt rapides du système
  • Il est également portable
  • Emballage respectueux
  • Petite taille de code et bien d'autres

6.s6

s6 propose un ensemble compact d'outils pour UNIX, adaptés à la supervision des processus, similaires à daemontools et runit. Il facilite les opérations sur les processus et les démons.

Conçu comme une boîte à outils d'administration de services de bas niveau, s6 fournit divers outils qui peuvent fonctionner indépendamment ou dans son cadre. Ces outils, lorsqu'ils sont combinés, offrent des fonctionnalités robustes avec un minimum de code.

Comme je l'avais mentionné précédemment, le système init démarre et gère tous les autres processus sur un système Linux. De plus, SysV est le schéma d'initialisation principal sur les systèmes d'exploitation Linux, mais en raison de certaines faiblesses de performances, les programmeurs système ont développé plusieurs systèmes de remplacement.

Ici, nous avons examiné quelques-uns de ces remplacements, mais il pourrait y avoir d'autres systèmes d'initialisation qui, selon vous, méritent d'être mentionnés dans cette liste. Vous pouvez nous en faire part via la section commentaires ci-dessous.