NTP, also known as a “Network Time Protocol,” is an Internet time protocol used to sync computer time with network time. NTP is built on UDP and uses port 123 for communication, while NTP clients use port 1023. NTP can be installed on any operating system and uses time from an external source to maintain time within its local internal clock. Generally, NTP is required for many distributed applications where time synchronization is a must between all nodes.
In this post, we will show you how to install NTP on Arch Linux.
Step 1 – Configure Repository
By default, the default repository is outdated in Arch Linux, so you will need to modify the default mirror list. You can do it by editing the mirrorlist configuration file:
nano /etc/pacman.d/mirrorlist
Remove all lines and add the following lines:
## Score: 0.7, United States Server = http://mirror.us.leaseweb.net/archlinux/$repo/os/$arch ## Score: 0.8, United States Server = http://lug.mtu.edu/archlinux/$repo/os/$arch Server = http://mirror.nl.leaseweb.net/archlinux/$repo/os/$arch ## Score: 0.9, United Kingdom Server = http://mirror.bytemark.co.uk/archlinux/$repo/os/$arch ## Score: 1.5, United Kingdom Server = http://mirrors.manchester.m247.com/arch-linux/$repo/os/$arch Server = http://archlinux.dcc.fc.up.pt/$repo/os/$arch ## Score: 6.6, United States Server = http://mirror.cs.pitt.edu/archlinux/$repo/os/$arch ## Score: 6.7, United States Server = http://mirrors.acm.wpi.edu/archlinux/$repo/os/$arch ## Score: 6.8, United States Server = http://ftp.osuosl.org/pub/archlinux/$repo/os/$arch ## Score: 7.1, India Server = http://mirror.cse.iitk.ac.in/archlinux/$repo/os/$arch ## Score: 10.1, United States Server = http://mirrors.xmission.com/archlinux/$repo/os/$arch
Save and close the file, then update all the package indexes with the following command:
pacman -Syu
Step 2 – Basic Time Commands
You can use the date command to view the data and time on your server.
date
You will get the following output.
Wed Jan 4 11:05:42 AM UTC 2023
As you can see, the timezone is set to UTC. To list all time zones, run the following command.
timedatectl list-timezones
You can set the timezone to America/New_York using the following command.
timedatectl set-timezone America/New_York
You can also verify time synchronization on your server using the following command.
timedatectl
You should see that time synchronization is active on your server.
Local time: Wed 2023-01-04 06:07:10 EST Universal time: Wed 2023-01-04 11:07:10 UTC RTC time: Wed 2023-01-04 11:07:11 Time zone: America/New_York (EST, -0500) System clock synchronized: yes NTP service: active RTC in local TZ: no
Before installing NTP, you will need to disable time synchronization. You can disable it with the following command.
timedatectl set-ntp no
You can verify it with the following command.
timedatectl
Output.
Local time: Wed 2023-01-04 06:07:52 EST Universal time: Wed 2023-01-04 11:07:52 UTC RTC time: Wed 2023-01-04 11:07:53 Time zone: America/New_York (EST, -0500) System clock synchronized: yes NTP service: inactive RTC in local TZ: no
Step 3 – Install and Configure NTP
By default, the NTP package is available in the Arch Linux default repository. You can install it with the following command.
pacman -S ntp
Once NTP is installed, edit the NTP default configuration file:
nano /etc/ntp.conf
Change the default NTP server pool with your nearest server.
server 0.asia.pool.ntp.org server 1.asia.pool.ntp.org server 2.asia.pool.ntp.org server 3.asia.pool.ntp.org
Save and close the file, then restart NTP to apply the changes.
systemctl restart ntpd
Now, verify time synchronization with the following command.
ntpq -p
If everything is fine, you will get the following output.
remote refid st t when poll reach delay offset jitter ============================================================================== 103.177.8.228 ( .INIT. 16 u - 64 0 0.000 +0.000 0.000 time.firstlink. 202.12.97.45 2 u 3 64 1 268.468 -4.858 0.000 time.cloudflare 10.15.13.248 3 u 6 64 1 2.406 -0.133 0.000 ns.tu.ac.th 110.170.126.105 2 u 6 64 1 264.671 +7.973 0.000
Conclusion
In this post, we explained how to install an NTP server on Arch Linux. You can now install NTP in your local network to synchronize system time with internet time. You can test your NTP server on dedicated server hosting from Atlantic.Net!