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
Erwerben 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