Zeit auf Linux-Systemen richtig einstellen

Foto des Autors

By Jan

Zeit in verschiedenen Linux-Distributionen einstellen

Wo finde ich die Zeiteinstellungen?

Die Zeiteinstellungen in Linux-Distributionen variieren je nach Distribution und verwendetem grafischen Desktop. Im Folgenden findest du eine allgemeine Anleitung:

  • Ubuntu: Öffne das Menü Einstellungen und navigiere zu Datum und Uhrzeit.
  • Debian: Gib im Terminal date ein oder öffne das Menü Einstellungen und navigiere zu Datum und Uhrzeit.
  • Red Hat Enterprise Linux (RHEL): Gib im Terminal date ein oder öffne das Systemsteuerungszentrum und navigiere zu Uhr und Datum.
  • Fedora: Öffne das Menü Einstellungen und navigiere zu Zeit und Datum.
  • Arch Linux: Gib im Terminal date ein oder öffne das Menü Einstellungen und navigiere zu Systemzeit.

Welche Optionen stehen zur Verfügung?

Die verfügbaren Optionen zur Zeiteinstellung hängen von der verwendeten Distribution ab. Allgemein kannst du Folgendes einstellen:

  • Datum und Uhrzeit: Manuell eingeben oder automatisch synchronisieren.
  • Zeitzone: Deine lokale Zeitzone auswählen.
  • NTP-Server: Einen NTP-Server für die automatische Zeitsynchronisierung festlegen.
  • Sommerzeit: Die Verwendung der Sommerzeit aktivieren oder deaktivieren.

Hinweis: Wenn du Änderungen an den Zeiteinstellungen vornimmst, werden diese normalerweise erst nach einem Neustart wirksam.

Den aktuellen Zeitstempel anzeigen

Um den aktuellen Zeitstempel auf deinem Linux-System anzuzeigen, kannst du verschiedene Befehle verwenden.

### date

Der Befehl date gibt den aktuellen Zeitstempel im Format YYYY-MM-DD HH:MM:SS aus.

$ date
2023-03-09 13:37:42

### timedatectl

Der Befehl timedatectl bietet detailliertere Informationen zum aktuellen Zeitstempel, einschließlich der Zeitzone und des NTP-Status.

$ timedatectl
      Local time: 2023-03-09 13:38:03 PST
      Universal time: 2023-03-09 21:38:03 UTC
      RTC time: 1652205083
      Time zone: America/Los_Angeles (PST, -0800)
      System clock synchronized: yes
      NTP service: active

### calendar

Der Befehl calendar zeigt den aktuellen Monat als Kalender an, einschließlich der Zeitstempel für jeden Tag.

$ calendar
Sun Mon Tue Wed Thu Fri Sat
    1    2    3    4    5    6    7
 8    9   10   11   12   13   14
15   16   17   18   19   20   21
22   23   24   25   26   27   28
29   30   31

Manuelle Zeitsynchronisierung

In bestimmten Situationen kann es notwendig sein, die Uhrzeit deines Linux-Systems manuell zu synchronisieren. Dies kann der Fall sein, wenn der NTP-Dienst (Network Time Protocol) nicht verfügbar ist oder wenn du die Uhrzeit aus einem bestimmten Grund manuell einstellen möchtest. Hier sind die Schritte zur manuellen Zeitsynchronisierung:

Verwendung des Befehls date

Mit dem Befehl date kannst du die aktuelle Uhrzeit anzeigen und manuell ändern.

  • Uhrzeit anzeigen: Führe date ohne Argumente aus, um die aktuelle Uhrzeit im Format "Tag Monat Zeit Jahr" anzuzeigen.
  • Uhrzeit manuell ändern: Verwende die Option -s gefolgt vom Datum und der Uhrzeit im Format "JJJJ-MM-TT HH:MM:SS" (z. B. date -s 2023-08-15 14:30:00).

Verwendung des Befehls hwclock

Der Befehl hwclock wird verwendet, um die Hardwareuhr des Systems zu lesen und einzustellen. Die Hardwareuhr ist eine batteriebetriebene Uhr auf dem Motherboard, die die Zeit auch bei ausgeschaltetem System speichert.

  • Hardwareuhr auslesen: Führe hwclock --show aus, um die aktuelle Zeit auf der Hardwareuhr anzuzeigen.
  • Hardwareuhr einstellen: Verwende die Option --set gefolgt vom Datum und der Uhrzeit im Format "JJJJ-MM-TT HH:MM:SS" (z. B. hwclock --set --date="2023-08-15 14:30:00").

