SysVinit

SysVinit ist das init-System des Unix-Betriebssystems System V. Ein Nachbau davon wird in einigen Linux-Distributionen als Standard-Init-System genutzt.

Bei SysVinit handelt es sich um den Prozess, der als erster vom Kernel gestartet wird und daher die Prozess-ID 1 bekommt. Dieser erste Prozess startet anhand der gewünschten Runlevels alle benötigten System-Dienste.

SysVinit startet die Prozesse immer in einer vorgegebenen Reihenfolge und startet einen Prozess meist erst dann, wenn der vorherige Prozess fertig initialisiert wurde. Dies macht es im Vergleich zu anderen („parallelen“) init-Systemen sehr langsam. Andererseits können Probleme dadurch gut diagnostiziert werden.

Alternativen

Als erstes Unix setzte Solaris ab Herbst 2004 auf ein Nachfolgesystem, Service Management Facility (SMF), das von init gestartet wird und danach Dienste anhand eines berechneten Abhängigkeitsgraphen parallel startet, überwacht und bei Bedarf neu startet. Das init-Programm startet und überwacht dabei nur noch den Prozess svc.startd.

Im Betriebssystem macOS wurde mit launchd im April 2005, mit Mac OS X Tiger (Version 10.4), eine Alternative zu SysVinit eingeführt.

Viele Linux-Distributionen verfügen inzwischen über Init-Systeme, die den parallelen Start von Diensten erlauben. Zum Teil erfolgt dies als Modifikation oder Erweiterung des „GNU System-V style init“, oder als vollständigen Ersatzes wie beispielsweise OpenRC und/oder runit (für BSD oder Linux, etwa Gentoo Linux). Auch Portierungen von SMF (entwickelt von Sun) und launchd (entwickelt von Apple) wurden überlegt, da Linux jedoch nicht über das für SMF notwendige „Contract File-System“ verfügt und auch launchd tief in das Betriebssystem macOS integriert ist, wären diese nur mit größerem Aufwand möglich gewesen. Allerdings standen diese beiden Systeme Pate[1] für die ähnlichen Init-Systeme Upstart (entwickelt von Canonical) bei Ubuntu ab 2006 als auch das jüngere systemd (entwickelt von Red Hat) ab 2010 bei Fedora. Andere Distributionen übernahmen diese, etwa Chromium OS Upstart und openSUSE systemd. Um 2014 setzte sich bei fast allen Linux-Distributionen systemd durch.[2] Damit sah sich auch Canonical gezwungen, in Ubuntu Upstart durch systemd zu ersetzen.[2] Die Weiterentwicklung von Upstart ist inzwischen eingestellt. Da einige Linux-Distributionen gar nicht mehr ohne systemd funktionieren,[3] kam es sogar zu Abspaltungen (englisch Forks), z. B. mit Devuan, einem Debian ohne systemd,[4][5] oder Artix Linux, einem auf Manjaro basierenden Arch Linux ohne systemd. Andere Linux-Distributionen, wie beispielsweise Gentoo Linux, bieten weiterhin eine Auswahl an mehreren kompatiblen Init-Systemen.

Einzelnachweise

  1. Tim Schürmann: Systemstart mit Systemd unter Linux. Turbobooster. In: IT-Administrator, Heft 10/2014. Heinemann Verlag, 6. Oktober 2014, abgerufen am 6. Januar 2020: „Systemd nutzt einige pfiffige Konzepte, um den Systemstart massiv zu beschleunigen. Pate standen dabei vor allem "launchd" aus Mac OS X und die von Sun Solaris verwendete Service Management Facility (SMF).“
  2. a b Thorsten Leemhuis: Upstart ade: Linux-Distribution Ubuntu wechselt auf Systemd. In: Heise online. 14. Februar 2014. Abgerufen am 25. April 2020.; Zitat: „Mit Debian und Ubuntu schwenken somit zwei der letzten großen Linux-Distributionen auf Systemd ein, denn Fedora, Arch Linux, OpenSuse oder Mageia setzen schon seit einer Weile auf Systemd; Red Hat Enterprise Linux (RHEL) und Suse Linux Enterprise (SLE) steigen mit den nächsten größeren Überarbeitungen um, die noch in diesem Jahr erscheinen dürften.“.
  3. Tim Schürmann: Systemd-Journald soll standardmäßig das Logging in Debian übernehmen. In: Heise online. 7. Februar 2020. Abgerufen am 25. April 2020.
  4. Oliver Diedrich: Unix-Veteranen sammeln für Debian ohne Systemd. In: Heise online. 28. November 2014. Abgerufen am 25. April 2020.
  5. Oliver Diedrich: Devuan: Jetzt solls los gehen. In: Heise online. 13. Januar 2015. Abgerufen am 25. April 2020.