Lancement du système d'initialisation GNU Shepherd 0.9

Après deux ans depuis la publication de la dernière version majeure, le gestionnaire de services GNU Shepherd 0.9 (anciennement dmd) a été publié et est développé par les créateurs de la distribution GNU Guix System comme alternative au système d'initialisation SysV-init, qui prend en charge les dépendances. Le démon gérant et les utilitaires de Shepherd sont écrits en Guile (une des implémentations du langage Scheme), qui est également utilisé pour définir les configurations et les paramètres de démarrage des services. Shepherd est déjà utilisé dans la distribution GuixSD GNU/Linux et vise également une utilisation dans GNU/Hurd, mais peut fonctionner sur tout système d'exploitation compatible POSIX pour lequel Guile est disponible.

Shepherd gère le lancement et l'arrêt des services, prenant en compte les relations entre les services, déterminant et lançant dynamiquement les services dont dépend le service choisi. Shepherd prend également en charge la définition des conflits entre les services et empêche leur exécution simultanée. Le projet peut être utilisé à la fois comme principal système d'initialisation (init avec PID 1) et de manière isolée pour gérer les processus d'arrière-plan de différents utilisateurs (par exemple, pour lancer tor, privoxy, mcron, etc.) avec des droits d'accès de ces utilisateurs.

Les principales nouveautés :

  • Un concept de services temporaires (transient) a été mis en œuvre, qui se désactivent automatiquement après leur achèvement en raison de l'arrêt du processus ou de l'appel de la méthode «stop», ce qui peut être nécessaire pour les services synthétisés qui ne peuvent pas être redémarrés après leur terminaison.
  • Une procédure «make-inetd-constructor» a été ajoutée pour créer des services similaires à inetd.
  • Une procédure «make-systemd-constructor» a été ajoutée pour créer des services activés par l'activité réseau (comme l'activation par socket de systemd).
  • Une procédure pour démarrer un service en arrière-plan — «start-in-the-background» — a été ajoutée.
  • Des paramètres «:supplementary-groups», «#:create-session» et «#:resource-limits» ont été ajoutés à la procédure «make-forkexec-constructor».
  • Le fonctionnement sans blocage lors de l'attente des fichiers PID a été assuré.
  • Pour les services sans le paramètre «#:log-file», la sortie dans syslog a été assurée, et pour les services avec le paramètre «#:log-file», l'enregistrement des logs a été réalisé dans un fichier séparé en indiquant l'heure des enregistrements. Les logs du processus non privilégié shepherd sont conservés dans le répertoire $XDG_DATA_DIR.
  • Le support de la compilation avec Guile 2.0 a été arrêté. Des problèmes rencontrés avec les versions Guile 3.0.5-3.0.7 ont été résolus.
  • La bibliothèque Fibers 1.1.0 ou une version ultérieure est désormais requise.

Source : opennet.ru

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster