@node ntpd Invocation
@section Invoking ntpd
@pindex ntpd
@cindex NTP daemon program
@ignore
#
# EDIT THIS FILE WITH CAUTION  (invoke-ntpd.texi)
#
# It has been AutoGen-ed  May 25, 2024 at 12:04:00 AM by AutoGen 5.18.16
# From the definitions    ntpd-opts.def
# and the template file   agtexi-cmd.tpl
@end ignore



The
@code{ntpd}
utility 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, as defined by RFC-5905,
but also retains compatibility with
version 3, as defined by RFC-1305, and versions 1
and 2, as defined by RFC-1059 and RFC-1119, respectively.

The
@code{ntpd}
utility 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.

Ordinarily,
@code{ntpd}
reads the
@code{ntp.conf(5)}
configuration file at startup time in order to determine the
synchronization sources and operating modes.
It is also possible to
specify a working, although limited, configuration entirely on the
command line, obviating the need for a configuration file.
This may
be particularly useful when the local host is to be configured as a
broadcast/multicast client, with all peers being determined by
listening to broadcasts at run time.

If NetInfo support is built into
@code{ntpd}
then
@code{ntpd}
will attempt to read its configuration from the
NetInfo if the default
@code{ntp.conf(5)}
file cannot be read and no file is
specified by the
@code{-c}
option.

Various internal
@code{ntpd}
variables can be displayed and
configuration options altered while the
@code{ntpd}
is running
using the
@code{ntpq(1ntpqmdoc)}
and
@code{ntpdc(1ntpdcmdoc)}
utility programs.

When
@code{ntpd}
starts it looks at the value of
@code{umask(2)},
and if zero
@code{ntpd}
will set the
@code{umask(2)}
to 022.

This section was generated by @strong{AutoGen},
using the @code{agtexi-cmd} template and the option descriptions for the @code{ntpd} program.
This software is released under the NTP license, <http://ntp.org/license>.

@menu
* ntpd usage::                  ntpd help/usage (@option{--help})
* ntpd ipv4::                   ipv4 option (-4)
* ntpd ipv6::                   ipv6 option (-6)
* ntpd authreq::                authreq option (-a)
* ntpd authnoreq::              authnoreq option (-A)
* ntpd configfile::             configfile option (-c)
* ntpd driftfile::              driftfile option (-f)
* ntpd panicgate::              panicgate option (-g)
* ntpd force-step-once::        force-step-once option (-G)
* ntpd jaildir::                jaildir option (-i)
* ntpd interface::              interface option (-I)
* ntpd keyfile::                keyfile option (-k)
* ntpd logfile::                logfile option (-l)
* ntpd novirtualips::           novirtualips option (-L)
* ntpd modifymmtimer::          modifymmtimer option (-M)
* ntpd nice::                   nice option (-N)
* ntpd pidfile::                pidfile option (-p)
* ntpd priority::               priority option (-P)
* ntpd quit::                   quit option (-q)
* ntpd propagationdelay::       propagationdelay option (-r)
* ntpd saveconfigquit::         saveconfigquit option
* ntpd statsdir::               statsdir option (-s)
* ntpd trustedkey::             trustedkey option (-t)
* ntpd user::                   user option (-u)
* ntpd updateinterval::         updateinterval option (-U)
* ntpd wait-sync::              wait-sync option (-w)
* ntpd slew::                   slew option (-x)
* ntpd usepcc::                 usepcc option
* ntpd pccfreq::                pccfreq option
* ntpd mdns::                   mdns option (-m)
* ntpd config::                 presetting/configuring ntpd
* ntpd exit status::            exit status
* ntpd Usage::                  Usage
* ntpd Files::                  Files
* ntpd See Also::               See Also
* ntpd Bugs::                   Bugs
* ntpd Notes::                  Notes
@end menu

@node ntpd usage
@subsection ntpd help/usage (@option{--help})
@cindex ntpd help

This is the automatically generated usage text for ntpd.

The text printed is the same whether selected with the @code{help} option
(@option{--help}) or the @code{more-help} option (@option{--more-help}).  @code{more-help} will print
the usage text by passing it through a pager program.
@code{more-help} is disabled on platforms without a working
@code{fork(2)} function.  The @code{PAGER} environment variable is
used to select the program, defaulting to @file{more}.  Both will exit
with a status code of 0.

