There are at least 4 NTP clients available on ArchLinux:
We'll see how to configure systemd-timesyncd , the most handy of the four.
Configuration
Create a directory /etc/systemd/timesyncd.conf.d/
to override the default /etc/systemd/timesyncd.conf
:
1 $ sudo mkdir /etc/systemd/timesyncd.conf.d/
Create our custom configuration file:
1 $ sudoedit /etc/systemd/timesyncd.conf.d/servers.conf
Optionally RTFM about the config format:
Add the ntp servers:
1 2 3 [Time] NTP =0 .fr.pool.ntp.org 1 .fr.pool.ntp.org 2 .fr.pool.ntp.org 3 .fr.pool.ntp.orgFallbackNTP =0 .arch.pool.ntp.org 1 .arch.pool.ntp.org 2 .arch.pool.ntp.org 3 .arch.pool.ntp.org
Restart the time sync service to take the new config into effect:
1 $ sudo systemctl restart systemd-timesyncd.service
To verify your configuration was taken into account:
1 2 3 4 5 6 7 8 9 10 11 12 $ timedatectl show-timesync --all LinkNTPServers= SystemNTPServers=0.fr.pool.ntp.org 1.fr.pool.ntp.org 2.fr.pool.ntp.org 3.fr.pool.ntp.org FallbackNTPServers=0.arch.pool.ntp.org 1.arch.pool.ntp.org 2.arch.pool.ntp.org 3.arch.pool.ntp.org ServerName=0.fr.pool.ntp.org ServerAddress=37.59.58.17 RootDistanceMaxUSec=5s PollIntervalMinUSec=32s PollIntervalMaxUSec=34min 8s PollIntervalUSec=1min 4s NTPMessage={ Leap=0, Version=4, Mode=4, Stratum=2, Precision=-21, RootDelay=12.069ms, RootDispersion=28.411ms, Reference=AAE7FA9E, OriginateTimestamp=Wed 2020-04-01 12:18:22 CEST, ReceiveTimestamp=Wed 2020-04-01 12:18:22 CEST, TransmitTimestamp=Wed 2020-04-01 12:18:22 CEST, DestinationTimestamp=Wed 2020-04-01 12:18:22 CEST, Ignored=no PacketCount=1, Jitter=0 } Frequency=2190623
Usage
To enable and start the service:
1 $ sudo timedatectl set-ntp true
At anytime you can check if ntp is active the time, etc.
1 2 3 4 5 6 7 8 $ timedatectl status Local time: mer. 2020-04-01 12:21:08 CEST Universal time: mer. 2020-04-01 10:21:08 UTC RTC time: mer. 2020-04-01 10:21:08 Time zone: Europe/Paris (CEST, +0200) System clock synchronized: yes NTP service: active RTC in local TZ: no
You can also have more verbose information about ntp:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 $ timedatectl timesync-status Server: 37.59.58.17 (0.fr.pool.ntp.org) Poll interval: 4min 16s (min: 32s; max 34min 8s) Leap: normal Version: 4 Stratum: 2 Reference: AAE7FA9E Precision: 1us (-21) Root distance: 37.345ms (max: 5s) Offset: +82us Delay: 16.948ms Jitter: 301us Packet count: 3 Frequency: +36,922ppm
If changing the time zone is required:
1 2 3 4 $ timedatectl list-timezones | grep Paris Europe/Paris $ timedatectl set-timezone Europe/Paris