Наши партнеры

UnixForum





Библиотека сайта rus-linux.net

Синхронизация времени по NTP в Linux

Оригинал: How to Synchronize Time with NTP in Linux
Автор: Matei Cezar
Дата публикации: 20 апреля 2018 года
Перевод: А. Кривошей
Дата перевода: декабрь 2018 г.

Network Time Protocol (NTP) - это протокол, используемый для автоматической синхронизации системных часов компьютера по сети. Машина может выставлять системные часы по Coordinated Universal Time (UTC), а не по местному времени.

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

В большинстве систем Linux команда ntpdate не устанавливается по умолчанию. Чтобы установить ее, выполните приведенную ниже команду.

$ sudo apt-get install ntpdate    [В Debian/Ubuntu]
$ sudo yum  install ntpdate       [В CentOS/RHEL]
$ sudo dnf install ntpdate        [В Fedora 22+]

Пример команды ntpdate:

$ sudo ntpdate 1.ro.pool.ntp.org

Проверка времени и даты в Linux

Чтобы просто запросить время сервера и не устанавливать часы, используя непривилегированный порт для отправки пакетов, чтобы обойти брандмауэры, выполните команду ntpdate со следующими флагами:

$ sudo ntpdate -qu 1.ro.pool.ntp.org

Отправка запроса NTP-серверу

Всегда старайтесь запрашивать и синхронизировать время с ближайшими NTP-серверами, доступными для вашей зоны. Список пулов серверов NTP можно найти по следующему адресу:

http://www.pool.ntp.org/en/

В новых дистрибутивах Linux, которые используют Systemd, вы также можете синхронизировать время через файл timesyncd.conf. Просто откройте файл для редактирования.

$ sudo nano /etc/systemd/timesyncd.conf

И добавьте или раскомментируйте следующие строки после оператора [Time], как показано ниже:

[Time]
NTP=0.ro.pool.ntp.org 1.ro.pool.ntp.org
FallbackNTP=ntp.ubuntu.com 0.arch.pool.ntp.org

Синхронизация времени с NTP-сервером

После редактирования файла введите команду timedatectl, чтобы активировать сборку клиента NTP в systemd.

$ sudo timedatectl set-ntp true 
$ timedatectl status

Проверка системного времени в Linux

После этого введите команду date для отображения системных часов.