Ich habe ein GPS an mein System angeschlossen. Wenn ich die Systemzeit so ändere, ntpd
dass sie weniger als 4 Stunden vor / hinter der GPS-Zeit liegt, wird sichergestellt, dass die Systemzeit an die des GPS angepasst wird. Wenn dieser Versatz jedoch länger als 4 Stunden ist, findet keine Aktualisierung statt.
Ich habe sichergestellt, dass ntpd
die -g
Option ausgeführt wird, sie funktioniert jedoch immer noch nicht, es sei denn, ich verwende normale NTP-Server, z. B. server 0.debian.pool.ntp.org iburst
in /etc/ntp.conf . Nehmen wir jedoch an, dass das betreffende System während des normalen Betriebs keinen Internetzugang hat.
Die anderen relevanten Einstellungen in dieser Datei sind:
server 127.127.28.0 minpoll 4 maxpoll 4
fudge 127.127.28.0 time1 0.420 refid GPS
server 127.127.28.1 minpoll 4 maxpoll 4 prefer
fudge 127.127.28.1 refid GPS1
(Quelle: gpsd
Manpage)
Ich tinker panic 0
habe diese Konfiguration sogar hinzugefügt , nur um sicherzugehen, aber immer noch kein Glück.
Antworten:
Ich entschied mich für ein gehen Work-around ... Ich benutze chrony .
Folgendes habe ich in der Konfigurationsdatei
/etc/chrony/chrony.conf
, um das GPS als Referenzuhr ( Quelle ) zu verwenden:Um dann tatsächlich
chrony
große Offset-Anpassungen anstelle der normalen schrittweisen Anpassungen vornehmen zu können, habe ich dies derselben Konfigurationsdatei hinzugefügt:Dies bedeutet, dass die Schrittanpassung erfolgt, wenn die Hardware-Uhr um mindestens 1000 Sekunden ausgeschaltet ist.
-1
bedeutet, versuchen Sie so oft wie nötig, um mit der Referenzuhr übereinzustimmen.Ich habe die anderen Einstellungen intakt gelassen, wie von Debian Wheezy bereitgestellt.
quelle
Die Überprüfung des 4-Stunden-Limits ist in ntpd / refclock_shm.c (ntp-4.2.8p7) implementiert, und das Setzen des Werts '1' auf flag1 in /etc/ntp.conf scheint diese Überprüfung zu stoppen.
Ich verwende ntpd 4.2.8p3 auf einem RaspberryPi.
quelle
ntpd
möglicherweise 2012 ausgeführt wurde, klärt sich wahrscheinlich, woher das Limit stammt (+1).