Veröffentlichung des Service-Managers s6-rc 0.7

Die Version 0.7.0.0 des s6-rc Service-Managers wurde veröffentlicht. Dieser dient der Verwaltung des Starts von Initialisierungsskripten und Diensten. Es wird unterstützt, Abhängigkeitsbäume nachverfolgen und Dienste automatisch starten oder beenden, um den gewünschten Zustand zu erreichen. Das s6-rc Werkzeug kann sowohl in Initialisierungssystemen als auch zur Organisation des Starts beliebiger Dienste in Bezug auf Ereignisse verwendet werden, die den Zustand des Systems widerspiegeln. Das System unterstützt Initialisierungsskripte, die mit sysv-init kompatibel sind, und kann Abhängigkeitsinformationen aus sysv-rc oder OpenRC importieren. Der Code ist in C geschrieben und wird unter der ISC-Lizenz veröffentlicht.

Der s6-rc-Service-Manager beinhaltet eine Sammlung von Tools zum Starten und Stoppen von langlaufenden Prozessen (Dämonen) oder sofort beendbaren Initialisierungsskripten. Während der Ausführung wird sichergestellt, dass nicht überlappende Services parallel gestartet werden, und die Reihenfolge der Ausführung der Skripte bei verschiedenen Starts bleibt garantiert gleich. Alle Statusänderungen werden unter Berücksichtigung der Abhängigkeiten verarbeitet; so werden beispielsweise beim Start eines Dienstes automatisch die notwendigen Abhängigkeiten für dessen Betrieb aktiviert, und beim Stoppen werden auch die abhängigen Dienste gestoppt.

Im Gegensatz zu anderen Service-Managern unterstützt s6-rc die vorausschauende (im Offline-Modus) Erstellung eines Abhängigkeitsgraphs für einen vorhandenen Satz von Services, was es ermöglicht, ressourcenintensive Abhängigkeitsanalysen separat durchzuführen, anstatt während des Ladens oder bei Zustandsänderungen. Das System ist modular gestaltet und in eine Reihe von separaten, austauschbaren Modulen unterteilt, von denen jedes gemäß der Unix-Philosophie nur eine bestimmte Aufgabe löst. Das Projekt s6-rc folgt dem Minimalismus-Prinzip (es enthält nichts Überflüssiges) und verbraucht minimale Ressourcen.

Anstelle von Runlevels bietet s6-rc das Konzept von Bundles, das es ermöglicht, Services nach beliebigen Kriterien und Aufgaben zu gruppieren. Um die Effizienz zu steigern, wird eine kompilierte Abhängigkeitsdatenbank verwendet, die von dem Tool s6-rc-compile auf Basis des Inhalts von Verzeichnissen für das Starten/Stopp von Services erstellt wird. Für die Analyse und Manipulation der Datenbank stehen die Tools s6-rc-db und s6-rc-update zur Verfügung. Das s6-Toolkit wird in den Distributionen Obarun, Adelie und Artix eingesetzt und kann optional auch in Gentoo, Void und Alpine verwendet werden.

Das Projekt umfasst auch ergänzende Pakete, die s6-rc unterstützen:

  • s6 sind Tools zur Überwachung und Verwaltung von Prozessen (ähnlich wie daemontools und runit). Es werden Funktionen wie das Neustarten von Prozessen nach einem unerwarteten Abbruch, die Aktivierung eines Handlers (Dienstaktivierung) beim Zugriff auf einen Netzwerkport, Ereignisprotokollierung (Ersatz für syslogd) und kontrollierte Gewährung zusätzlicher Berechtigungen (ähnlich wie sudo) unterstützt.
  • s6-linux-init — die Implementierung des Init-Prozesses für Betriebssysteme auf Basis des Linux-Kernels, der zur Erstellung von Initialisierungssystemen verwendet wird, in denen Pakete wie s6 und s6-rc zur Verwaltung von Diensten und Skripten eingesetzt werden.
  • s6-networking — eine Sammlung von Tools zur Erstellung von Netzwerkdiensten, ähnlich wie ucspi.
  • s6-frontend — ein Wrapper zur Wiederherstellung der Funktionalität von daemontools und runit über s6.
  • s6-portable-utils — eine Sammlung von typischen Unix-Tools wie cut, chmod, ls, sort und grep, optimiert für minimalen Ressourcenverbrauch und unter der ISC-Lizenz bereitgestellt.
  • s6-linux-utils — eine Sammlung von Linux-spezifischen Tools wie chroot, freeramdisk, logwatch, mount und swapon.
  • mdevd — ein Ereignismanager (analog zu udevd), der für die Verarbeitung des Hot-Plugging von Geräten vorgesehen ist. mdevd ist konfigurationskompatibel mit mdev aus der Busybox.
  • bcnm — ein Netzwerk-Konfigurator mit Funktionen zur Konfiguration von Wi-Fi auf der Client-Seite.
  • execline — eine Skriptsprache.
  • skalibs — eine Bibliothek zur Erstellung sicherer Systemanwendungen in der Programmiersprache C.
  • s6-dns — ein Satz von Client-Bibliotheken und -Tools, die die typischen DNS-Tools von BIND und djbdns ersetzen.
  • dnsfunnel — leitet lokale DNS-Anfragen an externe weiter. der Server (DNS-Weiterleiter).
  • shibari — ein einfacher DNS-Server.
  • tipidee — ein HTTP-Server mit Unterstützung für HTTP/1.1.

In der neuen Version von s6-rc und den damit verbundenen Utilities:

  • Der Befehl «s6-rc reload» wurde implementiert, um dauerhaft laufende Dienste neu zu starten.
  • Eine Steuerdatei reload-signal wurde hinzugefügt, die das Signal definiert, das an den Prozess zum Neustart gesendet wird (standardmäßig SIGHUP).
  • Das Dienstprogramm s6-rc-bundle wurde entfernt — Änderungen an Bundle-Sets werden ohne erneute Kompilierung nicht mehr unterstützt.
  • Ein neues Format der internen Datenbank wurde vorgeschlagen (ein Update erfordert eine Neukompilierung und den Start des Utilities s6-rc-format-upgrade).
  • Die korrekte Handhabung der Situation bei mehrfacher Ausführung des s6-rc-init-Tools zur Initialisierung von Diensten wurde sichergestellt, und die Verarbeitung von Systemausfällen wurde verbessert.
  • Im Tool s6-rc-set-change wurden die Optionen -I/-i hinzugefügt, um eine Warnung auszugeben oder mit einem Fehler zu beenden, wenn eine konfliktierende Abhängigkeit festgestellt wird; -P/-p zum Deaktivieren/Aktivieren der automatischen Konfliktlösung bei Änderungen des Dienststatus.
  • Die veraltete Option «-f» wurde entfernt.
  • Zum Tool s6 wurde der Befehl s6-svscanboot hinzugefügt, um die Protokolle des Supervisors s6-svscan in s6-log umzuleiten, wenn es nicht unter PID 1 ausgeführt wird.
  • Die Option «s6-svc -l» wurde hinzugefügt, um ein Signal zum Neustart zu senden.
  • Der Benutzerinterface von s6-frontend unterstützt jetzt Optionen und Befehle: «s6 —user» (für die Arbeit mit Benutzerdiensten), «s6 live reset», «s6 apply», «s6 enable|disable|start|stop|kill|apply», «s6 live stop —clean».
  • Im HTTP-Server tipidee wurde die Unterstützung für FastCGI implementiert und die Option cgi_pass_authorization hinzugefügt.

    Quelle: opennet.ru
Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Servern 🔥 Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Servern | ProHoster