# systemd-timesyncd (Русский)

Ссылки по теме

- Time (Русский)
- Network Time Protocol daemon (Русский)
- OpenNTPD
- Chrony
- systemd-networkd (Русский)
- systemd (Русский)

Эта страница нуждается в сопроводителе

Статья не гарантирует актуальность информации. Помогите русскоязычному сообществу поддержкой подобных страниц. См. Команда переводчиков ArchWiki

systemd-timesyncd это служба, которая была добавлена для синхронизации системных часов по сети. Эта служба по сути реализует упрощенный клиент SNTP. В отличие сложных реализаций NTP, systemd-timesyncd представляет только клиентскую часть, ориентируясь на запрос времени из одного удаленного сервера и синхронизации локальных часов с ним. Подробнее смотрите список рассылки systemd (англ.)

## Установка

Служба systemd-timesyncd доступна с systemd >= 213. Для ее активации и запуска выполните:

    # timedatectl set-ntp true

Чтобы узнать текущее состояние службы, выполните `timedatectl status`:

    $ timedatectl status

          Local time: Sat 2015-11-14 22:20:38 MSK
      Universal time: Sat 2015-11-14 19:20:38 UTC
            RTC time: Sat 2015-11-14 19:20:38
           Time zone: Europe/Minsk (MSK, +0300)
     Network time on: yes
    NTP synchronized: yes
     RTC in local TZ: no

Совет: До systemd 216 systemd-timesyncd требуется запущенный systemd-networkd (без дополнительной настройки) для уведомлений о статусе сетевых событий (up/down). Хоть он теперь получает события из dhcpcd и NetworkManager, но все еще может потребоваться как зависимость от конфигурации сети или используемого инструмента управления сетью.

## Настройка

При запуске systemd-timesyncd будет читать файл конфигурации `/etc/systemd/timesyncd.conf`, который для systemd 217 выглядит так:

    /etc/systemd/timesyncd.conf

    [Time]
    #NTP=
    #FallbackNTP=0.arch.pool.ntp.org 1.arch.pool.ntp.org 2.arch.pool.ntp.org 3.arch.pool.ntp.org

Чтобы добавить сервера времени или изменить предложенные, необходимо раскомментировать соответствующую строку со списком их имен хостов или IP, разделяемых пробелами. Например, вы можете использовать любые серверы, предоставляемые NTP pool project или использовать стандартные для Arch (также предусмотренные NTP pool project):

    /etc/systemd/timesyncd.conf

    [Time]
    NTP=0.arch.pool.ntp.org 1.arch.pool.ntp.org 2.arch.pool.ntp.org 3.arch.pool.ntp.org
    FallbackNTP=0.pool.ntp.org 1.pool.ntp.org 0.fr.pool.ntp.org

Также NTP сервера могут быть предусмотрены в systemd-networkd конфигурации с опцией `NTP=` или динамически через DHCP сервер (с systemd 216).

Используемый сервер NTP будет определяться по следующим правилам:

- Приоритетно - с любого интерфейса NTP серверов, полученных из конфигурации `systemd-networkd.service(8)` или через DHCP.
- Сервера NTP, указанные в `/etc/systemd-timesyncd.conf` будут добавлены в список интерфейса после получения ответа от серверов в процессе соединения с ними.
- Если после выполнения действий выше информация о серверах NTP не будет получена, то будет использоваться имя хоста и IP адреса, указанные в `FallbackNTP=`.

Важно: При каждой синхронизации служба перезаписывает файл /var/lib/systemd/clock, путь к которому на данный момент захардкоден и не может быть изменен. В связи с этим могут возникнуть проблемы, если корневой раздел работает в режиме "только для чтения" или при попытки минимизации операций записи.

## Смотрите также

- Форум: systemd-timesyncd не синхронизирует время(англ.)
- Форум: Использование systemd-timesync вместо NTP(англ.)

Categories:

- Networking (Русский)
- Русский