Systemd

Aus Linupedia.org
Version vom 25. August 2015, 10:56 Uhr von Revealed (Diskussion | Beiträge) (Status eines Dienstes abfragen)
Wechseln zu: Navigation, Suche
Höhe=24px Dieser Artikel oder Teile davon wurden mit 'Review' markiert. Das bedeutet, dass größere Arbeiten am Inhalt des Artikels abgeschlossen sind und der Autor eine Korrekturlesung durch andere User zur Qualitätssicherung für angebracht hält.

Zu sichtende Teile: Kompletter Artikel

Bitte hilf LinuxClubWiki, indem du den zu sichtenden Teil überprüfst und den Artikel gegebenenfalls überarbeitest!

Aus technischen Gründen ist es leider nicht Möglich der korrekten Schreibweise von "systemd" in der Überschrift dieses Artikels gerecht zu werden.

Was ist systemd?

Systemd ist ein Dienst oder Daemon und bietet einige grundlegende Werkzeuge für Linux Systeme. Er wird zur System- und Diensteverwaltung eingesetzt. Er läuft mit PID1 und startet dann alle weiteren Prozesse des Betriebssystems.

Er startet also als erstes (PID1), regelt und steuert dabei alle weiteren Dienste. Er beendet sich beim Herunterfahren als letztes. Der daemon systemd ist damit also tief im Ablauf eines Systemstarts verwurzelt. Siehe Bootvorgang.

SUSE wechsel zu systemd

Mit unter libervoll vollzieht sich der Wechsel zu systemd als Init-System in SUSE mit Sätzen, zitert aus den Releasenotes und dem Adminguide zu SUSE Linux Enterprise Server 12, wie:

New core technologies like systemd (replacing the time honored System V based init process) 

Versuchsweise frei übersetzt: Neue Kerntechnologien wie systemd (ersetzen den durch lange Dienstzeit geehrten System V basierten init prozess).

Starting with SUSE Linux Enterprise Server 12 systemd is a replacement for the popular System V init daemon. systemd is fully compatible with System V init (by supporting init scripts). 

Versuchsweise frei übersetzt: Beginnend mit SUSE Linux Enterprise Server 12 ist systemd ein Ersatz für den populären System V init daemon. Er ist voll kompatibel mit dem System V Init-Vorgang, indem er Init Skripte unterstützt.

Abwärts Kompatibilität

Als sogenanntes "drop-in replacement". Bietet systemd Kompatibilität zu seinen Vorgängern:

  • kompatibel mit LSB init Skripten
  • kompatibel mit SysV

Fähigkeiten

Als Verwaltungsinstrument bringt systemd einige Neuerungen und Verbesserungen, setzt dabei allerdings auch stark auf alt bewährtes. Um nur einiges an Neuerungen und Fähigen zu nennen:

  • Fähigkeit zur aggressiven Parallelisierung
  • Nutzt Socket und D-Bus Aktivierung um Prozesse zu starten
  • Bietet ein "auf Bedarf"-basiertes starten von Diensten
  • Überwacht Prozesse die cgroups verwenden
  • unterstützt Schnappschüsse und deren Wiederherstellung
  • Verwaltet mount und automount Einhängepunkte
  • Implementiert abhängigkeitsbasierte Logik für Dienste
  • Kann SysV-Init als drop-in ersetzen.
  • uvm.

systemd Steuern

Es gibt verschiedene Wege, wie systemd gesteuert werden kann. Einmal gibt es grafische Tools, wie die Dienste-Verwaltung in YaST. Das ehemals benannte Menü: "Runlevel-Editor" nennt sich heute bei Migration zu systemd "Dienste-Verwaltung". Dann gibt es noch die Möglichkeit mit der Shell. Dazu dient neben anderen der Befehl systemctl.

Umgang mit systemctl

Bitte zum detaillierten Umgang mit systemctl die Manpage lesen. Oder beispielsweise im (Achtung externer Link): Adminguide nachschlagen.

man systemctl

Nachfolgend einige einfache Befehle, die empfehlungsweise bekannt sein sollten.

Dienste starten und beenden

Starten

systemctl start mein_dienst

Beenden

systemctl stop mein_dienst

Automatischen Start De-/Aktivieren

Automatischen start aktivieren:

systemctl enable mein_dienst

Automatischen start deaktivieren:

systemctl disable mein_dienst

Status eines Dienstes abfragen

systemctl status mein_dienst

In der Ausgabe würde das bei einem erfolgreich gestarteten und für den automatischen Start konfigurierten Dienst in etwa so aussehen:

mein_dienst.service - mein_dienst Daemon
   Loaded: loaded (/usr/lib/systemd/system/mein_dienst.service; enabled)
   Active: active (running) since Sa 2015-08-22 02:17:01 CEST; 1s ago
  Process: 6717 ExecStartPre=/usr/sbin/mein_dienst (code=exited, status=0/SUCCESS)
 Main PID: 6721 (mein_dienst)

systemd neu laden

Angenommen, man hätte beispielsweise Änderungen an mein_dienst.service Dateien vorgenommen, muss systemd neu geladen werden, damit sie sofort wirksam werden.

systemctl daemon-reload

Quellen / Links: