我的应用程序必须在时间同步的服务器上运行。为此,我安装了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