systemd

Aus Mikiwiki
Version vom 7. November 2020, 23:26 Uhr von Michi (Diskussion | Beiträge) (Die Seite wurde neu angelegt: «Der Daemon <b>systemd</b> dient als init-Prozess als erster Prozess (Prozess-ID 1) zum Starten, Überwachen und Beenden weiterer Prozesse. == Logdateien ==…»)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu: Navigation, Suche

Der Daemon systemd dient als init-Prozess als erster Prozess (Prozess-ID 1) zum Starten, Überwachen und Beenden weiterer Prozesse.

Logdateien

Normalerweise sind die Ausgaben von systemd beim Starten zwar am Bildschirm zu lesen, jedoch flüchtig - nach einem Rechnerneustart sind sie also nicht mehr vorhanden.

Die Art der Protokollierung kann in der Datei "/etc/systemd/journald.conf" im Abschnitt "[Journal]" unter der Option "Storage" konfiguriert werden. Mögliche Werte sind

  • volatile - die Logdaten werden nur im Arbeitsspeicher (also unter "/run/log/journal") gehalten und sidn also nach einem Rechnerneustart nicht mehr vorhanden
  • persistent - die Logdaten werden vorzugsweise auf die Festplatte geschrieben, nämlich ins Verzeichnis "/var/log/journal". Falls die Festplatte nicht beschreibbar ist, so wird nach "/run/log/journal" geschrieben.
  • auto (Voreinstellung) - damit wird journald so konfiguriert, dass ins Verzeichnis "/var/log/journal" geschrieben wird.
  • none - alle Speicherung wird ausgeschaltet.

Damit tatsächlich nach "/var/log/journal" geschrieben wird, muss dieses standardmässig nicht vorhandene Verzeichnis angelegt und mit den korrekten Rechten versehen werden. Ansonsten wird ins flüchtige Verzeichnis "/run/log/journal" geschrieben.

# mkdir -p /var/log/journal
# chown root:systemd-journal /var/log/journal

Jederzeit können die Daten aus dem Verzeichnis "/run/log/journal" mit folgendem Befehl nach "/var/log/journal" geschrieben werden.

# journalctl --flush

Die Logdateien können mit dem Programm journalctl gelesen werden.

Lesen von Logdateien

Der Befehl "journalctl" wird zum Lesen von Logdateien verwendet.

# journalctl
-- Logs begin at Sat 2020-10-24 12:14:51 CEST, end at Sat 2020-11-07 22:17:01 CE
Okt 24 12:14:51 kuhn4 kernel: Linux version 4.19.0-11-amd64 (debian-kernel@lists
Okt 24 12:14:51 kuhn4 kernel: Command line: BOOT_IMAGE=/boot/vmlinuz-4.19.0-11-a
Okt 24 12:14:51 kuhn4 kernel: x86/fpu: Supporting XSAVE feature 0x001: 'x87 floa
Okt 24 12:14:51 kuhn4 kernel: x86/fpu: Supporting XSAVE feature 0x002: 'SSE regi
Okt 24 12:14:51 kuhn4 kernel: x86/fpu: Supporting XSAVE feature 0x004: 'AVX regi
Okt 24 12:14:51 kuhn4 kernel: x86/fpu: Supporting XSAVE feature 0x008: 'MPX boun
Okt 24 12:14:51 kuhn4 kernel: x86/fpu: Supporting XSAVE feature 0x010: 'MPX CSR'
Okt 24 12:14:51 kuhn4 kernel: x86/fpu: xstate_offset[2]:  576, xstate_sizes[2]: 
...

Ansehen der Einträge eines bestimmten Dienstes (hier "apache2").

# journalctl -u apache2.service
-- Logs begin at Sat 2020-10-24 12:14:51 CEST, end at Sat 2020-11-07 22:17:01 CE
Okt 24 12:14:53 kuhn4 systemd[1]: Starting The Apache HTTP Server...
Okt 24 12:14:53 kuhn4 systemd[1]: Started The Apache HTTP Server.
Okt 25 00:00:30 kuhn4 systemd[1]: Reloading The Apache HTTP Server.
Okt 25 00:00:30 kuhn4 systemd[1]: Reloaded The Apache HTTP Server.
Okt 25 03:16:28 kuhn4 systemd[1]: Stopping The Apache HTTP Server...
Okt 25 03:16:28 kuhn4 systemd[1]: apache2.service: Succeeded.
...

Ansehen der Einträge seit dem letzten Neustart.

# journalctl --boot



Weblinks