Vorsichtsmaßnahmen

  • Root-Berechtigungen erforderlich: Sowohl date als auch hwclock erfordern Root-Berechtigungen für ihre Ausführung.
  • Vorsicht beim Ändern der Hardwareuhr: Die Synchronisierung der Hardwareuhr mit der Systemzeit kann unter Umständen dazu führen, dass die Zeit bei einem Neustart zurückgesetzt wird. Wenn du dir nicht sicher bist, ob dies zutrifft, ändere die Hardwareuhr nicht.
  • Konsistenz der Zeitquellen: Stelle sicher, dass alle Zeitquellen, die du zur Synchronisierung verwendest, miteinander konsistent sind. Inkonsistente Zeitquellen können zu Zeitsprüngen und anderen Problemen führen.

Zeitsynchronisierung über NTP

NTP (Network Time Protocol) ist ein weit verbreitetes Protokoll, das zur Synchronisierung der Systemzeit zwischen Computern über ein Netzwerk verwendet wird. Es bietet eine hochpräzise Zeitsynchronisierung und eignet sich hervorragend für Anwendungen, die eine genaue Zeitangabe erfordern, wie z. B. wissenschaftliche Experimente oder Finanztransaktionen.

Funktionsweise von NTP

NTP verwendet eine hierarchische Struktur von Zeitservern, die als Stratum bezeichnet werden. Das oberste Stratum (Stratum 1) besteht aus Atomuhren oder anderen hochpräzisen Zeitquellen. Computer, die Zeit mit Stratum-1-Servern synchronisieren, werden als Stratum-2-Server bezeichnet. Dieser Prozess wird fortgesetzt, bis alle Computer im Netzwerk synchronisiert sind.

NTP-Clients und -Server einrichten

Um NTP zu verwenden, musst du sowohl einen NTP-Client als auch einen NTP-Server installieren. Unter Linux kannst du den NTP-Server ntpd verwenden. Die Installation erfolgt über den Paketmanager deiner Distribution:

sudo apt-get install ntp (Debian-basierte Distributionen)
sudo yum install ntp (RPM-basierte Distributionen)

Nach der Installation musst du eine NTP-Konfigurationsdatei erstellen. Diese befindet sich standardmäßig unter /etc/ntp.conf. Füge die folgenden Zeilen hinzu:

server ntp.ubuntu.com
driftfile /var/lib/ntp/ntp.drift

Diese Konfiguration weist deinen NTP-Client an, sich mit dem öffentlichen NTP-Server ntp.ubuntu.com zu synchronisieren und eine Driftdatei zu erstellen, die Zeitabweichungen aufzeichnet.

NTP-Konfiguration testen

Starte den NTP-Dienst neu, um die Konfiguration zu testen:

sudo systemctl restart ntp

Überprüfe anschließend den Zeitsynchronisierungsstatus mit dem Befehl ntpq:

ntpq -p

Du solltest eine Ausgabe sehen, die in etwa wie folgt aussieht:

remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
*10.38.1.129    10.38.1.219   2 u   56 1024  377 1.01350   0.00037  0.00000

Die Zeile, die mit einem Sternchen (*) beginnt, ist dein primärer NTP-Server. Die Spalte offset zeigt die Zeitabweichung zwischen deinem Computer und dem Server an. Ein Offset von weniger als einer Sekunde gilt als akzeptabel.

Fehlerbehebung bei NTP-Problemen

Wenn du Probleme mit der NTP-Zeitsynchronisierung hast, überprüfe Folgendes:

  • Stelle sicher, dass sowohl der NTP-Client als auch der NTP-Server ordnungsgemäß konfiguriert sind.
  • Überprüfe die Firewall-Einstellungen, um sicherzustellen, dass NTP-Verkehr zulässig ist.
  • Überprüfe die Netzwerkverbindung zu den NTP-Servern.
  • Ersetze gegebenenfalls die NTP-Server durch alternative Anbieter.

Zeitsynchronisierung über ein lokales Netzwerk

