Zeiteinstellungen
Zeiteinstellungen
basiert teileise auf:Time settings von Jerry3904
Einführung[Bearbeiten | Quelltext bearbeiten]
Unter Linux wird zwischen zwei Uhrzeiten unterschieden:
- Software-Uhr: auch Systemzeit genannt, ist die Uhr des Linux-Kernels. Genaugenommen handelt es sich dabei um die Anzahl der Sekunden seit dem 1.1.1970 00:00:00 UTC, die sogenannte Unixzeit
- Hardware-Uhr: auch real time clock (RTC) genannt, ist die im BIOS angezeigte und durch die CMOS-Batterie gespeiste Uhr. Diese läuft auch wenn der Rechner ausgeschaltet ist.
Beim Einrichten eines neuen Linux-Systems wird gefragt, ob die RTC auf die UTC-Zone (Coordinated Universal Time) eingestellt werden soll. Dies sollte man nach Möglichkeit tun, da alle Zeitberechnungen wie Sommerzeitumstellung oder Zeitzonenwechsel auf UTC beruhen.
Die Hardware-Uhr kann auch nachträglich mit diesem Befehl auf UTC umgestellt werden:
timedatectl set-local-rtc 0
Möchte man die RTC-Einstellungen kontrollieren, kann dies durch
sudo hwclock --debug
geschehen. U.a. wird dabei auch ausgegeben, ob die Hardware auf UTC-Zeit gesetzt ist oder nicht.
Eine andere Möglichkeit dies anzuzeigen ist die Ausgabe der Datei /etc/adjtime
cat /etc/adjtime
Die letzte Zeile enthält dabei die Angabe der verwendeten Zeit, sollte also UTC enthalten.
Die Zeit kann durch verschiedene Faktoren beeinflusst werden:
- Zeitzoneneinstellung
- Auswahl ob Local Time oder UTC verwendet werden soll
- Hardware-Uhr läuft falsch
- Zeitdifferenz (timedrift)
Einen guten Überblick über sämtliche Faktoren (Systemzeit, Hardware-Uhr, Zeitzone und Benutzung von NTP) erhält man durch die Eingabe von
timedatectl
Ausgabe:
Local time: Mi 2019-10-30 18:29:34 CET Universal time: Mi 2019-10-30 17:29:34 UTC RTC time: Mi 2019-10-30 17:29:34 Time zone: Europe/Berlin (CET, +0100) Network time on: yes NTP synchronized: yes RTC in local TZ: no
Die Software- und Hardware-Uhr gleichen sich gegenseitig beim Booten bzw. beim Shutdown ab. Beim Booten stellt die Hardware-Uhr die Systemuhr und beim Shutdown umgekehrt die Systemuhr die Hardware-Uhr.
Zur Konfiguration mittels GUI kann MX Zeiteinstellungen verwendet werden[Bearbeiten | Quelltext bearbeiten]
1. Klicken Sie auf Zeigen Sie auf Datum und Uhrzeit
2. Prüfen Sie:
- Local time
- Universal time
- RTC time (Hardwarezeit)
- Time zone: Europe/Berlin (muss unbedingt auf die richtige Zeitzone eingestellt sein)
- Network time on: yes (dafür muss ntp installiert sein)
- NTP synchronized:yes
- RTC in UTC
- TZ: yes (wichtig, damit in einer Dual-Boot-Situation auch unter Windows die Zeit richtig angezeigt wird)
Einstellung der ntp-Zeitserver[Bearbeiten | Quelltext bearbeiten]
Um NTP-Zeitserver nutzen zu können, muss eines dieser Pakete installiert sein:
- ntp
- openntpd
- chrony
In /etc/ntp.conf sind die Debian-Zeitserver eingestellt:
pool 0.debian.pool.ntp.org iburst pool 1.debian.pool.ntp.org iburst pool 2.debian.pool.ntp.org iburst pool 3.debian.pool.ntp.org iburst
Diese können durch die Zeitserver der Physikalisch-Technische Bundesanstalt Braunschweig (Atomuhrgestützt) ersetzt werden:
ptbtime1.ptb.de ptbtime2.ptb.de ptbtime3.ptb.de
Um die Überlastung einzelner Zeitserver zu vermeiden ist es besser, einen ganzen Pool von Zeitservern anzugeben, aus dem dann automatisch der günstigste Zeitserver ausgewählt wird. Dies geschieht z.B. durch diese Einträge in der /etc/ntp.conf
server 0.de.pool.ntp.org server 1.de.pool.ntp.org server 2.de.pool.ntp.org server 3.de.pool.ntp.org
Schweizer und Österreicher ersetzen einfach das de im Servernamen durch ihr Länderkennzeichen:
server 0.at.pool.ntp.org # für Österreich server 0.ch.pool.ntp.org # Schweiz
Entsprechendes gilt für den Rest der Welt. Eine komplette Liste findet sich auf Europe — europe.pool.ntp.org
Wenn der benutzte Internetanbieter einen eigenen Zeitserver betreibt, so ist es ebenfalls eine gute Lösung, dessen Zeitserver einzutragen.
Verwende hierzu einen Editor Deiner Wahl wie nano, pico', vim.
Danach musst Du den Service restarten:
sudo service ntp start
Nach kurzer Zeit kann man durch die Eingabe von
ntpq -pn
kontrollieren, ob die Vebindung mit einem Zeitserver funktioniert. Man erhält eine Ausgabe, die etwa so aussehen sollte:
remote refid st t when poll reach delay offset jitter ============================================================================== +145.239.3.131 131.188.3.223 2 u 117 128 345 39.400 -9.054 23.402 +176.9.42.91 213.239.239.166 3 u 189 128 346 37.502 -16.948 83.753 *193.158.22.13 .SHM. 1 u 117 128 355 57.281 -11.011 21.066 +131.188.3.223 .PZFs. 1 u 84 128 373 44.079 -2.953 197.792
ein Zeitserver sollte dabei mit einem Sternchen * versehen sein (wie hier 193.158.22.13). Dabei handelt es sich um den Zeitserver, mit dem der Abgleich vorgenommen wurde.
Wenn alles funktioniert. empfiehlt es sich auf jeden Fall die empfangene Uhrzeit auch in die Hardware-Uhr zu übertragen:
sudo hwclock --systohc
In den wenigen Fällen da die Verwendung von NTP nicht möglich oder nicht sinnvoll ist, weil der Rechner nur selten oder gar keine Verbindung zum Internet hat, sollte man das Paket adjtimex installieren.
manuelle Synchronisation[Bearbeiten | Quelltext bearbeiten]
Man kann die Zeit auch manuell synchronisieren, dafür darf ntp aber nicht laufen:
sudo service ntp stop
root@monastir:~# ntpdate ptbtime1.ptb.de
9 Jun 06:50:29 ntpdate[31880]: adjust time server 192.53.103.108 offset 0.000311 sec
sudo service ntp start