Sortie du gestionnaire de services s6-rc 0.5.3.0 et du système d'initialisation s6-linux-init 1.0.7

Une version importante du gestionnaire de services s6-rc 0.5.3.0 a été préparée, conçue pour gérer le lancement des scripts et des services d'initialisation, en tenant compte des dépendances. La boîte à outils s6-rc peut être utilisée à la fois dans les systèmes d'initialisation et pour organiser le lancement de services arbitraires en relation avec des événements reflétant des changements dans l'état du système. Fournit un suivi complet de l’arborescence des dépendances et un démarrage ou un arrêt automatique des services pour atteindre un état spécifié. Le code est écrit en C et est distribué sous licence ISC.

Le gestionnaire de services s6-rc, qui peut être considéré comme un analogue de sysv-rc ou OpenRC, comprend un ensemble d'utilitaires permettant de démarrer et d'arrêter des processus de longue durée (démons) ou des scripts d'initialisation immédiatement terminés. Au cours du travail, les dépendances entre les composants sont prises en compte, le lancement parallèle de scripts et de services qui ne se croisent pas est assuré et la séquence d'exécution du script est garantie d'être répétée lors des différents lancements. Tous les changements d'état sont traités en tenant compte des dépendances, en veillant à ce que les dépendances ne soient pas violées (par exemple, lorsqu'un service est démarré, les dépendances nécessaires à son fonctionnement seront automatiquement lancées, et à l'arrêt, les services dépendants seront également arrêtés).

Au lieu de niveaux d'exécution, s6-rc propose un concept de bundles plus universel, qui vous permet de regrouper les services en fonction de caractéristiques arbitraires et de tâches à résoudre. Pour améliorer l'efficacité du travail, une base de dépendances compilée est utilisée, créée par l'utilitaire s6-rc-compile sur la base du contenu des répertoires contenant des fichiers pour démarrer/arrêter les services. Les utilitaires s6-rc-db et s6-rc-update sont proposés pour analyser et manipuler la base de données. Le système prend en charge les scripts d'initialisation compatibles sysv-init et peut importer des informations de dépendance depuis sysv-rc ou OpenRC.

Parmi les avantages de s6-rc figure une implémentation compacte qui ne contient rien de superflu à l'exception des composants permettant de résoudre des problèmes directs et consomme un minimum de ressources. Contrairement à d'autres gestionnaires de services, s6-rc prend en charge la construction proactive (hors ligne) d'un graphique de dépendances pour un ensemble de services existant, ce qui vous permet d'effectuer une analyse de dépendances gourmande en ressources séparément, et non pendant le chargement ou les changements d'état. Dans le même temps, le système n'est pas monolithique et est divisé en une série de modules séparés et remplaçables, dont chacun, conformément à la philosophie Unix, ne résout qu'une tâche spécifique.

En combinaison avec les utilitaires S6 qui surveillent le fonctionnement des processus (analogues à Daemontools et Runit), la boîte à outils vous permet de surveiller simultanément le fonctionnement des services de longue durée, par exemple en les redémarrant en cas d'arrêts anormaux, et de garantir qu'une séquence des commandes est lancée sous une forme reproductible, répétée dans différentes startups. Les fonctionnalités prises en charge incluent l'activation d'un service lors de l'accès à un socket (lancement d'un gestionnaire lors de l'accès à un port réseau), la journalisation des événements de processus (en remplacement de syslogd) et l'octroi contrôlé de privilèges supplémentaires (analogue à sudo).

Dans le même temps, la version du package s6-linux-init 1.0.7.0 est disponible, offrant une implémentation du processus d'initialisation pour créer des systèmes d'initialisation prêts à l'emploi pour les systèmes d'exploitation basés sur le noyau Linux, dans lequel les systèmes s6 et s6 Les utilitaires -rc sont utilisés pour gérer les services et les scripts d'initialisation. Dans le même temps, s6 et s6-rc ne sont pas liés à s6-linux-init et, si vous le souhaitez, peuvent être utilisés avec n'importe quel système d'initialisation.

De plus, le projet prévoit :

  • s6-networking est un ensemble d'utilitaires permettant de créer des services réseau, similaires à ucspi.
  • s6-frontend - un framework pour recréer les fonctionnalités de daemontools et runit au-dessus de s6.
  • s6-portable-utils est un ensemble d'utilitaires Unix standard tels que cut, chmod, ls, sort et grep, optimisés pour une consommation minimale de ressources et fournis sous la licence ISC.
  • s6-linux-utils - Un ensemble d'utilitaires spécifiques à Linux tels que chroot, freeramdisk, logwatch, mount et swapon.
  • s6-dns est un ensemble de bibliothèques et d'utilitaires client qui remplacent les utilitaires DNS standard de BIND et djbdns.

Dans la nouvelle version de s6-rc, l'utilitaire s6-rc-compile implémente la lecture des données sur les dépendances et les ensembles de services à partir de répertoires, plutôt que de fichiers. L'utilisation de répertoires simplifie l'ajout de services à la base de données avec des informations sur les dépendances lors de l'installation de programmes via un gestionnaire de packages, car cela vous permet de vous passer de modifications dans les fichiers. La prise en charge de l'ancien format basé sur fichier a été conservée pour garantir la compatibilité. Dans la nouvelle version de s6-linux-init, l'option « -S » a été ajoutée à l'utilitaire s6-linux-init-maker pour synchroniser les données dans les conteneurs.

Source: opennet.ru

Ajouter un commentaire