Stellen Sie sicher, dass Ihr NTP-Client auch die Hardware-Uhr (über das BIOS) und nicht nur die Linux-Software-Uhr einstellt.
Sie können Ihre Hardware-Uhr mit dem hwclock
Programm (in /usr/sbin
oder /sbin
) überprüfen und mit dem date
Befehl mit der Software-Uhr vergleichen .
Langweilige Erklärung :
In Ihrem Computer befindet sich ein kleiner Chip, der als "Echtzeituhr" (RTC) bezeichnet wird. Diese Uhr läuft mit einer Batterie und zählt wie eine Armbanduhr die Zeit. Wenn der Computer eingeschaltet ist, wird die Uhr abgelesen, und so weiß Ihr Betriebssystem, um wie viel Uhr es ist, wenn es gestartet wird. Nach dem ersten Lesen muss das Betriebssystem jedoch nicht die Echtzeituhr verwenden - es kann einfach die Zeit (Sekunden, Stunden und was auch immer) von selbst zählen. Wann immer der Benutzer nach der Uhrzeit fragt, kann er einfach seine eigene Uhrzeit angeben (anstelle der Uhrzeit, die der RTC meldet).
Das knifflige bisschen kommt, wenn der RTC nicht die richtige Zeit hat. Wenn Sie versuchen, die Uhr zu korrigieren, ist es das Betriebssystem, das dies für Sie tut. Das Betriebssystem darf nur seine interne Software-Uhr aktualisieren. In diesem Fall wird die falsche Uhrzeit nach dem Neustart erneut von der RTC geladen. Ich erinnere mich noch an die DOS-Tage. Sie mussten ins BIOS gehen, um die Uhr zu ändern. Pfui.
Jedenfalls ist der letzte Nagel im Sarg folgendes: Die von der Echtzeituhr abgelesene Zeit ist nur eine Zahl. Und das Betriebssystem darf diese Nummer ändern. Es könnte beispielsweise erwünscht sein, 3.600.000 Millisekunden (1 Stunde) zu dieser Zahl hinzuzufügen, damit sich GMT + 1-Benutzer wohl fühlen. In anderen Fällen ist die Zeitzoneneinstellung etwas unübersichtlich.
Das Festlegen der Hardware-Uhr im Betriebssystem neigt dazu, dies zu beheben, da derselbe Filtervorgang durchlaufen wird. Selbst wenn Ihr Betriebssystem dem RTC 5 Minuten hinzufügt, zieht es auch 5 Minuten vor der Aktualisierung des RTC ab.
Viel Glück!