Der Systemmanager GNU Shepherd 1.0.0 wurde veröffentlicht.

Der systematische Manager GNU Shepherd 1.0.0 (ehemals dmd) wurde vorgestellt, der die Funktionalitäten eines Init-Systems und von Werkzeugen zur Verwaltung von Systemdiensten kombiniert. Es wird festgestellt, dass die Vergabe der Nummer 1.0 nach 21 Jahren Entwicklung die Anerkennung der Projektbereitschaft und die Erfüllung der Anforderungen an die Funktionalität moderner Init-Systeme und Service-Manager kennzeichnet.

Das Projekt wird von den Entwicklern der GNU Guix System-Distribution als Alternative zum Init-System SysV-init vorantreiben, das Abhängigkeiten unterstützt. Der verwaltende Daemon und die Utilities von Shepherd sind in der Sprache Guile geschrieben (ein Vertreter der Sprache Scheme), die ebenfalls zur Definition von Konfigurationen und Startparametern von Diensten verwendet wird. Shepherd wird bereits in der GNU Guix System-Distribution eingesetzt und wird auch für GNU/Hurd angestrebt, kann jedoch in jedem POSIX-kompatiblen Betriebssystem betrieben werden, für das die Sprache Guile verfügbar ist.

Shepherd verwaltet das Starten und Stoppen von Diensten, wobei die Abhängigkeiten zwischen den Diensten berücksichtigt werden. Es identifiziert und startet dynamisch die Dienste, von denen der gewählte Dienst abhängt. Shepherd unterstützt auch die Definition 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 in isolierter Form zur Steuerung von Hintergrundprozessen einzelner Benutzer (z.B. zum Starten von tor, privoxy, mcron usw.) mit den Rechten dieser Benutzer verwendet werden.

Die wichtigsten Neuerungen in GNU Shepherd 1.0.0:

  • Unterstützung für Dienste, die regelmäßig Befehle oder Code in der Sprache Scheme gemäß einem festgelegten Zeitplan ausführen, wurde hinzugefügt.
  • Der Befehl «herd status SERVICE» zeigt nun hochgradige Informationen über Dienste an, wie PID, Befehl und Adressen, an denen Netzwerkanfragen entgegengenommen werden, sowie eine Zusammenfassung der kürzlich im Protokoll ausgeloggten Nachrichten. Darüber hinaus zeigt der Befehl nun anwendbare benutzerdefinierte Aktionen für den Dienst und informiert über ein ersetzendes Dienst, das nach einem Neustart des aktuellen Dienstes übernommen wird.
  • Der Befehl «herd status root» ist nun kein Synonym für «herd status» mehr und zeigt Informationen über den Root-Prozess von Shepherd an.
  • Für die Linux-Plattform wurde die Möglichkeit zur Neuinitialisierung mit Hilfe des kexec-Mechanismus („reboot —kexec“) für einen Kernelwechsel ohne physikalischen Neustart bereitgestellt.
  • Ein Dienst zur Protokollrotation wurde hinzugefügt, der für die periodische Rotation von Protokollen und die Entfernung veralteter Protokolle verantwortlich ist.
  • Ein Dienst system-log wurde hinzugefügt, der als Ersatz für das traditionelle System syslogd verwendet werden kann.
  • Ein Timer-Dienst wurde hinzugefügt, um Befehle zur angegebenen Zeit auszuführen, ähnlich wie das Tool „at“. Beispielsweise «herd schedule timer at 07:00 — mpg123 alarm.mp3».
  • Ein transienter Dienst wurde hinzugefügt, um Befehle im Hintergrund auszuführen, ähnlich wie das Tool systemd-run. Beispielsweise «herd spawn transient -d $PWD — make -j4».

Quelle: opennet.ru

60GB SSD 8Gb DDR4