In diesem Artikel werden die Grundlagen von “Systemd“ beschrieben…
Systemd und Abhängigkeiten:
Während System-V-Init und Upstart explizite Abhängigkeiten von Diensten untereinander ausnutzen – Dienste zum Beispiel, die den Systemprotokolldienst benutzen, können erst gestartet werden, wenn der Systemprotokolldienst läuft –, dreht systemd die Abhängigkeiten um: Ein Dienst, der den Systemprotokolldienst voraussetzt, tut das ja nicht, weil der Protokolldienst laufen muss, sondern weil er selbst Protokollnachrichten loswerden möchte. Dazu muss er auf den Kommunikationskanal zugreifen, über den der Systemprotokolldienst erreicht werden kann. Es reicht also völlig aus, wenn systemd selbst diesen Kommunikationskanal anlegt und ihn an den Systemprotokolldienst weiterreicht, sobald dieser tatsächlich zur Verfügung steht. Der Dienst, der protokollieren möchte, wartet, bis seine Nachrichten tatsächlich angenommen werden können. Systemd kann also im Wesentlichen erst alle Kommunikationskanäle erzeugen und dann alle Dienste ohne Rücksicht auf Abhängigkeiten gleichzeitig starten. Die Abhängigkeiten regeln sich – ganz ohne explizite Regeln in der Konfiguration – von selbst.
Units und Ziele:
Systemd verwendet “Units“ als Abstraktion für zu verwaltende Systemaspekte wie Dienste, Kommunikationskanäle oder Geräte. Sogenannte Ziele (targets) treten an die Stelle der Runlevel von SysV-Init und dienen zur Zusammenfassung verschiedener Units. Ziele (targets) sind für systemd im Großen und Ganzen das, was für System-V-Init die Runlevels sind: Die Möglichkeit, eine Menge von Diensten bequem zu beschreiben. Während System-V-Init nur eine relativ kleine Anzahl von Runlevels erlaubt und ihre Konfiguration ziemlich kompliziert ist, ermöglicht systemd die problemlose Definition diverser Ziele.
Unit-Dateien:
Einer der gravierenden Vorteile von systemd ist, dass er ein einheitliches Dateiformat für alle Konfigurationsdateien verwendet – egal, ob es um zu startende Dienste, Geräte, Kommunikationskanäle, Dateisysteme oder andere von systemd verwaltete Artefakte geht.
Praxisbeispiele fürs Terminal – Teil 1:
- systemctl
- systemctl list-unit-files
Zugegeben so wirklich praxisnah sind diese Beispiele auch noch nicht. Der Init-Prozess macht spannende Experimente deshalb so schwer, weil im Normalfall diese Dinge beim Start des Linuxsystems von alleine ablaufen. Warum sollte ich also als Administrator hier Eingriffe vornehmen?
Analyse des Systems:
“Systemd“ besitzt mehrere Hilfsprogramme zur Analyse des Systems….
- sudo systemd-analyze blame
Gibt eine Liste aller laufenden Units von systemd aus, sortiert nach der Zeit, die diese für die Initialisierung benötigt haben.
- sudo systemd-analyze time
Zeigt an, wie lange das System benötigt hat, bis der Userspace vollständig geladen und initialisiert war.
Linux Gruppe Peine:
Wer sich für das Betriebssystem Linux und Open Source Hardware und Software interessiert ist in der Linux Gruppe Peine genau richtig. Wenn Du Lust hast mitzumachen, dann melde dich einfach beim Fuhselab.
Die Linux Gruppe Peine trifft sich Donnerstags von 18:00 Uhr bis 21:00 Uhr. Die Teilnehmerzahl ist begrenzt und deshalb bitte vorher per Kontaktformular oder Mail an info@fuhselab.de melden. Der Veranstaltungsort wird kurzfristig festgelegt und den Teilnehmerinnen und Teilnehmern per E-Mail mitgeteilt.
Das Angebot “Linux Gruppe Peine“ kann für einen Jahresbeitrag von 60,- Euro genutzt werden.