[[Vorlage(Getestet, focal, bionic)]] {{{#!vorlage Wissen [:Terminal: Ein Terminal öffnen] [:sudo: Root-Rechte] }}} [[Inhaltsverzeichnis()]] '''timesyncd''' ist der Client vom [:systemd:], der über das [wikipedia:Network Time Protocol: 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-Rechnern normalerweise der Fall ist - dann korrigiert timesyncd diese auch, falls die Abweichung zum Zeitserver zu groß ist. Ist auf dem System [:ntpd:] oder [https://chrony.tuxfamily.org/ chrony] {en} 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 Zeitserver 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 zu werden. Die wenigen möglichen Interaktionen laufen über das Kommandozeilenprogramm [#timedatectl timedatectl]. Weitere Informationen findet man in den [:man: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 auskommentiert sein, das heißt, das Rautezeichen `#` am Zeilenanfang muss entfernt werden. Trägt man selber keinen Zeitserver ein, hat timesyncd in früheren Ubuntu-Versionen mal automatisch den Google-Zeitserver `time.google.com` verwendet. Abgesehen von Datenschutzbedenken (ständige Übermittlung personenbezogener Daten = u.a. IP-Adresse) kann dieser eine Abweichung von bis zu 0,5 Sekunden haben und ist auch deshalb für Produktivsysteme, wo eine exakte Zeit benötigt wird, nicht zu empfehlen. Zumindest in der Version 22.04 verwendet timesyncd jedoch ntp.ubuntu.com als NTP Server, wenn in der timesyncd.conf keine Angaben durch den Nutzer gemacht wurden oder die angegebenen NTP-Server nicht erreichbar sind. Sinnvoll ist die Verwendung eines länderspezifischen [wikipedia:NTP-Pool: 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. Alternativ kann man die Angaben auch z. B. in folgender Weise durchführen. Dann wird zuerst geguckt, ob es auf den angegebenen lokalen IP-Adressen einen Router wie z. B. eine Fritz!Box im LAN gibt, wobei es hierbei keine Rolle spielt, ob es sich um eine FRITZ!Box oder ein anderes Routermodell handelt. Wenn kein Router im LAN die Anfrage beantworten sollte, erfolgt soweit notwendig nach und nach die nächste Abfrage eines der als Fallback-NTP angegebenen NTP-Server im Internet. {{{ [Time] NTP=192.168.178.1 192.168.8.1 FallbackNTP=0.de.pool.ntp.org 1.de.pool.ntp.org 2.de.pool.ntp.org 3.de.pool.ntp.org }}} == timedatectl== Über den Befehl[1] {{{#!vorlage Befehl timedatectl status }}} kann der Status von timesyncd abgefragt werden. Mit folgenden Befehlen kann der Dienst gestoppt und wieder gestartet werden: {{{#!vorlage Befehl timedatectl set-ntp 0 #deaktivieren timedatectl set-ntp 1 #aktivieren }}} Den gleichen Effekt erreicht man auch, wenn man über [:systemd/systemctl:systemctl] die Service-Unit '''systemd-timesyncd.service''' deaktiviert bzw. aktiviert. = Links = * [:Systemzeit: Systemzeit] * [https://ubuntu.com/server/docs/network-ntp timesyncd Erklärung] {en} im Ubuntu-Server-Leitfaden * [archwiki:systemd-timesyncd:] Eintrag im Arch Linux Wiki #tag: Systemzeit, systemd, NTP