Veröffentlichung des GNU Shepherd 0.9.2 Init-Systems

Der Dienstmanager GNU Shepherd 0.9.2 (ehemals dmd) wurde veröffentlicht, der von den Entwicklern der GNU Guix System-Distribution als Alternative zum SysV-init-Initialisierungssystem entwickelt wird, das Abhängigkeiten unterstützt. 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 übernimmt die Aufgabe, Dienste zu starten und zu stoppen, 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. Das Projekt 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 verwendet werden dieser Benutzer.

Zu den Änderungen gehören:

  • In Shepherd verwendete Dateideskriptoren sind jetzt mit dem Flag O_CLOEXEC (close-on-exec) gekennzeichnet und werden nicht sofort geschlossen, wenn ein exec-Befehl ausgeführt wird. Dadurch können Handles an Dienste übergeben werden, die indirekt durch einen exec-Befehl gestartet werden.
  • Clientverbindungen werden jetzt nicht blockierend verarbeitet, wodurch verhindert wird, dass Shepherd beim Senden eines unvollständigen Befehls hängen bleibt.
  • Stellt sicher, dass ein Verzeichnis für Protokolldateien erstellt wird, die in der Einstellung „Protokolldatei“ definiert sind, falls dieses nicht vorhanden ist.

Source: opennet.ru

Kommentar hinzufügen