In einem lokalen Netzwerk kann die Zeitsynchronisierung über einen dedizierten Zeitserver erfolgen. Dies hat den Vorteil, dass alle Geräte im Netzwerk eine gemeinsame Zeitquelle haben und sich gegenseitig synchronisieren können.

Vorteile der Zeitsynchronisierung über ein lokales Netzwerk:

  • Verbesserte Genauigkeit durch eine gemeinsame Zeitquelle
  • Geringere Abhängigkeit von externen Internetquellen
  • Keine Notwendigkeit, jeden Computer einzeln zu konfigurieren

So konfigurierst du einen lokalen Zeitserver:

  1. NTP-Server installieren: Installiere den Network Time Protocol (NTP)-Server auf einem dedizierten Computer im Netzwerk. NTP ist ein weit verbreitetes Protokoll zur Zeitsynchronisierung.
  2. NTP-Server konfigurieren: Konfiguriere den NTP-Server so, dass er als Stratum-1-Zeitquelle verwendet wird. Dies bedeutet, dass der Server seine Zeit von einer hochpräzisen externen Quelle abruft.
  3. Clients konfigurieren: Konfiguriere alle anderen Computer im Netzwerk so, dass sie den NTP-Server als Zeitquelle verwenden.

Produkte für die Zeitsynchronisierung über ein lokales Netzwerk:

Fehlerbehebung bei Problemen mit der Zeitsynchronisierung:

  • Überprüfe die NTP-Serverkonfiguration: Stelle sicher, dass der NTP-Server korrekt konfiguriert ist und als Stratum-1-Zeitquelle fungiert.
  • Überprüfe die Clientkonfiguration: Stelle sicher, dass alle Clients so konfiguriert sind, dass sie den NTP-Server verwenden.
  • Überprüfe die Firewall: Stelle sicher, dass die Firewall keine NTP-Pakete blockiert.
  • Überprüfe die Netzwerkverbindung: Stelle sicher, dass alle Geräte im Netzwerk miteinander kommunizieren können.

Zeitzone festlegen

Nachdem du die Uhrzeit auf deinem Linux-System synchronisiert hast, ist es wichtig, die richtige Zeitzone einzustellen, um sicherzustellen, dass Zeiten und Daten korrekt angezeigt werden.

Manuelle Einstellung der Zeitzone

Um die Zeitzone manuell einzustellen, führe die folgenden Schritte aus:

  1. Öffne ein Terminalfenster.
  2. Bearbeite die Datei /etc/localtime mit einem Texteditor wie nano oder vi.
  3. Lösche die aktuelle Zeitzoneneinstellung.
  4. Suche die gewünschte Zeitzone in der Datei /usr/share/zoneinfo und kopiere den entsprechenden Symlink-Pfad.
  5. Füge den Symlink-Pfad in die Datei /etc/localtime ein und speichere sie.
  6. Starte den Systemdienst systemd-timesyncd neu, um die Änderungen zu übernehmen.

Zeitzone über ein Dienstprogramm festlegen

Du kannst die Zeitzone auch über ein Dienstprogramm wie timedatectl festlegen:

sudo timedatectl set-timezone America/New_York

Zeitzone grafisch festlegen

In einigen Desktop-Umgebungen kannst du die Zeitzone über die Grafische Benutzeroberfläche (GUI) festlegen. Öffne dazu die Systemeinstellungen, gehe zum Abschnitt "Datum und Uhrzeit" und wähle die gewünschte Zeitzone aus.

Weitere Überlegungen

  • Zeitumstellungen: Beachte, dass einige Zeitzonen Zeitumstellungen während der Sommer- und Winterzeit haben. Du kannst timedatectl verwenden, um den automatischen Wechsel zwischen Sommer- und Winterzeit zu aktivieren.
  • Uhrzeit-Server: Wenn du die Zeit über einen NTP-Server synchronisierst, wird die Zeitzone automatisch von dem Server bezogen.

Zeitstempel zwischen Maschinen synchronisieren

Um die Zeitstempel zwischen mehreren Linux-Maschinen zu synchronisieren, kannst du verschiedene Ansätze verfolgen:

NTP-Server verwenden

Eine weit verbreitete Lösung ist die Verwendung eines Network Time Protocol (NTP)-Servers. NTP synchronisiert die Zeitstempel von Computern in einem Netzwerk automatisch mit einer präzisen Quelle wie einem Atomuhrserver im Internet.

