и отключить ntpd
Есть вариант установить openntpd.
Но у openntpd есть недостаток, - у него код написан с плохо продуманным алгоритмом:
- Если сети на старте системы нет, будет фриз около минуты. Обходится опцией -S в /etc/sysconfig/ntpd - не синхронизировать на старте. Но тогда невозможно использовать -s - устранять разбежку более 180 секунд.
Если ни один ntpd не будет удовлетворять требованиям, можно написать костыль для ntpdate - service/init-файл: с условием через средства systemd или LSB-хидер, - синхронизировать до того как ляжет сеть. В системах на SysV это условие работает по-умолчанию и обеспечивается порядком start/kill сервисов.
Также в скрипт добавить условие:
- если статус выхода ntpdate ноль, то выполнить запись в RTC, иначе не выполнять.
Недостаток ntpdate:
долго (около 6.7 секунды) синхронизирует время
# /etc/net/scripts/ifdown-wireless wlan0
# ping mail.ru
ping: unknown host mail.ru
# /etc/net/scripts/ifup-wireless wlan0
# ping mail.ru
PING mail.ru (94.100.180.199) 56(84) bytes of data.
64 bytes from ms.mail.ru (94.100.180.199): icmp_req=1 ttl=53 time=69.8 ms
^C
--- mail.ru ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 69.899/69.899/69.899/0.000 ms
# time -f %e ntpdate by.pool.ntp.org
31 Dec 08:04:36 ntpdate[17420]: adjust time server 194.158.196.172 offset -0.000024 sec
6.71
Достоинства ntpdate:
- если сеть отсутствует, не делает попыток повторной синхронизации
# /etc/net/scripts/ifdown-wireless wlan0
# time -f %e ntpdate by.pool.ntp.org
Exiting, name server cannot be used: Temporary failure in name resolution (-3)31 Dec 08:05:28 ntpdate[17470]: name server cannot be used: Temporary failure in name resolution (-3)
Command exited with non-zero status 1
0.00
- устраняет огромную рассинхронизацию системного времени
# date
Пн дек 31 08:15:38 +03 2018
# date +%T -s "14:14:00"
14:14:00
# date
Пн дек 31 14:14:04 +03 2018
# ntpdate by.pool.ntp.org
31 Dec 08:16:20 ntpdate[17663]: step time server 194.158.196.172 offset -21480.279196 sec