Как синхронизировать время с помощью NTP-сервера в Ubuntu
NTP (Network Time Protocol) — это протокол, который синхронизирует время вашей системы с онлайн-серверами NTP с точностью до нескольких миллисекунд. NTP прослушивает UDP-порт 123. В этой статье мы увидим, как вы можете синхронизировать время с помощью NTP-сервера в Ubuntu 18.04, и то же самое должно работать и на Ubuntu 16.04.
Системное время и аппаратное время могут расходиться из-за небольших несоответствий в тактовых частотах. Со временем эти отклонения накапливаются, что приводит к значительной разнице во времени, что может вызвать проблемы с такими инструментами, как cron и make, которые проверяют временные метки в файлах.
Как установить NTP-сервер
Чтобы установить NTP-сервер в вашей системе Ubuntu, откройте терминал и выполните следующую команду:
apt-get install ntp
Чтобы убедиться, что установка прошла гладко, запустите
dpkg -l | grep "ntp"
Вывод
ii ntp 1:4.2.8p4+dfsg-3ubuntu5.8 amd64 Network Time Protocol daemon and utility programs
После этого обновите систему, используя команду ниже
apt-get update
После успешного обновления системы проверьте, работает ли NTP, используя команду ниже
systemctl status ntp
Чтобы убедиться, что NTP работает должным образом, выполните команду ниже
ntpq -p
Эта команда запрашивает и отображает пулы серверов NTP, к которым подключен ntpd.
Вывод
Как принудительно обновить часы с помощью ntp
Иногда вы можете встретить систему без часов реального времени с батарейным питанием, и синхронизация времени становится проблемой. В этом случае вам может потребоваться принудительное обновление часов, чтобы ваше системное время было синхронным без каких-либо задержек. Вместо запуска ntpdate
устаревшей команды выполните приведенные ниже команды.
Сначала остановите службу NTP
systemctl stop ntp
Выполните команду ниже
ntpd -gq
Вывод
Эта -gq
опция указывает демону NTP исправить время независимо от перекоса (g) и немедленно выйти (q).
Наконец, запустите службу NTP
systemctl start ntp
Использование timedatectl и timesyncd
Использование ntpdate было прекращено в более ранних версиях Ubuntu в пользу timedatectl. Чтобы проверить статус времени, запустите
timedatectl
Вывод
root@ip-172-31-41-251:/home/ubuntu# timedatectl status
Local time: Mon 2018-04-09 18:59:18 UTC
Universal time: Mon 2018-04-09 18:59:18 UTC
RTC time: Mon 2018-04-09 18:59:17
Time zone: Etc/UTC (UTC, +0000)
Network time on: yes
NTP synchronized: yes
RTC in local TZ: no
Сервер имен, используемый для выборки времени для timedatectl и timesyncd, находится в /etc/systemd/timesyncd.conf
Дополнительные файлы конфигурации можно найти в /etc/systemd/timesynd.conf.d
Другой метод, который вы можете использовать для немедленной установки системного времени, — это использование sntp, как показано ниже.
sntp -s 24.56.178.140
Адрес после флага -s представляет NTP-сервер. Не стесняйтесь использовать любой адрес сервера NTP.
Наконец, вы также можете игнорировать порог паники, который по умолчанию составляет 1000 секунд. Это можно сделать следующими способами:
- редактирование
/etc/default/ntp
и обеспечение наличия опции -g. - редактирование
/etc/ntp.conf
и размещениеtinker panic 0
наверху
После внесения изменений в файлы конфигурации убедитесь, что вы перезагрузили службу ntp.
systemctl restart ntp
Чтобы получить дополнительную информацию о серверах времени NTP, посетите сайт NTP . В этой статье мы увидели, как вы можете установить и синхронизировать время с помощью NTP-сервера в системах Ubuntu, чтобы ваше системное время оставалось точным. Спасибо за ваше время. Не стесняйтесь опробовать команды и оставлять отзывы.