Невозможно синхронизировать время, используя NTP


21

Когда я пытаюсь синхронизировать время, используя NTP. Используя команду ниже

sudo ntpdate -b pool.ntp.org

Я получаю эту ошибку, говоря, что используется NTP-сокет . Как это исправить?

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

Ответы:


30

сокет 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

Ubuntu поставляет openntpd, а не xnptd по умолчанию? ntpqиз xntpd.
Восстановить Монику - М. Шредер

@ MartinSchröder Ты прав! :) Редактирую сейчас. Спасибо.
gertvdijk

Исправление: ntpq из эталонной реализации ntp. В 90-х и начале 00-х он назывался xntpd, сейчас это просто ntpd или ntpv4.
dfc

Отличное объяснение - я никогда не знал, почему ntp не сделает больших скачков.
Джереми Хайек

+1 Я включил ntpd и ожидал, что он исправит мое время (которое было 2 минуты), как доказательство того, что оно работает. Но, конечно, он этого не сделает, потому что «не будет делать больших шагов вперед или назад». Спасибо за объяснение
Мэтт Фрейк

4

Если вы получаете сообщение об ошибке, 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



1
Зачем публиковать скриншоты только с текстом? Скопируйте и вставьте «просто работает». ;-)
gertvdijk

1
+1 для параметра -u , который позволяет избежать Hasle остановки NTPD
дан картер

1

Распространенная проблема состоит в том, что люди обнаруживают, что их компьютер не обновлялся при назначенном переходе на летнее время. После распознавания пользователь пытается скорректировать время с помощью sudo ntpdate -b pool.ntp.orgили подобным, только чтобы обнаружить, что NTP уже работает и просто не работает.

В общем случае NTP просто нельзя доверять, чтобы исправить ваши часы при переходах DST. Например, у NTP есть случаи, когда он откажется установить ваши часы . Вы получаете кучу хитов при поиске проблем NTP, поэтому очевидно, что ограничения NTP затронули многих людей. Я уверен, что есть веские причины для любого решения по проектированию NTP, но это не меняет того факта, что нельзя доверять всегда делать то, что ожидает средний пользователь.

Не забудьте проверить его, если это важно для вас для какой-то конкретной цели. Возможно, вам больше повезет с автоматическим переходом на летнее время, если вы вручную установите правильное время незадолго до перехода.

Это сложная проблема для среднего пользователя, с которой можно экспериментировать, поскольку летнее время происходит только два раза в год.


0

Если ntp deamen установлен и запущен, вы получите ту же ошибку, поскольку вы не можете настроить часы с помощью двух программ одновременно.

Если служба работает, она будет синхронизироваться с серверами, которые находятся в /etc/ntp.conf, поэтому время будет синхронизировано. Лучше перезапускать демон ntp каждую ночь, чтобы, если он как-то останавливался, начинался каждый день, установите его в crontab.

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

вы можете проверить детали синхронизации вашего сервера с помощью команды ниже

ntpq -p
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.