Die Version des Service-Managers s6-rc 0.5.6.0 wurde vorgestellt, der fĂŒr die Verwaltung des Starts von Initialisierungsskripten und Diensten gedacht ist. Es wird die Verfolgung von AbhĂ€ngigkeitsbĂ€umen unterstĂŒtzt und die automatische Start- oder Beendigung von Diensten, um einen angegebenen Zustand zu erreichen. Das s6-rc-Tool kann sowohl in Initialisierungssystemen als auch zur Organisation des Starts beliebiger Dienste in Zusammenhang mit Ereignissen verwendet werden, die eine ZustandsĂ€nderung im System 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 unter der ISC-Lizenz erhĂ€ltlich.
Der Service-Manager s6-rc umfasst eine Sammlung von Utilities zum Starten und Stoppen von langlaufenden Prozessen (DĂ€monen) oder sofort beendbaren Initialisierungsskripten. WĂ€hrend des Betriebs wird der parallele Start von nicht sich ĂŒberschneidenden Diensten sichergestellt, und es wird garantiert, dass die AusfĂŒhrungsreihenfolge der Skripten bei verschiedenen Starts wiederholt wird. Alle ZustandsĂ€nderungen werden unter BerĂŒcksichtigung der AbhĂ€ngigkeiten verarbeitet, zum Beispiel werden beim Start eines Dienstes automatisch die notwendigen AbhĂ€ngigkeiten gestartet, und beim Stoppen werden die abhĂ€ngigen Dienste angehalten.
Im Gegensatz zu anderen Service-Managern unterstĂŒtzt s6-rc eine proaktive (offline) Erstellung des AbhĂ€ngigkeitsgraphen fĂŒr die vorhandene Menge an Diensten, was es ermöglicht, eine ressourcenintensive Analyse der AbhĂ€ngigkeiten separat durchzufĂŒhren und nicht wĂ€hrend des Bootens oder beim Ăndern des Zustands. Dabei ist das System nicht monolithisch und ist in eine Reihe separater und austauschbarer Module unterteilt, von denen jedes gemÀà der Unix-Philosophie nur eine bestimmte Aufgabe löst. Das Projekt s6-rc verfolgt die Philosophie des Minimalismus (enthĂ€lt nichts ĂberflĂŒssiges) und verbraucht minimalste Ressourcen.
Anstelle von Runlevels (runlevel) bietet s6-rc das Konzept der Bundles an, das die Gruppierung von Diensten nach beliebigen Kriterien und zu lösenden Aufgaben ermöglicht. Zur Steigerung der Effizienz wird eine kompilierte AbhĂ€ngigkeitsdatenbank verwendet, die von dem Dienstprogramm s6-rc-compile auf Basis des Inhalts der Verzeichnisse mit Start-/Stoppdateien fĂŒr Dienste erstellt wird. FĂŒr die Analyse und Manipulation der Datenbank stehen die Dienstprogramme s6-rc-db und s6-rc-update zur VerfĂŒgung.
Gleichzeitig wurden neue Versionen von Begleitpaketen erstellt, die s6-rc ergÀnzen:
- s6 2.13.2.0 â Utilities zur Ăberwachung von Prozessen und zur Prozesssteuerung (Ă€hnlich wie daemontools und runit). Funktionen wie das Neustarten von Prozessen nach einem Fehler, das Starten eines Handlers (Aktivierung des Dienstes) bei Zugriff auf einen Netzwerkport, die Protokollierung von Ereignissen (Ersatz fĂŒr syslogd) und die kontrollierte GewĂ€hrung zusĂ€tzlicher Berechtigungen (Ă€hnlich wie sudo) werden unterstĂŒtzt.
- s6-linux-init 1.1.3.0 â Implementierung des Init-Prozesses fĂŒr Betriebssysteme auf Basis des Linux-Kernels, der zur Erstellung von Initialisierungssystemen verwendet wird, in denen Dienstleistungen und Skripte durch s6- und s6-rc-Pakete gesteuert werden.
- s6-networking 2.7.1.0 â Eine Sammlung von Utilities zur Erstellung von Netzwerkdiensten, Ă€hnlich wie ucspi.
- s6-frontend â eine Schicht zur Wiederherstellung der FunktionalitĂ€t von daemontools und runit auf Basis von s6.
- s6-portable-utils 2.3.1.0 â Eine Sammlung grundlegender Unix-Utilities, wie cut, chmod, ls, sort und grep, die optimiert sind, um minimale Ressourcen zu verbrauchen und unter der ISC-Lizenz bereitgestellt werden.
- s6-linux-utils 2.6.3.0 â Eine Sammlung von Utilities, die mit Linux verbunden sind, wie chroot, freeramdisk, logwatch, mount und swapon.
- mdevd 0.1.7.0 â Ereignismanager (Ă€hnlich wie udevd), der zur Verarbeitung des heiĂen Anschlusses von GerĂ€ten gedacht ist. Mdevd ist konfigurationskompatibel mit mdev aus der Busybox.
- bcnm 0.0.2.0 â Ein Netzwerk-Konfigurator mit Funktionen zur Einrichtung von Wi-Fi auf der Client-Seite.
- execline 2.9.7.0 â Eine Sprache zur Erstellung von Skripten.
- skalibs 2.14.4.0 â Eine Bibliothek zur Erstellung sicherer Systemanwendungen in C.
- s6-dns 2.4.1.0 â Eine Sammlung von Clientbibliotheken und -utilities, die die Standard-DNS-Utilities von BIND und djbdns ersetzen.
- dnsfunnel 0.0.3.0 â leitet lokale DNS-Anfragen an externe weiter Server (DNS-Weiterleitung).
- shibari 0.0.2.0 â einfacher DNS-Server.
- tipidee 0.0.6.0 â HTTP-Server mit UnterstĂŒtzung fĂŒr HTTP/1.1.
In den neuen Versionen wird UnterstĂŒtzung fĂŒr pkg-config in alle Pakete integriert. In der Bibliothek skalibs wurden Varianten von Eingabe-/Ausgabefunktionen implementiert, deren AusfĂŒhrungszeit durch einen Timeout begrenzt werden kann. In mdevd wurde die Option â-Iâ hinzugefĂŒgt, um den Namen der netlink-Gruppe fĂŒr den Empfang von Anfragen festzulegen, die StandardpufferspeichergröĂe wurde auf 1 MB erhöht. In tipideed wurde die Möglichkeit der Streaming-Ausgabe von CGI-Skripten sichergestellt, UnterstĂŒtzung fĂŒr die Methoden PUT, DELETE und PATCH hinzugefĂŒgt und die Direktive autochunk fĂŒr die chunked-Codierung ĂŒbertragener Daten realisiert.
Quelle: opennet.ru
