ubuntuusers.deWikiSystemzeit

Systemzeit

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

Dieser Artikel ist größtenteils für alle Ubuntu-Versionen gültig.

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

Unter Linux muss man prinzipiell zwischen zwei Uhren unterscheiden:

  • Software-Uhr: das ist die Zeit innerhalb des Linux-Kernels. Sie ist für alle Benutzer und das Betriebssystem selbst von Bedeutung und definiert im laufenden Betrieb die für alle Programme gültige Systemzeit. Sie wird auch manchmal als Betriebssystem-Uhr oder System-Uhr bezeichnet.

  • Hardware-Uhr: diese Uhr (auch Echtzeituhr, batteriegepufferte Uhr, real time clock (RTC), BIOS clock oder CMOS clock genannt) ist eine Uhr, die unabhängig von allen anderen Komponenten läuft, selbst wenn der Computer heruntergefahren wurde. Im ausgeschalteten Zustand läuft sie weiter und wird beim Systemstart zum Abgleich der Software-Uhr verwendet.

Konfiguration

Zeitzone

Normalerweise setzt man die Zeitzone während der Installation oder ändert sie mit einem Rechtsklick auf die Anzeige der Uhr im Desktop-Panel. Sollte das einmal nicht klappen oder administriert man einen Server ohne grafische Oberfläche, so kann man mit folgendem Befehl ohne zusätzliche Parameter im Terminal [1] die lokale Zeitzone in einem einfachen textbasierten Dialog neu setzen:

sudo tzselect 

Ubuntu-Versionen vor 7.10 Gutsy Gibbon verwendeten stattdessen den Befehl:

sudo tzconfig 

Alternativ kann man auch folgenden Befehl nutzen (alle Ubuntu-Versionen):

sudo dpkg-reconfigure tzdata 

Die Einstellung der Zeitzone ist wichtig, um die Systemzeit korrekt in die reale Lokalzeit umzurechnen. Sie hilft auch, die Umstellung auf die Sommerzeit automatisch vorzunehmen.

Wiki/Icons/time.png

Systemzeit

Die Systemzeit lässt sich mit folgendem Befehl im Terminal [1] anzeigen:

date 

Mit Hilfe des Network Time Protocols (NTP) {de} kann man einen Zeitserver im Internet abfragen und die Systemzeit entsprechend manuell anpassen:

sudo ntpdate -u ntp.ubuntu.com 

Alternative Zeitserver sind in dieser Tabelle zu finden.

Hardware-Uhr

Das Programm zum Stellen der Hardware-Uhr lässt sich im Terminal [1] folgendermaßen aufrufen:

sudo hwclock 

Parameter Beschreibung
--show Zeigt den Stand der Hardware-Uhr in lokaler Zeitzone (auch wenn die Hardware-Uhr nach UTC läuft)
--set --date="9/22/96 16:45:05" Stelle die Hardware-Uhr auf den 22.9.1996 16:45:05 Lokalzeit
--hctosys Stellt die Systemzeit nach der Hardware-Uhr.
--systohc Stellt die Hardware-Uhr nach der momentanen Systemzeit.

Zeitsynchronisation (NTP)

./gnome_ntp.png

GNOME

Wer auf eine exakte Systemzeit angewiesen ist, kann sich nicht allein auf Hardware- und Software-Uhr verlassen, da diese nicht mit der nötigen Genauigkeit arbeiten. Die Standardlösung ist der NTP-Systemdienst, der regelmäßig die Uhrzeit automatisch mit einem Zeitserver im Internet abgleicht. Dazu installiert [3] man aus den Quellen folgendes Paket:

  • ntp

Die Konfiguration kann man unter GNOME mit einem Rechtsklick auf die Uhr im Panel und dann "Datum und Uhrzeit anpassen" vornehmen. Ebenso kann man direkt die Konfigurationsdatei /etc/ntp.conf mit einem Editor und Root-Rechten [2] anpassen und Zeitserver der eigenen Wahl eintragen.

Hinweis:

Ab Ubuntu 8.10 Intrepid Ibex kann die grafische Konfiguration nur noch via System > Systemverwaltung > Datum und Uhrzeit aufrufen.

Es empfiehlt sich, mehrere Zeitserver anzugeben. NTP sucht sich dabei automatisch den genauesten Server heraus und richtet sich nach ihm. Der genaueste Server (Stratum 1) ist der, der sich hierarchisch am nächsten an der Originalzeitquelle (Stratum 0) befindet. Originalzeitquellen (Stratum 0) sollten in der Regel nicht selbst direkt abgefragt werden.

Hier ein paar Vorschläge sinnvoller Zeitserver:

