macOS 10.13 will implement the ntp_adjtime() system call, allowing better control over the system clock than is possible with the existing adjtime() system call. chronyd will support both the older and newer calls, enabling binary code to run without recompilation on macOS 10.9 through macOS 10.13. Early releases of macOS 10.13 have a very buggy adjtime() call. The macOS driver tests adjtime() to see if the bug has been fixed. If the bug persists then the timex driver is invoked otherwise the netbsd driver.
184 lines
7.4 KiB
Text
184 lines
7.4 KiB
Text
// This file is part of chrony
|
|
//
|
|
// Copyright (C) Richard P. Curnow 1997-2003
|
|
// Copyright (C) Miroslav Lichvar 2009-2016
|
|
//
|
|
// This program is free software; you can redistribute it and/or modify
|
|
// it under the terms of version 2 of the GNU General Public License as
|
|
// published by the Free Software Foundation.
|
|
//
|
|
// This program is distributed in the hope that it will be useful, but
|
|
// WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
// General Public License for more details.
|
|
//
|
|
// You should have received a copy of the GNU General Public License along
|
|
// with this program; if not, write to the Free Software Foundation, Inc.,
|
|
// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
|
|
= chronyd(8)
|
|
:doctype: manpage
|
|
:man manual: System Administration
|
|
:man source: chrony @CHRONY_VERSION@
|
|
|
|
== NAME
|
|
|
|
chronyd - chrony daemon
|
|
|
|
== SYNOPSIS
|
|
|
|
*chronyd* [_OPTION_]... [_DIRECTIVE_]...
|
|
|
|
== DESCRIPTION
|
|
|
|
*chronyd* is a daemon for synchronisation of the system clock. It can
|
|
synchronise the clock with NTP servers, reference clocks (e.g. a GPS receiver),
|
|
and manual input using wristwatch and keyboard via *chronyc*. It can also
|
|
operate as an NTPv4 (RFC 5905) server and peer to provide a time service to
|
|
other computers in the network.
|
|
|
|
If no configuration directives are specified on the command line, *chronyd*
|
|
will read them from a configuration file. The compiled-in default location of
|
|
the file is _@SYSCONFDIR@/chrony.conf_.
|
|
|
|
Information messages and warnings will be logged to syslog.
|
|
|
|
== OPTIONS
|
|
|
|
*-4*::
|
|
With this option hostnames will be resolved only to IPv4 addresses and only
|
|
IPv4 sockets will be created.
|
|
|
|
*-6*::
|
|
With this option hostnames will be resolved only to IPv6 addresses and only
|
|
IPv6 sockets will be created.
|
|
|
|
*-f* _file_::
|
|
This option can be used to specify an alternate location for the configuration
|
|
file (default _@SYSCONFDIR@/chrony.conf_).
|
|
|
|
*-n*::
|
|
When run in this mode, the program will not detach itself from the terminal.
|
|
|
|
*-d*::
|
|
When run in this mode, the program will not detach itself from the terminal,
|
|
and all messages will be written to the terminal instead of syslog. When
|
|
*chronyd* was compiled with debugging support, this option can be used twice to
|
|
print also debugging messages.
|
|
|
|
*-l* _file_::
|
|
This option specifies a file which should be used for logging instead of syslog
|
|
or terminal.
|
|
|
|
*-q*::
|
|
When run in this mode, *chronyd* will set the system clock once and exit. It
|
|
will not detach from the terminal.
|
|
|
|
*-Q*::
|
|
This option is similar to the *-q* option, except it only prints the offset
|
|
without making any corrections of the clock and it allows *chronyd* to be
|
|
started without root privileges.
|
|
|
|
*-r*::
|
|
This option will try to reload and then delete files containing sample
|
|
histories for each of the servers and reference clocks being used. These
|
|
histories are created by using the <<chronyc.adoc#dump,*dump*>> command in
|
|
*chronyc*, or by setting the <<chrony.conf.adoc#dumponexit,*dumponexit*>>
|
|
directive in the configuration file. This option is useful if you want to stop
|
|
and restart *chronyd* briefly for any reason, e.g. to install a new version.
|
|
However, it should be used only on systems where the kernel can maintain clock
|
|
compensation whilst not under *chronyd*'s control (i.e. Linux, FreeBSD, NetBSD,
|
|
Solaris, and macOS 10.13 or later).
|
|
|
|
*-R*::
|
|
When this option is used, the <<chrony.conf.adoc#initstepslew,*initstepslew*>>
|
|
directive and the <<chrony.conf.adoc#makestep,*makestep*>> directive used with
|
|
a positive limit will be ignored. This option is useful when restarting
|
|
*chronyd* and can be used in conjunction with the *-r* option.
|
|
|
|
*-s*::
|
|
This option will set the system clock from the computer's real-time clock (RTC)
|
|
or to the last modification time of the file specified by the
|
|
<<chrony.conf.adoc#driftfile,*driftfile*>> directive. Real-time clocks are
|
|
supported only on Linux.
|
|
+
|
|
If used in conjunction with the *-r* flag, *chronyd* will attempt to preserve
|
|
the old samples after setting the system clock from the RTC. This can be used
|
|
to allow *chronyd* to perform long term averaging of the gain or loss rate
|
|
across system reboots, and is useful for systems with intermittent access to
|
|
network that are shut down when not in use. For this to work well, it relies
|
|
on *chronyd* having been able to determine accurate statistics for the
|
|
difference between the RTC and system clock last time the computer was on.
|
|
+
|
|
If the last modification time of the drift file is later than both the current
|
|
time and the RTC time, the system time will be set to it to restore the time
|
|
when *chronyd* was previously stopped. This is useful on computers that have no
|
|
RTC or the RTC is broken (e.g. it has no battery).
|
|
|
|
*-t* _timeout_::
|
|
This option sets a timeout (in seconds) after which *chronyd* will exit. If the
|
|
clock is not synchronised, it will exit with a non-zero status. This is useful
|
|
with the *-q* or *-Q* option to shorten the maximum time waiting for
|
|
measurements, or with the *-r* option to limit the time when *chronyd* is
|
|
running, but still allow it to adjust the frequency of the system clock.
|
|
|
|
*-u* _user_::
|
|
This option sets the name of the system user to which *chronyd* will switch
|
|
after start in order to drop root privileges. It overrides the
|
|
<<chrony.conf.adoc#user,*user*>> directive (default _@DEFAULT_USER@_).
|
|
+
|
|
On Linux, *chronyd* needs to be compiled with support for the *libcap* library.
|
|
On macOS, FreeBSD, NetBSD and Solaris *chronyd* forks into two processes.
|
|
The child process retains root privileges, but can only perform a very limited
|
|
range of privileged system calls on behalf of the parent.
|
|
|
|
*-F* _level_::
|
|
This option configures a system call filter when *chronyd* is compiled with
|
|
support for the Linux secure computing (seccomp) facility. In level 1 the
|
|
process is killed when a forbidden system call is made, in level -1 the SYSSIG
|
|
signal is thrown instead and in level 0 the filter is disabled (default 0).
|
|
+
|
|
It's recommended to enable the filter only when it's known to work on the
|
|
version of the system where *chrony* is installed as the filter needs to allow
|
|
also system calls made from libraries that *chronyd* is using (e.g. libc) and
|
|
different versions or implementations of the libraries may make different
|
|
system calls. If the filter is missing some system call, *chronyd* could be
|
|
killed even in normal operation.
|
|
|
|
*-P* _priority_::
|
|
On Linux, this option will select the SCHED_FIFO real-time scheduler at the
|
|
specified priority (which must be between 0 and 100). On macOS, this option
|
|
must have either a value of 0 (the default) to disable the thread time
|
|
constraint policy or 1 for the policy to be enabled. Other systems do not
|
|
support this option.
|
|
|
|
*-m*::
|
|
This option will lock *chronyd* into RAM so that it will never be paged out.
|
|
This mode is only supported on Linux.
|
|
|
|
*-x*::
|
|
This option disables the control of the system clock. *chronyd* will not make
|
|
any adjustments of the clock, but it will still track its offset and frequency
|
|
relative to the estimated true time, and be able to operate as an NTP server.
|
|
This allows *chronyd* to run without the capability to adjust or set the system
|
|
clock (e.g. in some containers).
|
|
|
|
*-v*::
|
|
With this option *chronyd* will print version number to the terminal and exit.
|
|
|
|
== FILES
|
|
|
|
_@SYSCONFDIR@/chrony.conf_
|
|
|
|
== SEE ALSO
|
|
|
|
<<chronyc.adoc#,*chronyc(1)*>>, <<chrony.conf.adoc#,*chrony.conf(5)*>>
|
|
|
|
== BUGS
|
|
|
|
For instructions on how to report bugs, please visit
|
|
https://chrony.tuxfamily.org/.
|
|
|
|
== AUTHORS
|
|
|
|
chrony was written by Richard Curnow, Miroslav Lichvar, and others.
|