1
январь
2026
23:56

Как настроить синхронизацию времени в antiX Runit: создание службы ntpd в Runit

1 январь 2026 23:56

В дистрибутиве antiX с системой инициализации службы Runit "из коробки" не синхронизируется время через сеть Интернет. В статье приведено решение, как настроить и запустить службу ntpd в runit для синхронизации времени.

Введение

Система runit является нестандартной для Linux. Она более легкая, чем systemd.

В отличие от SystemD, в Runit нет службы ntpd и нет команды timedatectl (см. статью про синхронизацию времени в systemd). С другой стороны, управление службами в runit более простое - не с помощью сложных Unit'ов, а при помощи конфигурационных файлов "run" и команды супервайзера "sv".

Решение

1) Установка утилиты ntp, которая в конце статьи станет службой ntpd

sudo apt update
sudo sudo apt install ntp

2) Создаем папку для настроек службы. В antiX используется папка /etc/sv

cd /etc/sv
sudo mkdir ntpd

3) Создаем командный файл run

cd /etc/sv/ntpd
sudo nano run

В файл для запуска службы "run" добавил следующий текст:

#!/bin/sh

/etc/sv/ntpd/run

exec /usr/sbin/ntpd -d -p /run/ntpd.pid -c /etc/ntp.conf

где -c /etc/ntp.conf - имя файла конфигурации.

3) Дал право выполнения (+x):

sudo chmod +x run

4) Создаем символьную ссылку в службах:

sudo ln -s /etc/sv/ntpd /etc/service/

5) Для журналов компоненты ntpsec создаем папку

cd /var/log
sudo mkdir runit
cd runit
sudo mkdir ntpsec

6) Редактируем файл /etc/ntp.conf (по умолчанию пустой).

sudo nano /etc/ntp.conf

Конфигурационный файл клиента ntp у меня следующий:

# General Configuration
pool 0.europe.pool.ntp.org iburst
pool 1.europe.pool.ntp.org iburst
pool 2.europe.pool.ntp.org iburst

Local Clock (Fallback)

server 127.127.1.0
fudge 127.127.1.0 stratum 10

File Locations

driftfile /var/lib/ntp/ntp.drift

Log file for monitoring [8].

logfile /var/log/ntp.log

--- Access Control ---

Deny all access by default, but allow localhost (127.0.0.1, ::1) [5, 8].

restrict default kod nomodify notrap nopeer noquery
restrict 127.0.0.1
restrict ::1

И сохранил его. Ctrl+S, Ctrl+X.

7) Создал символическую ссылку для запуска службы. Ссылка на каталог /etc/sv/ntpd в каталоге в /etc/service/:

sudo ln -s /etc/sv/ntpd /etc/service/
ls -ld /etc/service/ntpd

8) Выбор своего часового пояса

sudo dpkg-reconfigure tzdata

В результате выполнения команды выше была создана символическая ссылка. Проверка командой:

ls -l /etc/localtime

результат: "/etc/localtime -> /usr/share/zoneinfo/Europe/Moscow"

8) Запуск службы ntpd при помощи команды супервайзера sv

sudo sv start ntpd

9) Проверка состояния, и что делать, если служба не запустилась

sudo sv status ntpd
ps aux | grep ntpd
sudo kill -9 PID

где PID - номер процесса для /usr/sbin/ntpd -d -p /run/ntpd.pid -c /etc/ntp.conf

10) Повторный запуск службы ntpd при помощи супервайзера sv

sudo sv start ntpd

Вывод команды должен быть примерно следующий:

ok: run: ntpd: (pid 32041) 53s

Результат

В часах antiX отображается теперь не время UTC, а местное время (в данном случае - по Москве).