www.wikidata.de-de.nina.az
runit ist ein Init System fur POSIX Systeme das als Ersatz fur SysVinit konzipiert wurde Es ist das bzw ein Standard Init System von Void Linux Dragora Artix Linux 1 arch basiert sowie antiX ab Version 19 debian basiert Project Trident ab Version 20 02 Inhaltsverzeichnis 1 Zielsetzung und Besonderheiten 2 Funktionsweise 2 1 Stage 1 2 2 Stage 2 2 3 Stage 3 3 Einzelnachweise 4 WeblinksZielsetzung und Besonderheiten BearbeitenDas runit System ist auf Geschwindigkeit Codegrosse und Portierbarkeit ausgelegt Der Entwickler empfiehlt die Nutzung der diet libc als C Bibliothek 2 Ein wesentliches Ziel von runit ist die Einhaltung grundlegender Designeigenschaften von UNIX Dazu gehort dass man Funktionen auf moglichst kleine Programme aufteilt um die Komplexitat und damit die Fehleranfalligkeit zu verringern Eine weitere Eigenschaft ist die Portierbarkeit d h ein Programm das fur ein unixartiges Betriebssystem geschrieben worden ist soll auch auf moglichst vielen anderen unixartigen Betriebssystemen kompiliert werden konnen Hervorzuheben ist wie runit die Pramisse Everything is a file interpretiert Die Konfigurationen der einzelnen Services sind in Reintextdateien gespeichert die in Verzeichnisstrukturen gegliedert werden Welche Services aktiviert sind z B cupsd smbd usw ist hingegen nicht in einer Konfigurationsdatei festgehalten sondern wird anhand von symbolischen Links in einem definierten Verzeichnis vermerkt die auf den jeweiligen Service Verzeichnis verweisen runit braucht deshalb kein eigenes Programm zur Administration der zu aktivierenden Services sondern kommt mit dem unix typischen Befehl ln s zur Erstellung symbolischer Links aus Um den Druckerdamon cupsd dauerhaft zu aktiveren muss z B unter Artix runit folgendes gemacht werden Installation des cupsd Services pacman S cups runit Erstellung des Symlinks ln s etc runit sv cupsd run runit serviceDerselbe Vorgang wurde unter Void Linux folgendermassen aussehen Installation des cupsd Services xbps install cups Erstellung des Symlinks ln s etc sv cupsd var serviceDauerhaft deaktiviert wird das jeweilige Service durch die Entfernung des Symlinks Da Symlinks als Metadaten des Dateisystems gespeichert sind erspart sich runit beim Abruf der Serviceliste den Zugriff auf eine Konfigurationsdatei wodurch einige Arbeitsschritte wegfallen Da ein standiges Auslesen der Serviceliste dadurch sehr effizient ausgefuhrt werden kann konnten bei runit auch die bei anderen Init Systemen typischen Befehle zur Prozessaktivierung enable und Deaktivierung disable eingespart werden Fur andere Adminstrationsschritte wie etwa den manuellen Neustart von Services enthalt runit das Programm sv Seit 2020 gibt es ein in Rust implementiertes erweitertes Administrationswerkzeug namens rsv 3 das zusatzlich zu den Funktionen von sv eine tabellarische Ubersicht der Services ausgeben kann und einen enable disable Befehl enthalt der die entsprechenden Symlinks erstellt bzw loscht Funktionsweise Bearbeitenrunit arbeitet in drei Stufen Stage 1 Bootvorgang Stage 2 wahrend der Benutzung des Systems und Stage 3 Herunterfahren Neustart des Systems Stage 1 Bearbeiten In dieser Stufe startet runit etc runit 1 ublicherweise ein Shellskript In diesem werden die Initialisierungen des Systems durchgefuhrt Es besteht voller Zugriff auf dev console um im Notfall eine Rettungskonsole starten zu konnen Stage 2 Bearbeiten Das Skript etc runit 2 sollte vor dem Herunterfahren oder Neustart des Systems keinen Wert zuruckgeben Normalerweise werden hier die Systemdienste gestartet und gesteuert Dafur greift runit uber runsvdir 4 auf die einzelnen Dienste zu Stage 3 Bearbeiten Wenn runit angewiesen wird das System zu beenden oder das Skript der Stufe 2 ohne Fehler beendet wird wird etc runit 3 aufgerufen das alle noch laufenden Prozesse aus Stufe 2 beendet und das System herunterfahrt Einzelnachweise Bearbeiten Artix Linux Home Abgerufen am 17 Juli 2019 runit use dietlibc Abgerufen am 18 August 2014 https github com JojiiOfficial rsv runsvdir 8 manual page Abgerufen am 18 August 2014 Weblinks BearbeitenWebseite des Projekts abgerufen am 10 Juni 2017 Vergleich mehrerer init Systeme abgerufen am 10 Juni 2017 Abgerufen von https de wikipedia org w index php title Runit Init System amp oldid 233774895