Zeitserver
ServerBeschreibung
ptbtime1.ptb.de Physikalisch-Technische Bundesanstalt (Braunschweig)
ptbtime2.ptb.de wie oben, alternativer Server
ptbtime3.ptb.de wie oben, alternativer Server
time-a.nist.gov National Institute of Standards and Technology (USA)
time-b.nist.gov wie oben, alternativer Server
pool.ntp.org wählt bei jedem Neustart per Zufall einen von etwa 1700 empfohlenen Zeitservern aus
de.pool.ntp.org wie oben, wählt aber nur deutsche Zeitserver aus
europe.pool.ntp.org wie oben, wählt aber nur europäische Zeitserver aus
ntp.ubuntu.com Zeitserver von Ubuntu

Hinweis:

Mittels samba ist es möglich das Windows Clients ihre Zeit mit dem Server Syncronisieren können, siehe: Samba Server/smb.conf

./Xfce_ntp.png

Xfce

Unter Xfce erreicht man die Konfiguration über das Menü:

  • "Applications -> System -> Datum und Uhrzeit"

Als Zeitserver sollte man mindestens einen Zeitserver aus der Liste auswählen. Es empfiehlt sich, mehrere Zeitserver anzugeben.

Probleme und Lösungen

Abweichung zu Zeitservern anzeigen

Will man herausfinden, um wie weit die Systemzeit von den angegebenen Zeitservern abweicht ("offset"), kann einer der beiden folgenden Befehle im Terminal [1] ausgeführt werden:

# Offset zu jedem einzelnen Zeitserver (in ms)
ntpq -p
# für NTP relevanter Offset (in s)
# nach einem Neustart des NTP-Servers kann einige Zeit vergehen, bis hier ein Wert steht
ntpdc -c loopinfo 

Hierbei ist allerdings zu beachten, dass die Systemzeit außer bei sehr großen Abweichungen "fließend" bzw. "schleichend" angepasst wird. Das heißt, dass die Systemzeit minimal langsamer oder schneller läuft, als sie eigentlich laufen müsste. Dadurch geht die Synchronisation nur langsam vonstatten, aber es treten keine Fehler durch Zeitsprünge auf. Bei einem Herunterfahren des Systems wird hingegen die Uhrzeit der Hardware-Uhr mit der vollen Abweichung überschrieben.

NTP korrigiert nicht die Rechner-Uhrzeit

Klemmt es beim NTP-Dienst (z. B. unsinnige Ausgabe bei ntpq -p bzw. ntpdc -c loopinfo), so hilft ggf. der Befehl [1]

sudo /etc/init.d/ntp restart 

zum Neustarten des Dienstes. Eine weitere Problemquelle sind zu große Abweichungen zwischen lokaler und Internet-Zeit. Dann wird zuerst der NTP-Dienst beendet:

sudo /etc/init.d/ntp stop 

Nun setzt man die Zeit manuell:

sudo ntpdate -u ntp.ubuntu.com 

Zum Schluss wird der NTP-Dienst wieder gestartet:

sudo /etc/init.d/ntp start 

Ganz vorsichtige Naturen starten den Rechner nach dieser Prozedur neu, da der auftretende "Zeitsprung" unvorhersehbare Konsequenzen haben kann.

Falsche Uhrzeit bei Windows-/Linux-Parallelinstallation

Das System muss neben der Zeitzone auch wissen, wie die Hardware-Uhr konfiguriert ist. Unter UNIX läuft sie standardmäßig nach koordinierter Weltzeit (UTC) {de} , während unter DOS/Windows die Hardware-Uhr nach lokaler Zeit gestellt wird. Dadurch geht in Windows die Zeit um eine (Winter-) bzw. zwei (Sommerzeit) Stunden nach, wenn man sie unter Linux korrekt stellt. Es empfiehlt sich daher, beide Systeme auf die selbe Methode einzustellen. Zumindest Ubuntu 9.04 (Jaunty Jackalope) konfiguriert sich bei der Parallel-Installation ("Dual Boot") zu einer vorhandenen Windows-Installation ebenfalls auf eine Hardware-Uhr mit lokaler Zeit.

Windows auf UTC umstellen

Windows kann man über die Systemregistrierung auf UTC umstellen bzw. mit UTC betreiben. Dazu legt man mit dem Windows-Editor eine Datei namens utc.reg an und fügt diesen Inhalt:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation]
"RealTimeIsUniversal"=dword:00000001

ein. Wichtig sind zwei Leerzeilen am Ende der Datei! Danach speichert man die Datei ab und führt sie als Administrator mit einem Doppelklick aus. Die Zeit sollte sofort stimmen.

Linux auf lokale Zeit umstellen

Alternativ kann man Linux auf lokale Zeit umstellen. Dazu bearbeitet man die Konfigurationsdatei /etc/default/rcS mit einem Editor [2] und Root-Rechten und ändert den Abschnitt:

# Set UTC=yes if your system clock is set to UTC (GMT), and UTC=no if not.
UTC=no

entsprechend.

Diese Revision wurde am 28. November 2011 um 01:01 Uhr von aasche erstellt.
Dieser Seite wurden folgende Begriffe zugeordnet: Hardware, System

Passwort vergessen?