The official definition of NTP (Network Time Protocol) says that it is a “protocol designed to synchronize the clocks of computers over a network.”
To participate in that synchronization of clocks, a computer must be running either an NTP daemon (server) or an NTP client. A computer providing NTP services to other computers is an NTP server, while the one syncing to an NTP server is an NTP client.
That computer you’re carrying around that can make and receive phone calls is able to keep accurate time because it syncs to NTP servers. Most likely to Stratum 0 or Stratum 1 NTP servers. Your Linux laptop or desktop can also keep accurate time by syncing to NTP servers, and, if appropriately configured, it can also function as an NTP server.
There are three actively-developed NTP applications available to Linux distributions. They are NTP, OpenNTPD and Chrony.
NTP – Up until the early part of 2014, the NTP package was the most popular NTP application in Linux. Like other NTP applications, it has a daemon (ntpd) and client (ntpdate) utilities that make it possible to configure the host computer as either an NTP server or an NTP client. It is the default NTP application on Debian and Ubuntu and distributions that are based on them. All it takes to install it is anapt-get install ntp.
Chrony is the NTP application that replaced NTP on Fedora – starting from Fedora 19. Like NTP on Debian/Ubuntu, it ships with a daemon (chronyd) and a client (chronyc) that make it possible to configure the host computer as either an NTP server or an NTP client. All it takes to install it is a yum install chrony.
OpenNTPD is an NTP application from OpenBSD. An important selling-point of OpenNTPD is that it is more secure than the non-OpenBSD NTP applications. That point is driven home by this line on the project’s home page: “A portable LibreSSL and a portable OpenNTPD are two very important pieces of software for those of us who have to use Linux and other less-secure operating systems.”
The problem with the portable version of OpenNTPD is that for a long time, development stalled. (A portable version of an OpenBSD application is one designed for use on other operating systems, like Linux.) The package available in Ubuntu is version 4.x. while the main OpenNTPD version is 5.7. OpenNTPD 5.7p1 (portable) was released on January 9 (2015), but it’s not yet available in the official repositories of Linux distributions. No version of OpenNTPD is available in the official Fedora repository.
It should be obvious, but only one NTP application may be installed on any system. Attempting to install OpenNTPD apt-get install openntpd on Ubuntu while NTP is installed will cause the latter to be uninstalled.
Setting up your Linux computer to sync to NTP servers is a simple, point-and-click operation. To configure it as an NTP server is not as simple, though, but very rarely will you have to configure a personal computer as an NTP server, unless you just want to play with it or have a sizable network at home that needs to use NTP. In that case, one of the computers can server as an NTP server, providing NTP services to others on the network.