无法使用NTP同步时间

当我尝试使用NTP同步时间时。 使用以下命令

sudo ntpdate -b pool.ntp.org 

我得到这个错误说NTP套接字正在使用中 。 如何解决这个问题?

 18 Jan 05:53:49 ntpdate[21340]: the NTP socket is in use, exiting 

NTP套接字正在使用中,正在退出

表示您正在运行NTP守护程序,通常是通过ntp程序包运行的守护程序。 您不能有两个应用程序同时调整时钟。

  1. 首先停止当前运行的NTP守护程序:

     sudo service ntp stop 
  2. 运行ntpdate命令。

  3. 再次启动NTP守护程序:

     sudo service ntp start 

背景

NTP守护程序不会向前或向后移动大步,但对于非常平滑和小的过渡非常有用。 在它正常工作之前,首先使用ntpdate同步时间,因此。 您可以像这样查询守护程序的状态:

 ntpq -p remote refid st t when poll reach delay offset jitter ============================================================================== *chime1.surfnet. 194.171.167.130 2 u 59 64 7 3.159 -0.207 0.136 +chime2.surfnet. .GPS. 1 u 59 64 7 6.872 -0.592 0.091 [...] ns1.tudelft.nl .INIT. 16 u - 64 0 0.000 0.000 0.000 +ev001.tilaa.nl 193.67.79.202 2 u 55 64 7 4.038 -0.613 0.110 

如果您NTP socket in use Error NTP socket in use如下所示:

在此处输入图像描述

在那种情况下,只需运行

 $ sudo service ntp stop $ sudo ntpdate pool.ntp.org $ sudo service ntp start 

你会得到的

在此处输入图像描述

或者只是运行

sudo ntpdate -u pool.ntp.org

用ntpd deamon运行来更新

一个常见的问题是人们发现他们的计算机没有在指定的夏令时(夏令时)转换时更新。 一旦被识别,用户就会尝试使用sudo ntpdate -b pool.ntp.org或类似方法来纠正时间,但却发现NTP已经在运行且根本无效。

在一般情况下,NTP根本无法在DST转换时更正您的时钟。 例如, NTP有拒绝设置时钟的情况 。 在搜索NTP问题时会遇到大量的点击,所以很明显NTP的局限性已经影响了很多人。 我确信任何NTP设计决策都有充分的理由,但这并没有改变这样一个事实:不能信任它总能做到普通用户所期望的。

如果出于某些特定目的对您很重要,请务必检查它。 如果您在转换前不久手动设置正确的时间,那么自动DST转换可能会更幸运。

对于普通用户来说,这是一个难以实验的问题,因为DST每年只发生两次。

如果ntp deamen已安装并运行,您将得到相同的错误,因为您无法同时通过两个程序调整时钟。

如果服务正在运行,它将同步到/etc/ntp.conf中的服务器,因此时间将同步。 最好每晚重启ntp守护进程,这样如果它停止以某种方式每天开始,请在crontab中设置它。

 crontab -e @daily sudo service ntp restart >> /tmp/time.log 

您可以通过以下命令检查服务器同步的详细信息

 ntpq -p