Systemd

Systemd vs. SysVinit

4. November 2020 · Betriebssysteme · andreas · Kein Kommentar

Die Diskussion “Systemd vs. SysVinit” nimmt fast schon religiöse Züge an und erinnert in mancher Beziehung an ein Phänomen, das oft zu beobachten ist, wenn sich irgendwo irgendetwas ändert: Neumodischer Krams? Kann nur schlecht sein!

METALLICA anyone? Da gibt es auch eine Fraktion, die “alles seit dem schwarzen Album” “grottenübel” findet, und trotzdem verkaufen sich die Scheiben und Konzertkarten noch immer recht gut.

Ich persönlich hätte nichts dagegen gehabt, wenn sich Debian für ein Verbleiben beim “alten” Init-System entschieden hätte, das hat schließlich jahrzehntelang problemlos funktioniert. Mich ärgern an Systemd täglich so Dinge, wie daß ich z.B. mit einem journaldingens arbeiten muss, statt mit grep um mal schnell ein Protokoll zu durchsuchen.

Über die tatsächlichen Vor- und Nachteile und was vielleicht besser ist und was weniger haben sich eine ganze Menge kluge Köpfe ihre Gedanken gemacht, die deutlich tiefer in der Materie stecken als Meinereiner und ich habe die Hoffnung, daß die auch zu einem klugen Ergebnis gekommen sind. Nicht alles ist nur schwarz oder weiß, wir bewegen uns im Normalfall irgendwo zwischen Grauschattierungen.

Letztendlich ist mir ein zuverlässig funktionierendes System wichtig und wenn ich mich komplett von allen Datenkraken lösen möchte, dann müsste ich den Netzstecker ziehen, das Mobiltelefon wegwerfen und hätte immer noch ein Problem, wenn das nächste Mal ein Google Streetview-Auto vorm Haus vorbeirollt.


Zeitsynchronisierung mit systemd

27. April 2020 · Betriebssysteme · andreas · Kein Kommentar

Sofern ein Linux-System systemd verwendet muß zum Abgleich der Systemzeit – sofern dieses nicht als Zeitserver für andere Systeme arbeiten sollen – kein ntp mehr insalliert werden.

Es reicht die Anpassung der Datei “/etc/systemd/timesyncd.conf”

$ sudo vi /etc/systemd/timesyncd.conf

in welcher dann in der Zeile “NTP=” der gewünschte Zeitserver eingetragen wird.

[Time]
NTP=zeitserver.local
FallbackNTP=0.debian.pool.ntp.org 1.debian.pool.ntp.org 2.debian.pool.ntp.org 3.debian.pool.ntp.org
RootDistanceMaxSec=5
PollIntervalMinSec=32
PollIntervalMaxSec=2048

Nach Änderung der Datei wird der Dienst “systemd-timesyncd.service” neu gestartet - das war’s.

$ sudo systemctl restart systemd-timesyncd.service

Anschließend kann die Konfiguration des Diensts mittels

$ timedatectl status
               Local time: Mo 2020-04-27 21:19:40 CEST
           Universal time: Mo 2020-04-27 19:19:40 UTC
                 RTC time: Mo 2020-04-27 19:19:40
                Time zone: Europe/Berlin (CEST, +0200)
System clock synchronized: yes
              NTP service: active
          RTC in local TZ: no

überprüft werden. Wird der Status des “NTP service” als “inactive” angezeigt, so ist ein

$ timedatectl set-ntp true

notwendig, um die Synchronisation zu aktivieren. Detaillierte Informationen erhält man entweder über

$ timedatectl timesync-status
       Server: 1.2.3.4 (zeitserver.local)
Poll interval: 1min 4s (min: 32s; max 34min 8s)
         Leap: normal
      Version: 4
      Stratum: 4
    Reference: AF0149C
    Precision: 1us (-21)
Root distance: 31.249ms (max: 5s)
       Offset: -1.759ms
        Delay: 1.972ms
       Jitter: 0
 Packet count: 1
    Frequency: +17,237ppm

oder mit Hilfe von

$ timedatectl show-timesync
SystemNTPServers=zeitserver.local
FallbackNTPServers=0.debian.pool.ntp.org 1.debian.pool.ntp.org 2.debian.pool.ntp.org 3.debian.pool.ntp.org
ServerName=zeitserver.local
ServerAddress=1.2.3.4
RootDistanceMaxUSec=5s
PollIntervalMinUSec=32s
PollIntervalMaxUSec=34min 8s
PollIntervalUSec=2min 8s
NTPMessage={ Leap=0, Version=4, Mode=4, Stratum=4, Precision=-21, RootDelay=17.333ms, RootDispersion=18.478ms, Reference=AF0149E, OriginateTimestamp=Mon 2020-04-27 21:05:29 CEST, ReceiveTimestamp=Mon 2020-04-27 21:05:29 CEST, TransmitTimestamp=Mon 2020-04-27 21:05:29 CEST, DestinationTimestamp=Mon 2020-04-27 21:05:29 CEST, Ignored=no PacketCount=2, Jitter=329us }
Frequency=1353001

journalctl

15. Oktober 2015 · Betriebssysteme · andreas · Kein Kommentar

Eine der unschönen Neuerungen die mit der Einführung von systemd Einzug halten ist daß Logdateien statt im jederzeit problemlos les- und verarbeitbaren Textformat nun mittels journald gesammelt, verwaltet und vor allem als Binärdateien gespeichert werden.

Will man Einsicht in ein Log erhalten, so benötigt man hierzu den Befehl

journalctl

welcher bei Aufruf die bisher erstellten Logeinträge in chronologischer Reihenfolge ausgibt.

Sollen nur die Einträge eines bestimmten Dienstes angezeigt werden, so kann mittles “-u Dienstname” ein Filter gesetzt werden:

journalctl -u shairport-sync

listet zum Beispiel nur die zum Dienst “shairport-sync” gehörenden Einträge auf.

Sofern man einem Dienst bei der Arbeit über die Schulter schauen möchte, kann dies durch den Parameter “-f” (analog zu z.B. “tail”) erreicht werden:

journalctl -f -u shairport-sync

zeigt die letzten Einträge sowie die neu hinzukommenden Einträge an.

Standardmäßig werden die Einträge seitenweise ausgegeben, dies kann durch den Parameter “–no-pager” geändert werden.

Eine Liste der möglichen Parameter und ihrer Verwendung erhält man durch die Eingabe von

journalctl --help