Nach 21 Jahren Entwicklungszeit: GNU-Dienstmanager Shepherd erreicht Version 1.0

Version 1.0 des GNU-Servicemanagers fĂĽr GNU/Linux-Systeme bringt zeitgesteuerte Dienste, erweiterte Protokollierung und ĂĽberarbeitet die Dienststeuerung.

vorlesen Druckansicht 28 Kommentare lesen

(Bild: Laura Blu / Shutterstock.com)

Lesezeit: 3 Min.
Inhaltsverzeichnis
close notice

This article is also available in English. It was translated with technical assistance and editorially reviewed before publication.

Nach 21 Jahren Entwicklungszeit seit Veröffentlichung der ersten Alpha liegt Version 1.0 des Dienstmanagers GNU Shepherd vor. Mit der ersten Major Version hat das Entwicklerteam zahlreiche Optimierungen vorgenommen sowie neue Funktionsweisen eingeführt.

Der Befehl herd status SERVICE bietet mit Version 1.0 detailliertere Informationen ĂĽber Dienste, darunter die Haupt-PID (Process Identifier) und kĂĽrzlich protokollierte Nachrichten.

Neu ist auch die Unterstützung für zeitgesteuerte Dienste, ähnlich wie bei Cron, einem Dienst auf Unix-ähnlichen Systemen, der zeitgesteuerte Aufgaben automatisch ausführt. Darüber hinaus führt das Update einen Dienst zur Protokollrotation ein, der alte Protokolldateien verwaltet.

Videos by heise

Der neue system-log-Dienst ersetzt den traditionellen syslogd, indem er Nachrichten von Anwendungen auf dem /dev/log Socket empfängt und sie nach Administratorregeln an Protokolldateien weiterleitet. Außerdem ersetzt der timer-Dienst den at-Befehl zur verzögerten Ausführung von Befehlen. Der Dienst transient ermöglicht das Ausführen von Befehlen im Hintergrund, ähnlich wie systemd-run.

Auf GNU/Linux unterstützt GNU Shepherd ab sofort die Funktion kexec, um direkt in einen neuen Kernel zu starten. Offenbar wurde die Option --silent von shepherd bisher "stillschweigend" ignoriert. Mit dem Update ist dies gemäß Release Notes nicht mehr der Fall. Darüber hinaus dokumentiert das Tool nun auch Deprecation-Warnungen. Das Entwicklerteam hat zudem die veraltete GOOPS-Schnittstelle entfernt.

Das sogenannte Source Tarball shepherd-1.0.0.tar.gz ist gemäß der Release Notes zu Version 1.0 bit-für-bit reproduzierbar vom entsprechenden Git-Tag, was die Sicherheit des Dienstmanagers erhöhen soll. Darüber hinaus unterstützt GNU Shepherd 1.0 gzip und zstd in der Protokollrotation.

Für GNU Shepherd liegen mehrere Übersetzungen vor, darunter Deutsch, Rumänisch, Schwedisch und Ukrainisch. Weitere acht Sprachen werden teilweise unterstützt. Eine Übersicht dazu bietet translationproject.org.

GNU Shepherd ist in der Programmiersprache Guile geschrieben, der offiziellen Erweiterungssprache fĂĽr das Betriebssystem GNU, und ĂĽbernimmt die Verwaltung von Daemons (Hintergrundprogramme) auf einem System. Der Dienstmanager kann sowohl als Hauptprogramm (PID 1) beim Systemstart als auch von Nutzerinnen und Nutzern genutzt werden, um eigene Dienste zu kontrollieren.

Die Konfiguration erfolgt in Guile Scheme, einer Implementierung der Programmiersprache Scheme. Shepherd unterstützt verschiedene Methoden zum Starten von Diensten, wie zeitgesteuerte Aktionen und systemd-ähnliche Socket-Aktivierung. Version 1.0 setzt Versionen 3.x der Sprache Guile voraus – 2.2 wird nicht mehr unterstützt.

Nähere Informationen zu GNU Shepherd 1.0 finden sich in den Release Notes.

(mdo)