由于某种原因,我的系统上的时间不正确。
我需要运行更新,但似乎无法做到
这一点,这就是错误。
ntpdate pool.ntp.org
31 Aug 12:31:59 ntpdate[3108]: the NTP socket is in use, exiting
我刚刚重新启动,我不知道发生了什么事in use
。
答案1
它正在使用中,因为该ntp
服务可能正在运行。您没有提到您正在使用哪个 Linux,因此这假设您已经service
安装了(您正在运行 System V 系统):
$ sudo ntpdate pool.ntp.org
31 Aug 19:05:55 ntpdate[8911]: the NTP socket is in use, exiting
$ sudo service ntp stop
[ ok ] Stopping NTP server: ntpd.
$ sudo ntpdate pool.ntp.org
31 Aug 19:07:11 ntpdate[10355]: adjust time server 46.29.176.115 offset -0.002893 sec
$ sudo service ntp start
答案2
如果要ntpdate
在ntp
守护进程已启动并运行的情况下执行,请使用以下命令:
# ntpdate -u pool.ntp.org
并且它将使用不同的端口。
答案3
简单的一行代码即可同步你的时钟:
ntpdate -u ptbtime1.ptb.de && hwclock -w
答案4
防火墙可能阻止了 123 端口这会导致 ntp 服务器永远看不到时间服务器。
就我而言,我的 ISP(互联网服务提供商)正在阻止端口。
123 端口扫描也没有检测到堵塞。
确凿的证据是我暂时拥有两个独立的互联网源。在 Linux 中,如果我ntpq -p
(反复)运行连接的第一个互联网源,则不会有任何更新,但使用另一个源时,我会获得更新!
正如@Jens A. Koch 所说,ntpdate -u <server name>
确实可以解决这个问题,但是,只是暂时的 (没有双关语的意思),并不能长期解决时间问题。
随着时间的推移,系统时钟和硬件时钟都会发生偏移。此外,在我的情况下,双启动 linux/windows 会导致硬件时钟进一步混乱(几个小时)。
因此,您必须打开 UDP 端口 123 才能维护您的系统时钟。
而不是使用-u
,您也可以这样做,我认为使用端口 123(而不是非“特权”端口):
service ntp stop
,然后
ntpdate <server url>
(不带 -u)最后
service ntp start
。
这似乎可以绕过端口阻塞问题,至少可以设置一次时钟。如果-u
有效,但无效,那么这很可能表明端口被阻塞,或者服务器没有响应,...
另一个问题我必须解决的问题是,对于我来说,Debian 默认/etc/ntp.conf
配置包含 4 行到池的内容:debian.pool.ntp.org
。这些服务器都不起作用。我收到以下错误消息:
解析 debian.pool.ntp.org 时出错:没有与
主机名关联的地址(-5) 3 月 24 日 04:49:27 ntpdate[15115]:找不到主机
debian.pool.ntp.org:没有与主机名关联的地址(-5) 3 月 24 日
04:49:27 ntpdate[15115]:没有可使用的服务器,正在退出
我不得不将服务器更改为us.pool.ntp.org
。