ntpd
The ntpd (Network Time Protocol daemon) program is an operating system daemon which sets and maintains the system time of day in synchronism with time servers (Mills).
Description
The ntpd program is an operating system daemon which sets and maintains the system time of day in synchronism with Internet standard time servers. It is a complete implementation of the Network Time Protocol (NTP) version 4, but also retains compatibility with version 3, as defined by RFC-1305, and version 1 and 2, as defined by RFC-1059 and RFC-1119, respectively. ntpd does most computations in 64-bit floating point arithmetic and does relatively clumsy 64-bit fixed point operations only when necessary to preserve the ultimate precision, about 232 picoseconds. While the ultimate precision is not achievable with ordinary workstations and networks of today, it may be required with future gigahertz CPU clocks and gigabit LANs. The Solaris version of ntpd is named xntpd.
Ntpd uses a single configuration file to run the daemon in server and/or client modes. The configuration file is usually named ntpd.conf and is located under the /etc directory. Other important files include the driftfile, which is used by ntpd to correct for hardware clock skew in the absence of a connection to a more accurate upstream time server.
Debugging
If ntpd does not work (but is correctly configured) assuming an RFC-compliant implementation, your clock may have drifted too far. If you view /var/log/ntp.log, you may see an entry similar to:
18 Aug 21:04:40 ntpd[7220]: time correction of 1738 seconds exceeds sanity limit (1000); set clock manually to the correct UTC time.
This sanity check can be overridden by adding the command-line switch "-g" when starting ntpd.
ntpd -g
To manually force the time to synchronize, use:
ntpd -q
or on older systems
ntpdate ntpserver
Note that switching time settings by large amounts may cause undefined behavior in long-running or complex processes, and is not advised for servers.
The ntpq command can be used to connect to a ntpd daemon and query it for various parameters. To show what peers are available and synchronization status try:
ntpq -p localhost
Implementations
- The NTP Reference Implementaion from The NTP Project at the University of Delaware
- OpenNTP – A portable Simple NTPD implementation by the OpenBSD group
- dntpd – A simple client ntpd in DragonFly BSD
- Windows Port of NTPD – Free Windows port of The NTP Reference Implementaion from http://www.ntp.org with an easy-to-use installer
ntpd guides
- Official NTP Documentation
- Community Supported NTP Documentation
- NTP Development Collaboration Tool
- NTP Mailing Lists
- NTP Software and Documentation Archive
- NTP Documentation Archive for stable releases
- OpenNTP manual pages
- Gentoo Wiki
- Generic Linux notes
References
- Mills, D. L. (2005) ntpd - Network Time Protocol (NTP) daemon, The University of Delaware, USA. 2005. Available from http://www.eecis.udel.edu/~mills/ntp/html/ntpd.html (Date Accessed: 19 August 2005)