在服务器引导过程中,我希望明确运行ntpdate
而不是依赖ntp
守护进程。但是,此时时钟可能会严重偏差,从而导致执行时出错sudo ntpdate address.of.ntp.server
。我注意到,在多次运行此命令后,它最终会起作用,可能是因为在同一日期积累了许多样本,但是我找不到此规范。我想要的是只取一个样本,强制ntpdate
接受响应,然后通过启动 ntp sudo service ntp start
。我该怎么做?
编辑:我按照建议尝试sudo ntpd -g -q
,但仍然出现以下错误/var/log/syslog
:
Sep 26 12:14:29 jd-0922-node1 ntpd[22239]: ntpd [email protected] Wed Oct 9 19:08:06 UTC 2013 (1)
Sep 26 12:14:29 jd-0922-node1 ntpd[22239]: proto: precision = 0.115 usec
Sep 26 12:14:29 jd-0922-node1 kernel: [173176.189773] type=1400 audit(1411758869.717:48): apparmor="DENIED" operation="open" profile="/usr/sbin/ntpd" name="/usr/local/sbin/" pid=22239 comm="ntpd" requested_mask="r" denied_mask="r" fsuid=0 ouid=0
Sep 26 12:14:29 jd-0922-node1 kernel: [173176.189779] type=1400 audit(1411758869.717:49): apparmor="DENIED" operation="open" profile="/usr/sbin/ntpd" name="/usr/local/bin/" pid=22239 comm="ntpd" requested_mask="r" denied_mask="r" fsuid=0 ouid=0
Sep 26 12:14:29 jd-0922-node1 ntpd[22239]: ntp_io: estimated max descriptors: 1024, initial socket boundary: 16
Sep 26 12:14:29 jd-0922-node1 ntpd[22239]: unable to bind to wildcard address 0.0.0.0 - another process may be running - EXITING
答案1
听起来你的时钟偏差超过了恐慌阈值。然而,这并不能解释为什么多次调用 ntpdate 可以解决问题。说实话,我想不出任何可以通过多次调用 ntpdate 来克服的错误。
无论如何,ntpdate 已被弃用。我认为最可能的解释是您的时钟超过了恐慌阈值。您需要在 ntpd 启动时为其提供 -g 选项。编辑“/etc/default/ntp”并确保存在以下行:
NTPD_OPTS='-g'
文档-g
:
-g Normally, ntpd exits with a message to the system log if
the offset exceeds the panic threshold, which is 1000 s by
default. This option allows the time to be set to any value
without restriction; however, this can happen only once. If the
threshold is exceeded after that, ntpd will exit with a message
to the sys‐ tem log. This option can be used with the -q and -x
options.
如果您列出使用 ntpdate 收到的实际错误消息,那么提出建议会更容易。您是否有可能看到有关 slew 而不是 skew 的内容?
更新:
您没有正确启动/停止 ntpd。使用 sudo 时无法绑定到地址的原因是 ntpd 已在运行。我并没有建议您使用说sudo ntpd -g -q
实话我根本没有提到 -q,我不知道您为什么不想连续运行 ntpd。使用一次性时钟校正并退出是个坏主意。我真的认为您需要评估为什么您认为这种一次性模式比连续运行 ntpd 更好。
无需进一步说明:
- 编辑
/etc/default/ntp
并确保它有NTPD_OPTS='-g'
- 重新启动ntp服务:
sudo service ntp restart
- 享受精准时间
我怀着应有的尊重和真诚的愿望说这些话,希望能帮到您:看来您是 Linux 管理方面的新手,对 ntpd 一点都不熟悉。因此,我强烈建议您重新考虑一下为什么您只希望 ntpd 设置一次时钟然后退出。这远非最佳实践。根据我的经验,如果我认为我需要做一些与最佳实践相反的事情,我会确保我的情况与世界其他地方截然不同。一旦您正确设置了 ntpd,它就会规范您的时钟,您永远不需要担心它。如果您进行一次性交易,您的时钟将慢慢偏离 UTC。