systemd/timesyncd

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

  1. Ein Terminal öffnen

  2. Root-Rechte

Inhaltsverzeichnis
  1. Installation
  2. Benutzung
    1. Konfiguration
    2. timedatectl
  3. Links

timesyncd ist der Client vom systemd, der über das Network Time Protocol Zeitserver im Internet abfragt und die Systemzeit des eigenen Rechners mit diesen synchron hält. Normalerweise wird timesyncd beim Systemstart automatisch mit gestartet und läuft dann im Hintergrund. Besitzt der Rechner eine eingebaute Real Time Clock - was bei den meisten Laptops und Desktop-Rechner normalerweise der Fall ist - dann korrigiert timesyncd diese auch, falls die Abweichung zum Zeitserver zu groß ist.

Ist auf dem System ntpd installiert, dann ist timesyncd nicht aktiv, sondern überlässt NTP die Aufgabe der Zeitsynchronisation.

Die Verwendung von externen Zeitquellen wie lokalen DCF-Empfängern usw. oder die Nutzung als Zeit-Server ist mit timesyncd nicht möglich.

Installation

timesyncd ist im Paket systemd enthalten, welches Grundbestandteil der Ubuntu-Installation ist.

Benutzung

timesyncd läuft als Dienst im Hintergrund und kann bzw. braucht nicht direkt genutzt wurde. Die wenigen mögliche Interaktionen laufen über das Kommandozeileprogramm timedatectl. Weitere Informationen findet man den den Man-Pages zu timesyncd und timedatectl.

Konfiguration

Die Zeitsynchronisation mit timesyncd wird über die Konfigurationsdatei /etc/systemd/timesyncd.conf gesteuert, in die die Zeitserver eingetragen werden können.

Die Datei enthält nur die Sektion [Time]. Dort können in die Zeile NTP= ein oder mehrere Zeitserver (mit Leerzeichen getrennt) eingetragen werden. In der Zeile FallbackNTP= können die Server eingetragen werden, die kontaktiert werden sollen, wenn die primären Zeitserver nicht erreichbar sind. Der Vorgabewert bei Ubuntu ist hier ntp.ubuntu.com. Damit die Zeitserver tatsächlich abgefragt werden, dürfen die beiden Zeilen nicht kommentiert sein, das heißt, das Rautezeichen # am Zeilenanfang muss entfernt werden.

Trägt man selber keinen Zeitserver ein, verwendet timesyncd automatisch den Google Zeitserver time.google.com. Dieser kann aber eine Abweichung von bis zu 0,5 Sekunden haben und ist deshalb für Produktivsysteme, wo eine exakte Zeit benötigt wird, nicht zu empfehlen. Sinnvoll ist die Verwendung eines länderspezifischen NTP-Pools wie de.pool.ntp.org und/oder eines lokalen Zeitservers, der zum Beispiel von einem Internetrouter mit entsprechender Funktionalität gestellt werden kann. Eine fertige Konfiguration über die Datei /etc/systemd/timesyncd.conf könnte dann folgendermaßen aussehen:

[Time]
NTP=fritz.box 0.de.pool.ntp.org 1.de.pool.ntp.org 2.de.pool.ntp.org
FallbackNTP=ntp.ubuntu.com

timesyncd versucht zunächst den Zeitserver der FritzBox im Heimnetz zu erreichen. Sollte fritz.box nicht antworten (z. B. da man sich nicht im heimischen LAN/WLAN befindet), wird versucht einen der deutschen NTP-Pools zu erreichen usw. Als Fallback wird die Standardkonfiguration ntp.ubuntu.com verwendet.

timedatectl

Über den Befehl[1]

timedatectl status 

kann der Status von timesyncd abgefragt werden. Mit folgenden Befehlen kann der Dienst gestoppt und wieder gestartet werden:

timedatectl set-ntp 0 #deaktivieren
timedatectl set-ntp 1 #aktivieren 

Den gleichen Effekt erreicht man auch, wenn man über systemctl die Service-Unit systemd-timesyncd.service deaktiviert bzw. aktiviert.