Veröffentlichung des GNU Shepherd 0.6 Init-Systems

Eingereicht von Service Manager GNU Shepherd 0.6 (ehemaliger dmd), das von den Entwicklern der GuixSD GNU/Linux-Distribution als abhängigkeitsunterstützende Alternative zum SysV-init-Initialisierungssystem entwickelt wird. Der Shepherd-Steuerungsdämon und die Dienstprogramme sind in der Guile-Sprache (einer der Implementierungen der Scheme-Sprache) geschrieben, die auch zum Definieren von Einstellungen und Parametern zum Starten von Diensten verwendet wird. Shepherd wird bereits in der GuixSD-GNU/Linux-Distribution verwendet und ist auch auf den Einsatz in GNU/Hurd ausgerichtet, kann aber auf jedem POSIX-kompatiblen Betriebssystem ausgeführt werden, für das die Guile-Sprache verfügbar ist.

Shepherd kann sowohl als Hauptinitialisierungssystem (Init mit PID 1) als auch in separater Form zur Verwaltung von Hintergrundprozessen einzelner Benutzer (z. B. zum Ausführen von Tor, Privoxy, Mcron usw.) mit Ausführung mit den Rechten von verwendet werden diese Benutzer. Shepherd übernimmt die Arbeit des Startens und Stoppens von Diensten, indem es die Beziehungen zwischen Diensten berücksichtigt und die Dienste, von denen der ausgewählte Dienst abhängt, dynamisch identifiziert und startet. Shepherd unterstützt auch das Erkennen von Konflikten zwischen Diensten und das Verhindern der gleichzeitigen Ausführung dieser Dienste.

Wichtigste Neuerungen:

  • Servicemodus hinzugefügt One-Shot,
    in dem ein Dienst sofort nach einem erfolgreichen Start als gestoppt markiert wird, was erforderlich sein kann, um einmalige Arbeiten vor anderen Diensten zu starten, beispielsweise um eine Reinigung oder Initialisierung durchzuführen;

  • Löschung von Socket-Dateien nach dem Herunterfahren aktiviert
    Schäfer;

  • Der Befehl „herd stop“ zeigt keinen Fehler mehr an, wenn er auf einem bereits gestoppten Dienst ausgeführt wird;
  • Das Herd-Dienstprogramm gibt jetzt einen Rückkehrcode ungleich Null zurück, wenn der Task-Start fehlschlägt.
  • Bei der Ausführung in einem Container werden ladebezogene Fehler ignoriert.

Source: opennet.ru

Kommentar hinzufügen