我的应用程序必须在时间同步的服务器上运行。为此,我安装了ntpd,并检查了ntpstat的返回值。看来从ntpstat获得零返回值需要花费很长时间,尤其是在重新启动后。为什么ntpd需要这么长时间才能同步,如何在重启后几秒钟使它发生?

最佳答案

是的,发现它-启动脚本调用ntpd.service,该文件等待ntpdate.service运行。
虽然ntpdate不是服务,但它是应用程序-它通过位于/usr/libexec/ntpdate-wrapper的漂亮包装脚本运行一次,该脚本检查条件,其中之一-如果有服务器,则在/etc/ntp/step-tickers中描述。如果是,则使用这些服务器调用ntpdate,该服务器由fedora安装程序默认设置为0.fedoratime.smth.ininternet,不适合封闭环境。

因此,有3种选择:
1.修改ntpdate包装器,他将首先查找ntp.conf 2.修改/etc/ntp/step-tickers以拥有自己的ntp服务器
3.修改ntpdate.service以不调用包装器,而仅在配置中添加/替换行的情况下调用命令:

[Service]
Type=oneshot
ExecStart=/usr/bin/ntpd -q -g -x
RemainAfterExit=yes

10-08 05:18