我有一个 GPS 连接到我的系统,如果我将系统时间更改为比 GPS 时间提前/落后不到 4 小时,请ntpd
确保更新系统时间以匹配 GPS 时间。但是,如果该偏移量超过 4 小时,则不会进行更新。
我确保ntpd
使用该-g
选项运行,但它仍然不起作用,除非我使用普通的 ntp 服务器,例如server 0.debian.pool.ntp.org iburst
在/etc/ntp.conf 中。但是,让我们假设所讨论的系统在正常运行期间无法访问 Internet。
该文件中的其他相关设置是:
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
Run Code Online (Sandbox Code Playgroud)
(来源:gpsd
联机帮助页)
我什tinker panic 0
至添加到该配置中,只是为了确保,但仍然没有运气。
我决定采取解决方法......我使用了chrony。
以下是我在配置文件中/etc/chrony/chrony.conf
使用 GPS 作为参考时钟的内容(来源):
refclock SHM 0
Run Code Online (Sandbox Code Playgroud)
然后,为了真正chrony
进行大的偏移调整,而不是正常的渐进调整,我将其添加到同一个配置文件中:
makestep 1000 -1
Run Code Online (Sandbox Code Playgroud)
这意味着当硬件时钟关闭至少 1000 秒时,将发生步长调整。-1
意味着尝试尽可能多的次数来匹配参考时钟。
我保留了 Debian Wheezy 提供的其他设置不变。