Installiere auf jeder Maschine ein NTP-Client-Paket wie chrony oder ntpd. Konfiguriere den Client so, dass er sich mit einem öffentlichen NTP-Server wie pool.ntp.org verbindet. Beispielsweise kannst du folgende Befehle verwenden:

sudo apt-get install chrony
sudo nano /etc/chrony/chrony.conf

Füge der Datei folgende Zeilen hinzu:

server pool.ntp.org iburst
allow 192.168.0.0/24

Starte den NTP-Dienst neu:

sudo systemctl restart chrony

Eigener NTP-Server

Wenn du einen hohen Grad an Genauigkeit benötigst, kannst du einen eigenen NTP-Server einrichten. Dies erfordert zusätzliche Hardware und Konfiguration.

Zeitprotokoll verwenden

Einige Anwendungen verfügen über integrierte Zeitprotokolle, die es ihnen ermöglichen, ihre Zeitstempel automatisch zu synchronisieren. Beispielsweise unterstützt das Protokoll Network Time Security (NTS) sichere Zeitsynchronisierung zwischen vertrauenswürdigen Hosts.

Manuelle Synchronisierung

Wenn keine automatisierte Lösung möglich ist, kannst du die Zeitstempel manuell synchronisieren, indem du die folgenden Schritte auf jeder Maschine ausführst:

  1. Zeige den aktuellen Zeitstempel an: date
  2. Setze den Zeitstempel auf den gewünschten Wert: date -s "Datum Zeit" (z. B. date -s "2023-03-08 14:30:00")
  3. Stelle sicher, dass die Zeitzone korrekt eingestellt ist: timedatectl

Fehlerbehebung bei Problemen mit der Zeitsynchronisierung

Wenn du Probleme mit der Zeitsynchronisierung auf deinem Linux-System hast, gibt es einige Schritte, die du zur Fehlerbehebung unternehmen kannst:

Überprüfe die NTP-Konfiguration

Überprüfe zunächst, ob dein System so konfiguriert ist, dass die Zeitsynchronisierung über NTP erfolgt. Du kannst dies mit dem folgenden Befehl tun:

sudo systemctl status ntpd

Wenn NTP nicht ausgeführt wird, starte es mit dem folgenden Befehl:

sudo systemctl start ntpd

Überprüfe die Firewall

Stelle sicher, dass deine Firewall NTP-Verkehr zulässt. In den meisten Distributionen sind standardmäßig keine Firewall-Regeln vorhanden, die NTP blockieren, aber wenn du deine Firewall konfiguriert hast, musst du dies möglicherweise prüfen.

Überprüfe die Internetverbindung

NTP erfordert eine Internetverbindung, um die Zeit von einem externen Server abzurufen. Überprüfe, ob dein System über eine funktionierende Internetverbindung verfügt.

Überprüfe die Zeitzoneneinstellungen

Wenn die Zeit auf deinem System korrekt ist, sich aber die falsche Zeitzone anzeigt, musst du möglicherweise deine Zeitzoneneinstellungen anpassen. Du kannst dies mit dem folgenden Befehl tun:

sudo timedatectl set-timezone <Zeitzone>

Ersetze <Zeitzone> durch die gewünschte Zeitzone.

Überprüfe die CMOS-Batterie

Wenn dein Computer längere Zeit vom Stromnetz getrennt war, ist möglicherweise die CMOS-Batterie leer. Dies kann dazu führen, dass die Systemuhr zurückgesetzt wird, was zu Problemen mit der Zeitsynchronisierung führt.

Suche nach Protokolldateien

Wenn du Probleme bei der Zeitsynchronisierung hast, kannst du die Protokolldateien auf deinem System nach Hinweisen durchsuchen. Die Protokolldateien befinden sich normalerweise in /var/log/ und können mit dem Befehl grep durchsucht werden. Beispiel:

sudo grep ntp /var/log/*

Verwende ein Zeitjustage-Tool

Wenn du die Zeitsynchronisierung nicht selbst beheben kannst, kannst du ein Zeitjustage-Tool verwenden, das den Prozess automatisiert. Eines der beliebtesten Zeitjustage-Tools ist chrony.

Schreibe einen Kommentar