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

Путем нажатия на "System settings-> Time & Date-> Automatically from the Internet" я могу синхронизировать время из Интернета.

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

41
задан 26 June 2015 в 01:26

7 ответов

Это делается путем синхронизации с инструментом 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 списки могут быть созданы здесь

37
ответ дан 23 November 2019 в 00:12

Для тех из вас, у кого синхронизация времени 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

14
ответ дан 23 November 2019 в 00:12

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

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

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


Обновление : в последних версиях Ubuntu (например, 16.04) ntpdate заменен на timedatectl ], который синхронизируется один раз при загрузке, а также при подключении к сети, но не продолжает работать в другое время. См. https://help.ubuntu.com/lts/serverguide/NTP.html для получения дополнительной информации.

21
ответ дан 23 November 2019 в 00:12

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

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

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

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

2
ответ дан 23 November 2019 в 00:12

См .: https://help.ubuntu.com/community/UbuntuTime

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

ntpdate ntp.ubuntu.com
1
ответ дан 23 November 2019 в 00:12

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

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

$ sudo ntpdate-debian

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

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

ntpdate-debian идентичен ntpdate (8) , за исключением того, что он использует конфигурация в / etc / default / ntpdate по умолчанию. ntpdate устанавливает локальную дату и время, опрашивая серверы протокола сетевого времени (NTP).

1
ответ дан 23 November 2019 в 00:12

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

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

Смотрите https://chrony.tuxfamily.org/ для получения более подробной информации.

1
ответ дан 23 November 2019 в 00:12

Другие вопросы по тегам:

Похожие вопросы: