Die Wichtigkeit von systemd
Durch das Beispiel erkennen wir schon den Sinn, Nutzen und die Wichtigkeit von systemd.
Systemd ist nicht nur eine Zusammenstellung wichtiger Werkzeuge oder nur eine neue Möglichkeit
Programme wie apache/nginx und Co aufzurufen, nein Systemd ist ein init-System und Systemmanagement-Dienst für Linux-Betriebssysteme.
Seine Einführung markiert eine signifikante Veränderung in der Art und Weise, wie Linux-Systeme gestartet und verwaltet werden. Im Vergleich zu älteren Init-Systemen bietet systemd verbesserte Leistung, schnellere Systemstarts und eine zentralisierte Kontrolle über verschiedene Systemressourcen.
So zumindest die Angaben der Entwickler.
Vermutlich werden die wenigsten Endnutzer die schnelleren Systemstarts bemerken oder würdigen.
Welche Linux System- und Sitzungs-Manager (Init-System) gibt es noch?
Es gibt mehrere Linux-Systemmanagementsysteme, die für das Initialisieren und Verwalten von Prozessen auf einem Linux-System verantwortlich sind. Hier sind einige der wichtigsten:
SysVinit:
SysVinit ist eines der ältesten Init-Systeme für Linux. Es verwendet einfache Skripte im Init-Verzeichnis, um den Systemstart und -stopp zu steuern.
systemd:
systemd hat sich zu einem der am weitesten verbreiteten Init-Systeme entwickelt. Es bietet fortschrittliche Funktionen wie parallele Initialisierung, Service-Management, Ressourcenkontrolle und zentralisiertes Logging.
Upstart:
Upstart wurde von Canonical entwickelt und in Ubuntu bis zur Version 14.04 LTS verwendet. Es zeichnete sich durch die Fähigkeit aus, Dienste parallel zu starten und als Reaktion auf Ereignisse zu handeln.Ähnlich wie auch systemd.
OpenRC:
OpenRC ist ein Init-System, das in Gentoo Linux und anderen Distributionen wie Artix Linux verwendet wird. Es ist auf Benutzerfreundlichkeit und einfache Konfiguration ausgerichtet.
runit:
runit ist ein leichtgewichtiges Init-System, das einfach zu konfigurieren ist. Es wird in einigen Distributionen wie Void Linux und Artix Linux eingesetzt.
s6:
s6 ist ein weiteres alternatives Init-System, das auf Einfachheit und Effizienz abzielt. Es wird oft in Kombination mit anderen Tools wie s6-rc verwendet.
OpenBSD init:
OpenBSD verwendet ein einfaches BSD-Init-System. Es ist minimalistisch und auf Sicherheit ausgerichtet.
Unterschiede zu älteren Init-Systemen:
Im Gegensatz zu den herkömmlichen Init-Systemen, wie SysVinit oder Upstart, setzt systemd auf parallele Prozessinitialisierung und bietet eine Vielzahl von Funktionen, die weit über das einfache Starten von Diensten hinausgehen. Es übernimmt das Systemmanagement umfassender und integriert viele der zuvor isolierten Systemkomponenten.
Merkmal | Systemd | runit | s6 | OpenBSD init | Upstart | SysVinit |
---|---|---|---|---|---|---|
Init-System Typ | Modern, Komplex | Leichtgewichtig | Leichtgewichtig, modular | Einfach, Sicherheit betont | Modern, Event-basiert | Traditionell, Skript-basiert |
Startzeit | Mittel bis schnell | Schnell | Sehr schnell | Schnell | Mittel bis schnell | Langsam bis mittel |
Ressourcenkontrolle | Umfassend, integriert cgroups | Basis-Kontrolle | Ja, aber einfach | Begrenzt | Begrenzt | Begrenzt |
Zentralisiertes Logging | Ja, mit systemd Journal | Nein | Nein | Nein | Ja, mit Upstart Events | Nein |
Abhängigkeitsmanagement | Ja, sehr granular | Ja | Ja, aber einfach | Ja | Ja, mittels Events | Ja |
Portabilität | Einige Distributionen bevorzugen systemd | Weniger verbreitet, aber in einigen Distris | Weniger verbreitet | Nur auf OpenBSD | Verwendet in einigen Distributionen | Standard in vielen Distributionen |
Einfachheit | Komplex, Lernkurve für Anfänger | Einfach, benutzerfreundlich | Einfach, modulare Struktur | Einfach, weniger Funktionen | Einfach, aber Event-System kann komplex sein | Einfach, traditionell |
Sicherheit | Umstritten, einige Kritikpunkte | Weniger Angriffspunkte als systemd | Betont Sicherheit | Betont Sicherheit | Sicherheitsaspekte wurden berücksichtigt | Abhängig von Konfiguration |
Welche Linux Distributionen nutzen systemd und welche nicht?
Mit welchem System- und Sitzungs-Manager (Init-System)/Systemmanagement Du anfänglich arbeiten wirst, ist vermutlich abhängig von der Wahl Deines
Betriebssystems. Allerdings kannst Du diesen jederzeit ändern ( Weiteres dazu später).
Viele wichtige Linux Distributionen nutzen bereits systemd, allerdings muss man solche Bewertungen nüchtern sehen. Wenn sich Debian für Systemd entscheidet, so sind abhängige Distributionen wie Ubuntu, Mint etc im Zugzwang. Dasselbe sehen wir auch bei der Red Hat Familie: Centos/Fedora, RHEL …
Linux-Distributionen, die zeitnah auf systemd umgestiegen sind:
Linux-Distribution | Früheres Systemmanagement | Aktuelles Systemmanagement |
---|---|---|
Ubuntu | SysVinit | systemd |
Debian | SysVinit | systemd |
Fedora | SysVinit | systemd |
CentOS | SysVinit | systemd |
Arch Linux | SysVinit | systemd |
openSUSE | SysVinit | systemd |
RHEL (Red Hat) | SysVinit | systemd |
SUSE Linux Enterprise | SysVinit | systemd |
Manjaro | SysVinit | systemd |
Mageia | SysVinit | systemd |
Welche Linux Betriebssysteme bauen nicht auf systemd in der aktuellen Fassung
Devuan Linux:
Devuan wurde speziell als systemd-freie Alternative zu Debian entwickelt. Es verwendet SysVinit als Standard-Init-System.
Gentoo Linux:
Gentoo ist eine Distribution, die sich durch ihre Flexibilität und Anpassbarkeit auszeichnet. Benutzer können verschiedene Init-Systeme wählen, einschließlich OpenRC, runit und sogar SysVinit.
Void Linux:
Void Linux verwendet runit als Init-System. Runit ist bekannt für seine Einfachheit und Effizienz.
Slackware:
Slackware, eine der ältesten Linux-Distributionen, verwendet ebenfalls kein systemd. Stattdessen setzt es auf das traditionelle BSD-Init-System.
Artix Linux:
Artix ist eine Arch-Linux-Abspaltung, die sich bewusst gegen systemd entschieden hat. Es bietet OpenRC, runit und s6 als Init-Optionen.
Warum entscheiden sich diese Linuxdistributionen gegen Systemd ?
Wie so oft sind es zahlreiche Faktoren, die oft nicht über Statistiken erfasst werden können.
Bei all diesen Möglichkeiten gibt es auch kein entscheidendes BESSER oder SCHLECHTER Argument, wenn man die Gesamtnote betrachtet.
Wie oben schon erwähnt, ist es immer ausschlaggebend, welche Distribution von welcher abhängig ist.
Die Entscheidung einer Linux-Distribution, sich gegen systemd zu entscheiden, kann auf verschiedenen Faktoren basieren, darunter Philosophie, Designpräferenzen, Kontroversen innerhalb der Community und technische Überlegungen. Ich habe einige Community-Seiten besucht um zu schauen warum Distributionen wie Artix oder Slackware sich gegen systemd entschieden haben:
Eventuelle Entscheidungen basieren „vielleicht“ auf:
Philosophische Gründe:
Einige Distributionen bevorzugen die UNIX-Philosophie, die auf einfache Werkzeuge setzt, die gut zusammenarbeiten. Init-Systeme wie systemd, die mehr Funktionalität integrieren, könnten als zu umfangreich betrachtet werden.
Einfachheit und Minimalismus:
Distributionen wie Slackware haben oft eine Philosophie des Minimalismus. Init-Systeme wie systemd werden manchmal als zu komplex empfunden, und Entwickler bevorzugen einfachere Init-Systeme wie das traditionelle SysVinit oder alternative wie OpenRC, runit oder s6.
Entscheidungen in der Community:
Manchmal basiert die Entscheidung, systemd nicht zu verwenden, auf Abstimmungen in der Community oder den Präferenzen der Hauptentwickler. Wenn eine Gemeinschaft eine klare Präferenz für ein bestimmtes Init-System hat, kann die Distribution diese Präferenz übernehmen.
Rebellion und Widerstand gegen zentrale Kontrolle:
Linux-Nutzer sind eben besondere Nutzer, nicht jeder Hype ist das Ziel:
Systemd wird manchmal für seine Integration von verschiedenen Diensten und Funktionen kritisiert, die zu einer zentralisierten Kontrolle des Systems führen können. Einige Distributionen bevorzugen dezentrale Ansätze, bei denen einzelne Werkzeuge spezifische Aufgaben erfüllen.
Unabhängigkeit und Auswahlmöglichkeiten:
Freiheit bedeutet freie Wahl:
Warum lieben wir Linux? Weil es uns frei erscheinen lässt.
Distributionen wie Artix Linux betonen die Freiheit der Benutzer, ihre Systeme nach ihren eigenen Vorlieben zu gestalten. Die Möglichkeit, zwischen verschiedenen Init-Systemen zu wählen (wie OpenRC, runit, oder s6), spiegelt diese Philosophie wider.
Stabilität und Bewährtheit:
Distributionen, die auf Stabilität und Bewährtheit setzen, könnten zurückhaltend sein, zu einem neuen Init-System zu wechseln. SysVinit oder andere traditionelle Systeme haben oft eine längere Geschichte und werden als stabil und gut getestet angesehen.
Auf der Folgeseite gehen wir auf die grundlegenden Befehle von systemd ein und ob wie man unter Debian/Ubuntu bzw. Fedora/RHEL Änderungen vornehmen kann.