Zeiteinstellungen

Aus mxlinuxusers.de

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 Hardware-Uhr (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 --verbose

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.

grafische Oberflächen (GUI) zur Zeiteinstellung[Bearbeiten | Quelltext bearbeiten]

wer es einfach haben möchte, kann zur Zeiteinstellung auf zwei grafische Oberflächen zurückgreifen, entweder MX Date_Time aus den MX-Werkzeugen oder die MX Zeiteinstellungen (als Paket mx-timeset-gui). Letzteres muss in der Regel nachinstalliert werden.

MX Date_Time[Bearbeiten | Quelltext bearbeiten]

Da mit MX Date_Time wesentliche Einstellungen verändert werden können wird beim Aufruf nach dem Root-Passwort gefragt.

MX Date_Time besteht aus drei Fenster, die durch die Tabs erreichbar sind:

  • Hauptfenster "Datum & Zeit"
    • die Einstellungen dürften relativ klar sein, man kann das Datum auswählen (sollte hoffentlich nie notwendig sein), sowie Uhrzeit und Zeitzone (grösseres Gebiet wie z.B. Kontinent und Ort) einstellen. Nach Klick auf "Anwenden" werden die Einstellungen sofort wirksam.
  • Hardware Uhr
    • hier wird die Zeitzone für die Hardware Uhr eingestellt (UTC oder Lokalzeit, UTC ist dabei die eindeutige Empfehlung), man kann die Systemzeit nach der Hardwarezeit oder umgekehrt übertragen und die "drift" (Abweichung von der realen Uhrzeit) aktualisieren. Die Drift wird dazu benutzt, um kleinere Zeitabweichungen automatisch zu korrigieren (welche Uhr geht schon auf Bruchteile von Sekunden genau). Mit der Schaltfläche rechts darunter "Drift Adjust" kann solch eine Korrektur auch von Hand ausgelöst werden, wenn es denn mal nötig sein sollte. Ist normalerweise nicht notwendig, wenn doch, sollte man sich mal Gedanken über den Austausch der CMOS-Batterie machen. Die Schaltfläche links daneben "Hardware Uhr auslesen" macht genau das, was draufsteht, sie liest die Hardware Uhr aus und zeigt alle vorhandenen Informationen in der darunterliegenden Box an.
  • Netzwerk Zeit
    • eintragen, ob die Uhrzeit automatisch mit NTP-Servern abgeglichen werden soll (sollte man in der Regel anwählen). In der Box darunter werden die dazu benötigten Zeitserver oder Zeit-Pools eingetragen. Für die Auswahl siehe den Abschnitt "Einstellung der ntp-Zeitserver". Die vier Kästchen am rechten Rand unter der Schaltfläche "Jetzt abgleichen" dienen zum Hinzufügen, Entfernen und in der Reihenfolge verschieben von Zeitservern oder Zeitpools. Da die in den Schaltflächen enthaltenen sprechenden Symbole (Plus- und Minuszeichen, Pfeil nach oben bzw. unten) leider zumindest bei xfce je nach gewähltem Thema entweder schlecht oder gar nicht sichtbar sind, hier eine kurze Erläuterung der Funktionen von oben nach unten:
  1. Hinzufügen eines Zeit-Servers/Poolös
  2. Entfernen des ausgewählten Zeit-Servers/Pools
  3. ausgewählten Zeit-Servers/Pool nach oben schieben
  4. ausgewählten Zeit-Servers/Pool nach unten schieben

Wer es eilig hat oder überprüfen möchte, ob alles richtig eingetragen wurde, kann dann die Schaltfläche "jetzt abgleichen" betätigen. Ein Klick auf "Anwenden" tut es aber auch.

MX Zeiteinstellungen[Bearbeiten | Quelltext bearbeiten]

Zur Konfiguration mittels GUI kann MX Zeiteinstellungen verwendet werden.

MX Linux Zeiteinstellungen GUI v16.12.2

Aufruf mit

mx-timeset-gui
  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

Eine weitere Möglichkeit ist die Benutzung von rdate. In der Regel muss rdate nachinstalliert werden

sudo apt install rdate

Anschliessend kann es mit root-Rechten (sudo) aufgerufen werden:

rdate time.fu-berlin.de

statt time.fu-berlin.de kann natürlich auch ein anderer Zeitserver benutzt werden, der jedoch nach Möglichkeit in der Nähe liegen sollte.

Synchronisation ohne Internetverbindung[Bearbeiten | Quelltext bearbeiten]

hat man mal längere Zeit keinen Zugriff aufs Internet, oder möchte aus Sicherheitsgründen für einen speziellen Rechner keinen Zugriff erlauben, so lässt sich eine Zeitsynchronisation auch über ein DCF77 Funkuhr-Modul durchführen, das an eine USB-Schnittstelle angeschlossen wird.

Details dazu bitte in diesem Artikel Zeitsynchronisation unter Linux mit DCF77 Funkuhr-Modul und ntpd aus dem Thomas-Krenn-Wiki nachlesen.

Weblinks[Bearbeiten | Quelltext bearbeiten]