Veröffentlichung des GNU Shepherd Initialisierungssystems 0.9

Nach zwei Jahren seit der letzten bedeutenden Veröffentlichung wurde der Dienstmanager GNU Shepherd 0.9 (ehemals dmd) veröffentlicht, der von den Entwicklern des GNU Guix System als Alternative zum Init-System SysV-init, das Abhängigkeiten unterstützt, weiterentwickelt wird. Der verwaltende Daemon und die Tools von Shepherd sind in Guile geschrieben (eine der Implementierungen der Sprache Scheme), die auch zur Definition von Einstellungen und Startparametern der Dienste verwendet wird. Shepherd wird bereits im GNU/Linux-Distributionspaket GuixSD eingesetzt und ist auch für die Verwendung in GNU/Hurd vorgesehen, kann jedoch auf jedem POSIX-kompatiblen Betriebssystem betrieben werden, für das Guile verfügbar ist.

Shepherd übernimmt das Starten und Stoppen von Diensten, wobei die Abhängigkeiten zwischen den Diensten berücksichtigt werden. Er ermittelt dynamisch die Dienste, von denen der gewählte Dienst abhängt, und startet sie. Außerdem unterstützt Shepherd die Identifizierung von Konflikten zwischen Diensten und verhindert deren gleichzeitige Ausführung. Das Projekt kann sowohl als primäres Init-System (init mit PID 1) als auch isoliert verwendet werden, um Hintergrundprozesse für einzelne Benutzer zu verwalten (z. B. für das Starten von tor, privoxy, mcron usw.) mit den Rechten der jeweiligen Benutzer.

Hauptneuheiten:

  • Das Konzept der transienten Dienste (transient), die nach Abschluss automatisch deaktiviert werden, wurde implementiert. Dies geschieht entweder durch das Beenden des Prozesses oder durch den Aufruf der Methode „stop“, was für synthetisierte Dienste erforderlich sein kann, die nach ihrem Abschluss nicht neu gestartet werden können.
  • Eine Prozedur „make-inetd-constructor“ wurde hinzugefügt, um inetd-ähnliche Dienste zu erstellen.
  • Eine Prozedur „make-systemd-constructor“ wurde hinzugefügt, um Dienste zu erstellen, die bei Netzwerkaktivität aktiviert werden (in Anlehnung an die Socket-Aktivierung von systemd).
  • Eine Procedure zum Starten des Dienstes im Hintergrund wurde hinzugefügt – „start-in-the-background“.
  • In die Procedure „make-forkexec-constructor“ wurden die Parameter „:supplementary-groups“, „#:create-session“ und „#:resource-limits“ hinzugefügt.
  • Es wurde sichergestellt, dass die Ausführung ohne Blockierung während des Wartens auf PID-Dateien erfolgt.
  • Für Dienste ohne Parameter „#:log-file“ wird eine Ausgabe in syslog bereitgestellt, während für Dienste mit dem Parameter „#:log-file“ die Protokollierung in eine separate Datei mit Zeitstempel erfolgt. Die Protokolle von nicht privilegierten Prozessen des Shepherd werden im Verzeichnis $XDG_DATA_DIR gespeichert.
  • Die Unterstützung für die Erstellung mit Guile 2.0 wurde eingestellt. Probleme mit den Versionen Guile 3.0.5-3.0.7 wurden behoben.
  • Jetzt wird die Bibliothek Fibers 1.1.0 oder eine neuere Version benötigt.

Quelle: opennet.ru

Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server 🔥 Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server | ProHoster