@exampleindent 0
@example
ntpd - NTP daemon program - Ver. 4.2.8p18
Usage:  ntpd [ -<flag> [<val>] | --<name>[@{=| @}<val>] ]... \
               [ <server1> ... <serverN> ]
 Flg Arg Option-Name    Description
  -4 no  ipv4           Force IPv4 DNS name resolution
                               - prohibits the option 'ipv6'
  -6 no  ipv6           Force IPv6 DNS name resolution
                               - prohibits the option 'ipv4'
  -a no  authreq        Require crypto authentication
                               - prohibits the option 'authnoreq'
  -A no  authnoreq      Do not require crypto authentication
                               - prohibits the option 'authreq'
  -b no  bcastsync      Allow us to sync to broadcast servers
  -c Str configfile     configuration file name
  -d no  debug-level    Increase debug verbosity level
                               - may appear multiple times
  -D Num set-debug-level Set the debug verbosity level
                               - may appear multiple times
  -f Str driftfile      frequency drift file name
  -g no  panicgate      Allow the first adjustment to be Big
                               - may appear multiple times
  -G no  force-step-once Step any initial offset correction.
  -i --- jaildir        built without --enable-clockctl or --enable-linuxcaps or --enable-solarisprivs
  -I Str interface      Listen on an interface name or address
                               - may appear multiple times
  -k Str keyfile        path to symmetric keys
  -l Str logfile        path to the log file
  -L no  novirtualips   Do not listen to virtual interfaces
  -n no  nofork         Do not fork
                               - prohibits the option 'wait-sync'
  -N no  nice           Run at high priority
  -p Str pidfile        path to the PID file
  -P Num priority       Process priority
  -q no  quit           Set the time and quit
                               - prohibits these options:
                               saveconfigquit
                               wait-sync
  -r Str propagationdelay Broadcast/propagation delay
     Str saveconfigquit Save parsed configuration and quit
                               - prohibits these options:
                               quit
                               wait-sync
  -s Str statsdir       Statistics file location
  -t Str trustedkey     Trusted key number
                               - may appear multiple times
  -u --- user           built without --enable-clockctl or --enable-linuxcaps or --enable-solarisprivs
  -U Num updateinterval interval in seconds between scans for new or dropped interfaces
     Str var            make ARG an ntp variable (RW)
                               - may appear multiple times
     Str dvar           make ARG an ntp variable (RW|DEF)
                               - may appear multiple times
  -w Num wait-sync      Seconds to wait for first clock sync
                               - prohibits these options:
                               nofork
                               quit
                               saveconfigquit
  -x no  slew           Slew up to 600 seconds
     opt version        output version information and exit
  -? no  help           display extended usage information and exit
  -! no  more-help      extended usage information passed thru pager

Options are specified by doubled hyphens and their name or by a single
hyphen and the flag character.


The following option preset mechanisms are supported:
- examining environment variables named NTPD_*

Please send bug reports to:  <https://bugs.ntp.org, bugs@@ntp.org>
@end example
@exampleindent 4

@node ntpd ipv4
@subsection ipv4 option (-4)
@cindex ntpd-ipv4

This is the ``force ipv4 dns name resolution'' option.

@noindent
This option has some usage constraints.  It:
@itemize @bullet
@item
must not appear in combination with any of the following options:
ipv6.
@end itemize

Force DNS resolution of following host names on the command line
to the IPv4 namespace.
@node ntpd ipv6
@subsection ipv6 option (-6)
@cindex ntpd-ipv6

This is the ``force ipv6 dns name resolution'' option.

@noindent
This option has some usage constraints.  It:
@itemize @bullet
@item
must not appear in combination with any of the following options:
ipv4.
@end itemize

Force DNS resolution of following host names on the command line
to the IPv6 namespace.
@node ntpd authreq
@subsection authreq option (-a)
@cindex ntpd-authreq

This is the ``require crypto authentication'' option.

@noindent
This option has some usage constraints.  It:
@itemize @bullet
@item
must not appear in combination with any of the following options:
authnoreq.
@end itemize

Require cryptographic authentication for broadcast client,
multicast client and symmetric passive associations.
This is the default.
@node ntpd authnoreq
@subsection authnoreq option (-A)
@cindex ntpd-authnoreq

This is the ``do not require crypto authentication'' option.

@noindent
This option has some usage constraints.  It:
@itemize @bullet
@item
must not appear in combination with any of the following options:
authreq.
@end itemize

Do not require cryptographic authentication for broadcast client,
multicast client and symmetric passive associations.
This is almost never a good idea.
@node ntpd configfile
@subsection configfile option (-c)
@cindex ntpd-configfile

This is the ``configuration file name'' option.
This option takes a string argument.
The name and path of the configuration file,
@file{/etc/ntp.conf}
by default.
@node ntpd driftfile
@subsection driftfile option (-f)
@cindex ntpd-driftfile

This is the ``frequency drift file name'' option.
This option takes a string argument.
The name and path of the frequency file,
@file{/etc/ntp.drift}
by default.
This is the same operation as the
@code{driftfile} @kbd{driftfile}
configuration specification in the
@file{/etc/ntp.conf}
file.
@node ntpd panicgate
@subsection panicgate option (-g)
@cindex ntpd-panicgate

This is the ``allow the first adjustment to be big'' option.

@noindent
This option has some usage constraints.  It:
@itemize @bullet
@item
may appear an unlimited number of times.
@end itemize

Normally,
@code{ntpd}
exits with a message to the system log if the offset exceeds the panic threshold, which is 1000 s by default. This option allows the time to be set to any value without restriction; however, this can happen only once. If the threshold is exceeded after that,
@code{ntpd}
will exit with a message to the system log. This option can be used with the
@code{-q}
and
@code{-x}
options.
See the
@code{tinker}
configuration file directive for other options.
@node ntpd force-step-once
@subsection force-step-once option (-G)
@cindex ntpd-force-step-once

This is the ``step any initial offset correction.'' option.
Normally,
@code{ntpd}
steps the time if the time offset exceeds the step threshold,
which is 128 ms by default, and otherwise slews the time.
This option forces the initial offset correction to be stepped,
so the highest time accuracy can be achieved quickly.
However, this may also cause the time to be stepped back
so this option must not be used if
applications requiring monotonic time are running.
See the @code{tinker} configuration file directive for other options.
@node ntpd jaildir
@subsection jaildir option (-i)
@cindex ntpd-jaildir

This is the ``jail directory'' option.
This option takes a string argument.

@noindent
This option has some usage constraints.  It:
@itemize @bullet
@item
must be compiled in by defining @code{HAVE_DROPROOT} during the compilation.
@end itemize

Chroot the server to the directory
@kbd{jaildir}