Systemd/Beschreibung

Aus Foxwiki
Die Druckversion wird nicht mehr unterstützt und kann Darstellungsfehler aufweisen. Bitte aktualisiere deine Browser-Lesezeichen und verwende stattdessen die Standard-Druckfunktion des Browsers.

Beschreibung

  • Bei einer Reihe von Distributionen kümmert sich mittlerweile nicht mehr Sysvinit, sondern Systemd um den Systemstart.
  • Das erst zwei Jahre alte Init-System verspricht den Bootprozess zu beschleunigen und erfordert keine explizite Konfiguration der Abhängigkeiten zwischen Systemdiensten; nebenbei schafft es einige distributionsspezifische Eigenarten aus der Welt.
  • Bei Linux-Distributionen übergibt der Kernel traditionell Sysvinit die Verantwortung zur Einrichtung des Systems.
  • Einige Jahre sah alles danach aus, als würde Upstart das angestaubte, aber noch weitverbreitete Init-System beerben, doch mittlerweile immer mehr Distributionen auf Systemd um – abgesehen von Ubuntu , das laut Mark Suttleworth auf absehbare Zeit bei Upstart bleiben wird.
  • Fedora nutzt Systemd seit Version 15, auch in OpenSuse und Mandriva 2011 kommt das neue Init-System zum Einsatz; Mageia steigt mit Version 2 um.
  • Bei Arch Linux und Gentoo sowie Debian Testing liegt Systemd bei; bei einigen weitere Distributionen wird der optionale Einsatz oder der Umstieg diskutiert.
  • Eine der Besonderheiten von Systemd ist der parallele Start von Hintergrunddiensten, ohne dass Abhängigkeiten zwischen diesen explizit festgelegt werden müssen; das nutzt Hardware-Ressourcen effizienter und lässt das System flott starten.
  • Systemd erledigt zudem einige Aufgaben, um die sich bislang meist distributionsspezifische Skripte kümmern; ganz nebenbei beseitigt es damit einige Unterschiede bei der Bedienung und Konfiguration von Distributionen.
  • starken Verbreitung
  • weitgehend neuer Standard für Linux-Distributionen
  • Administration von Servern

Wenn Sie die Werkzeuge und Daemons, aus denen systemd besteht, kennenlernen und verwenden, werden Sie die Leistungsfähigkeit, Flexibilität und Fähigkeiten, die es bietet, besser zu schätzen wissen oder zumindest ihre Arbeit mit minimalem Aufwand erledigen können.

In diesem Leitfaden besprechen wir den Befehl systemctl, bei dem es sich um das zentrale Verwaltungswerkzeug zur Steuerung des Init-Systems handelt.

  • Wir behandeln die Verwaltung von Diensten, die Überprüfung des Status, die Änderung von Systemzuständen und die Arbeit im Umgang mit den Konfigurationsdateien.
  • Bitte beachten Sie, dass systemd zwar zum Standard-Init-System für viele Linux-Distributionen geworden ist, aber nicht durchgängig in allen Distributionen implementiert ist.
  • Wenn Ihr Terminal beim Durcharbeiten dieses Tutorials die Fehlermeldung bash: systemctl is not installed ausgibt, ist es wahrscheinlich, dass auf Ihrem Rechner ein anderes Init-System installiert ist.

Der Daemon systemd

Das Programm systemd trägt die Prozess-ID 1
  • Hiermit wird das System in der erforderlichen Form initialisiert. systemd wird direkt vom Kernel gestartet und widersteht dem Signal 9, das in der Regel Prozesse beendet.
  • Alle anderen Programme werden entweder direkt von systemd oder von einem seiner untergeordneten Prozesse gestartet.
Systemd ersetzt den System V init-Daemon.
  • systemd ist mit System V init uneingeschränkt kompatibel (init-Skripten werden unterstützt).
  • Einer der wichtigsten Vorteile von systemd ist die deutliche Beschleunigung des Bootvorgangs, da die Dienststarts konsequent parallel ausgeführt werden.
  • Darüber hinaus startet systemd einen Dienst nur dann, wenn er tatsächlich benötigt wird.
  • Deamons werden nicht in jedem Fall beim Booten gestartet, sondern erst dann, wenn sie erstmalig benötigt werden.
  • systemd unterstützt außerdem Kernel-Steuergruppen (cgroups), das Erstellen von Snapshots, das Wiederherstellen des Systemstatus und vieles mehr.
  • Weitere Informationen finden Sie in http://www.freedesktop.org/wiki/Software/systemd/.

Konzept

Grundlagen

systemd ist ein System- und Sitzungsmanager für Linux und ist mit System V- und LSB-init-Skripts kompatibel.

Die wichtigsten Funktionen
  • Konsequente Parallelisierung
  • Starten von Diensten per Socket- und D-Bus-Aktivierung
  • Starten der Daemons bei Bedarf
  • Verfolgen der Prozesse, die Linux-cgroups nutzen
  • Unterstützung für das Erstellen von Snapshots und Wiederherstellen des Systemstatus
  • Einhängepunkte und Automount-Punkte
  • Ausgereifte Dienststeuerlogik auf der Basis der Transaktionsabhängigkeiten

Unit-Datei

Eine Unit-Konfigurationsdatei enthält Informationen zu einem Dienst, Socket, Gerät, Einhängepunkt, Automount-Punkt, einer Auslagerungsdatei oder Partition, einem Startziel, einem überwachten Dateisystempfad, einem von systemd gesteuerten und überwachten Zeitgeber, einem Snapshot eines temporären Systemstatus, einem Ressourcenverwaltungs-Slice oder einer Gruppe extern erstellter Prozesse.

„Unit-Datei“ ist in systemd ein generischer Term für Folgendes
  • Dienst. Informationen zu einem Prozess (z. B.  Ausführung eines Daemon); Datei endet auf .service Ziele. Fassen Units zu Gruppen zusammen bzw. fungieren als Synchronisierungspunkte beim Starten; Datei endet auf .target Sockets.
  • Informationen zu einem IPC- oder Netzwerk-Socket oder einem Dateisystem-FIFO, für die socketbasierte Aktivierung (wie inetd); Datei endet auf .socket Pfad.
  • Dient als Auslöser von anderen Units (z. B.  Ausführen eines Dienstes, wenn Dateien geändert werden); Datei endet auf .path Zeitgeber.
  • Informationen zu einem gesteuerten Zeitgeber für die zeitgeberbasierte Aktivierung; Datei endet auf .timer Einhängepunkt.
  • In der Regel automatisch durch den fstab-Generator erzeugt; Datei endet auf .mount Automount-Punkt.
  • Informationen zu einem Dateisystem-Automount-Punkt; Datei endet auf .automount Swap.
  • Informationen zu einem Auslagerungsgerät oder einer Auslagerungsdatei für das Arbeitsspeicher-Paging; Datei endet auf .swap Gerät.
  • Informationen zu einer Geräte-Unit in der Geräte-Baumstruktur sysfs/udev(7); Datei endet auf .device Bereich/Slice. Konzept für die hierarchische Verwaltung von Ressourcen einer Prozessgruppe; Datei endet auf .scope/.slice

Weitere Informationen zu systemd.unit finden Sie unter http://www.freedesktop.org/software/systemd/man/systemd.unit.html.