Zeitsynchronisation unter Linux verstehen

441
krm

Meine /etc/localtimeauf meinem Ubuntu gibt meine korrekte Zeitzone an - EAT was ist UTC +3. Der dateBefehl gibt die Zeit als 21:44:58 EAT an, was ungefähr die richtige Zeit ist (ich bin in dieser Frage nicht um die Genauigkeit der Sekunde besorgt).

Wenn ich dies jedoch tue sudo hwclock -r, gibt es meine Uhrzeit als 12:44:31 AM EAT an, was ungefähr drei Stunden vor der richtigen Zeit liegt. Ich gehe davon aus, dass die Hardware-Uhr davon ausgeht, dass der 21:44 in UTC ist.

Das Ausführen des Befehls ntpdate ntp.ubuntu.comhat keine Auswirkungen auf die Hardware-Uhr (es wird 21:44:23 zurückgegeben).

Wenn ich den Python-Interpreter anrufe und Folgendes mache:

import datetime print datetime.datetime.utcnow() 

Es gibt mir 18:44:36, was die korrekte UTC-Zeit ist (wie jetzt).

Ist es also so, dass das Betriebssystem die richtige Uhrzeit einhält, obwohl die Hardware-Uhr falsch ist? Da dies scheinbar gegen das Handbuch geht, kann ich die Hardware-Uhr sicher ändern, ohne andere Zeitkomponenten zu beeinträchtigen?

1

1 Antwort auf die Frage

0
Kyle Jones

Das Betriebssystem weiß, dass Ihre Hardware-Uhr auf Ortszeit und nicht auf UTC eingestellt ist. Dies ist ein konfigurierbarer Systemparameter. Linux-Tools, die Systemfunktionen für das Datums- / Zeitzonenmanagement verwenden, liefern die korrekte Zeit. hwclock -r vermutet, dass Ihre Hardware-Uhr auf UTC eingestellt ist, aber es ist falsch und addiert drei Stunden, wenn dies nicht der Fall ist.