Как Ubuntu синхронизирует время без ntp?

36

Нажимая «Системные настройки - > Time & amp; Date - > Автоматически из Интернета», я могу синхронизировать время из Интернета.

Однако я обнаружил, что у меня нет демона ntpd (он даже не установлен). Итак, как работает синхронизация?

    
задан n3v3rm03 26.06.2015 в 08:15
источник

7 ответов

36

Это выполняется путем синхронизации с инструментом ntpdate .

man ntpdate

NAME
       ntpdate - set the date and time via NTP

ntpdate sets the local date and time by polling the Network Time Proto‐
       col (NTP) server(s) given as the server arguments to determine the cor‐
       rect time. It must be run as root on the local host (unless the  option
       -q  is used). A number of samples are obtained from each of the servers
       specified and a subset of the NTP clock filter and selection algorithms
       are  applied  to  select  the best of these. Note that the accuracy and
       reliability of ntpdate depends on the number of servers, the number  of
       polls each time it is run and the interval between runs.

       ntpdate  can  be run manually as necessary to set the host clock, or it
       can be run from the host startup script to set the clock at boot  time.
       This is useful in some cases to set the clock initially before starting
       the NTP daemon ntpd. It is also possible to run  ntpdate  from  a  cron
       script.  However,  it  is important to note that ntpdate with contrived
       cron scripts is no substitute for the NTP daemon, which uses  sophisti‐
       cated  algorithms to maximize accuracy and reliability while minimizing
       resource use. Finally, since ntpdate does not discipline the host clock
       frequency as does ntpd, the accuracy using ntpdate is limited.

Вы можете сделать это с помощью

sudo ntpdate TIME-SERVER

Списки TIME-SERVER могут быть основаны здесь

    
ответ дан Maythux 26.06.2015 в 08:23
источник
21

Ubuntu синхронизируется с утилитой ntpdate один раз при каждом подключении к сети (что обычно происходит при загрузке).

Эта утилита устанавливается по умолчанию, но работает только тогда, когда Ubuntu называет ее и не работает в фоновом режиме в качестве демона.

Установка пакета ntp устанавливает демон NTP. Демон ntp позволяет синхронизировать время во время работы системы.

Обновление : в последних версиях Ubuntu (например, 16.04) ntpdate заменяется на timedatectl , которая синхронизируется один раз при загрузке, а также при появлении сети, но не работает в другие времена. Подробнее см. Ссылка .

    
ответ дан thomasrutter 26.06.2015 в 08:24
8

Для тех из вас, у кого синхронизация времени 16.04 LTS, по-видимому, обрабатывается sytemd специально «timedatectl»

timedatectl status
Local time: Wed 2016-11-30 17:45:18 CST
Universal time: Wed 2016-11-30 23:45:18 UTC
RTC time: Sun 2016-12-04 06:50:39
Time zone: America/Chicago (CST, -0600)
Network time on: yes
NTP synchronized: yes
RTC in local TZ: no

Конфигурация

/etc/systemd/timesyncd.conf

Дополнительная информация здесь: Синхронизация времени с NTP И timedatectl

    
ответ дан MysticRyuujin 01.12.2016 в 00:53
2

Обратите также внимание на то, что вполне возможно, что для интерфейса, который не установлен, существует интерфейсный интерфейс.

Вы можете изменить настройки в интерфейсе интерфейса (GUI), который вы хотите, но если служба, которая фактически выполняет задачи, не установлена, ничего не произойдет.

Обратите внимание, однако, что я считаю, что «переключатель» действителен, потому что он сообщает, что он делает одноразовое обновление при загрузке EACH. (или не делать этого).

Если это не подключенная к сети система, или существует некоторая другая причина, из-за которой НЕ имеет время, установленное в соответствии со стандартным временем, я настоятельно рекомендую вам установить ntpd и правильно настроить и запустить его.

    
ответ дан sdfgsdfg 27.06.2015 в 08:02
1

Обратитесь к: Ссылка

Ubuntu поставляется с стандартным ntpdate и будет запускать его один раз во время загрузки, чтобы настроить свое время в соответствии с NTP-сервером Ubuntu. Тем не менее, часы системы могут значительно дрейфовать между перезагрузками, если время между перезагрузками велико. В этом случае имеет смысл корректировать время изредка. Самый простой способ сделать это - заставить cron запускать его каждый день.

ntpdate ntp.ubuntu.com
    
ответ дан Fadi 01.07.2015 в 12:18
1

По какой-то причине, 16.04, ответ Майтукса не работает сразу.

Но, взяв на себя инициативу оттуда, это сработало для меня.

$ sudo ntpdate-debian

Обратите внимание, что для этого требуется привилегия sudo .

Под капотом используется инструмент ntpdate , отличающийся только конфигурационным файлом.

ntpdate-debian is identical to ntpdate(8) except that it uses the configuration in /etc/default/ntpdate by default. ntpdate sets the local date and time by polling Network Time Protocol (NTP) servers.

    
ответ дан kmonsoor 13.10.2016 в 11:22
1

Хорошо, что более поздние выпуски Ubuntu часто делают это с использованием chrony, который является альтернативной реализацией ntp с некоторыми отличиями: -

  1. Некоторые из наиболее часто используемых функций ntp не реализованы.
  2. Он пытается хорошо справиться с ситуацией, когда у вас есть прерывистый доступ к сети. При подключении он синхронизирует местные часы и отслеживает, как быстро он дрейфует. Когда он отключен, он использует локальные часы, но настраивает время, чтобы позволить, как обычно дрейфует.

Подробнее см. Ссылка .

    
ответ дан Mark Phillips 24.03.2017 в 16:55