Update 4.2.8p14 --> 4.2.8p15 Summary: Systems that use a CMAC algorithm in ntp.keys will not release a bit of memory on each packet that uses a CMAC keyid, eventually causing ntpd to run out of memory and fail. The CMAC cleanup from https://bugs.ntp.org/3447, part of ntp-4.2.8p11, introduced a bug whereby the CMAC data structure was no longer completely removed. MFC after: 3 days Security: NTP Bug 3661
256 lines
11 KiB
HTML
256 lines
11 KiB
HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
|
<html>
|
|
<!-- Created by GNU Texinfo 6.5, http://www.gnu.org/software/texinfo/ -->
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
|
<title>Ntp-wait User’s Manual</title>
|
|
|
|
<meta name="description" content="Ntp-wait User’s Manual">
|
|
<meta name="keywords" content="Ntp-wait User’s Manual">
|
|
<meta name="resource-type" content="document">
|
|
<meta name="distribution" content="global">
|
|
<meta name="Generator" content="makeinfo">
|
|
<link href="#Top" rel="start" title="Top">
|
|
<link href="dir.html#Top" rel="up" title="(dir)">
|
|
<style type="text/css">
|
|
<!--
|
|
a.summary-letter {text-decoration: none}
|
|
blockquote.indentedblock {margin-right: 0em}
|
|
blockquote.smallindentedblock {margin-right: 0em; font-size: smaller}
|
|
blockquote.smallquotation {font-size: smaller}
|
|
div.display {margin-left: 3.2em}
|
|
div.example {margin-left: 3.2em}
|
|
div.lisp {margin-left: 3.2em}
|
|
div.smalldisplay {margin-left: 3.2em}
|
|
div.smallexample {margin-left: 3.2em}
|
|
div.smalllisp {margin-left: 3.2em}
|
|
kbd {font-style: oblique}
|
|
pre.display {font-family: inherit}
|
|
pre.format {font-family: inherit}
|
|
pre.menu-comment {font-family: serif}
|
|
pre.menu-preformatted {font-family: serif}
|
|
pre.smalldisplay {font-family: inherit; font-size: smaller}
|
|
pre.smallexample {font-size: smaller}
|
|
pre.smallformat {font-family: inherit; font-size: smaller}
|
|
pre.smalllisp {font-size: smaller}
|
|
span.nolinebreak {white-space: nowrap}
|
|
span.roman {font-family: initial; font-weight: normal}
|
|
span.sansserif {font-family: sans-serif; font-weight: normal}
|
|
ul.no-bullet {list-style: none}
|
|
-->
|
|
</style>
|
|
|
|
|
|
</head>
|
|
|
|
<body lang="en">
|
|
<h1 class="settitle" align="center">Ntp-wait User’s Manual</h1>
|
|
|
|
|
|
|
|
|
|
|
|
<a name="Top"></a>
|
|
<div class="header">
|
|
<p>
|
|
Previous: <a href="dir.html#Top" accesskey="p" rel="prev">(dir)</a>, Up: <a href="dir.html#Top" accesskey="u" rel="up">(dir)</a> </p>
|
|
</div>
|
|
<h1 class="node-heading">Top</h1>
|
|
|
|
<p>This document describes the use of the NTP Project’s <code>ntp-wait</code> program.
|
|
</p>
|
|
<p>If there are time-sensitive applications,
|
|
the proper sequence of events is to
|
|
run <code>ntpd -g</code> as early as possible,
|
|
then invoke all of the non-time-sensitive process,
|
|
run <code>ntp-wait</code> to block
|
|
until the system’s time has stabilized and synchronized,
|
|
and only then start any applicaitons (like database servers) that require
|
|
accurate and stable time.
|
|
</p>
|
|
<p>This document applies to version 4.2.8p15 of <code>ntp-wait</code>.
|
|
</p>
|
|
<a name="SEC_Overview"></a>
|
|
<h2 class="shortcontents-heading">Short Table of Contents</h2>
|
|
|
|
<div class="shortcontents">
|
|
<li><a name="stoc-Invoking-ntp_002dwait" href="#toc-Invoking-ntp_002dwait">1 Invoking ntp-wait</a></li>
|
|
|
|
</div>
|
|
|
|
|
|
<table class="menu" border="0" cellspacing="0">
|
|
<tr><td align="left" valign="top">• ntp-wait Description:</td><td> </td><td align="left" valign="top">Description
|
|
</td></tr>
|
|
<tr><td align="left" valign="top">• <a href="#ntp_002dwait-Invocation" accesskey="2">ntp-wait Invocation</a>:</td><td> </td><td align="left" valign="top">Invoking ntp-wait
|
|
</td></tr>
|
|
</table>
|
|
|
|
<hr>
|
|
<a name="ntp_002dwait-Invocation"></a>
|
|
<div class="header">
|
|
<p>
|
|
Up: <a href="#Top" accesskey="u" rel="up">Top</a> </p>
|
|
</div>
|
|
<a name="Invoking-ntp_002dwait"></a>
|
|
<h3 class="section">1 Invoking ntp-wait</h3>
|
|
<a name="index-ntp_002dwait"></a>
|
|
<a name="index-Wait-for-ntpd-to-stabilize-the-system-clock"></a>
|
|
|
|
|
|
|
|
<p><code>ntp-wait</code>
|
|
will send at most
|
|
<kbd>num-tries</kbd>
|
|
queries to
|
|
<code>ntpd(8)</code>,
|
|
sleeping for
|
|
<kbd>secs-between-tries</kbd>
|
|
after each status return that says
|
|
<code>ntpd(8)</code>
|
|
has not yet produced a synchronized and stable system clock.
|
|
</p>
|
|
<p><code>ntp-wait</code>
|
|
will do this quietly, unless the
|
|
<code>-v</code>
|
|
flag is provided.
|
|
This can be useful at boot time, to delay the boot sequence until after
|
|
<kbd>ntpd</kbd> <kbd>-g</kbd>
|
|
has set the time.
|
|
</p>
|
|
<p>This section was generated by <strong>AutoGen</strong>,
|
|
using the <code>agtexi-cmd</code> template and the option descriptions for the <code>ntp-wait</code> program.
|
|
</p>
|
|
<table class="menu" border="0" cellspacing="0">
|
|
<tr><td align="left" valign="top">• <a href="#ntp_002dwait-usage" accesskey="1">ntp-wait usage</a>:</td><td> </td><td align="left" valign="top">ntp-wait help/usage (<samp>--help</samp>)
|
|
</td></tr>
|
|
<tr><td align="left" valign="top">• <a href="#ntp_002dwait-tries" accesskey="2">ntp-wait tries</a>:</td><td> </td><td align="left" valign="top">tries option (-n)
|
|
</td></tr>
|
|
<tr><td align="left" valign="top">• <a href="#ntp_002dwait-sleep" accesskey="3">ntp-wait sleep</a>:</td><td> </td><td align="left" valign="top">sleep option (-s)
|
|
</td></tr>
|
|
<tr><td align="left" valign="top">• <a href="#ntp_002dwait-verbose" accesskey="4">ntp-wait verbose</a>:</td><td> </td><td align="left" valign="top">verbose option (-v)
|
|
</td></tr>
|
|
<tr><td align="left" valign="top">• <a href="#ntp_002dwait-exit-status" accesskey="5">ntp-wait exit status</a>:</td><td> </td><td align="left" valign="top">exit status
|
|
</td></tr>
|
|
<tr><td align="left" valign="top">• <a href="#ntp_002dwait-Authors" accesskey="6">ntp-wait Authors</a>:</td><td> </td><td align="left" valign="top">Authors
|
|
</td></tr>
|
|
<tr><td align="left" valign="top">• <a href="#ntp_002dwait-Notes" accesskey="7">ntp-wait Notes</a>:</td><td> </td><td align="left" valign="top">Notes
|
|
</td></tr>
|
|
</table>
|
|
|
|
<hr>
|
|
<a name="ntp_002dwait-usage"></a>
|
|
<div class="header">
|
|
<p>
|
|
Next: <a href="#ntp_002dwait-tries" accesskey="n" rel="next">ntp-wait tries</a>, Up: <a href="#ntp_002dwait-Invocation" accesskey="u" rel="up">ntp-wait Invocation</a> </p>
|
|
</div>
|
|
<a name="ntp_002dwait-help_002fusage-_0028_002d_002dhelp_0029"></a>
|
|
<h4 class="subsection">1.1 ntp-wait help/usage (<samp>--help</samp>)</h4>
|
|
<a name="index-ntp_002dwait-help"></a>
|
|
|
|
<p>This is the automatically generated usage text for ntp-wait.
|
|
</p>
|
|
<p>The text printed is the same whether selected with the <code>help</code> option
|
|
(<samp>--help</samp>) or the <code>more-help</code> option (<samp>--more-help</samp>). <code>more-help</code> will print
|
|
the usage text by passing it through a pager program.
|
|
<code>more-help</code> is disabled on platforms without a working
|
|
<code>fork(2)</code> function. The <code>PAGER</code> environment variable is
|
|
used to select the program, defaulting to <samp>more</samp>. Both will exit
|
|
with a status code of 0.
|
|
</p>
|
|
<div class="example">
|
|
<pre class="example">ntp-wait - Wait for ntpd to stabilize the system clock - Ver. 4.2.8p15
|
|
USAGE: ntp-wait [ -<flag> [<val>] | --<name>[{=| }<val>] ]...
|
|
|
|
-n, --tries=num Number of times to check ntpd
|
|
-s, --sleep=num How long to sleep between tries
|
|
-v, --verbose Be verbose
|
|
-?, --help Display usage information and exit
|
|
--more-help Pass the extended usage text through a pager
|
|
|
|
Options are specified by doubled hyphens and their name or by a single
|
|
hyphen and the flag character.
|
|
</pre></div>
|
|
|
|
<hr>
|
|
<a name="ntp_002dwait-tries"></a>
|
|
<div class="header">
|
|
<p>
|
|
Next: <a href="#ntp_002dwait-sleep" accesskey="n" rel="next">ntp-wait sleep</a>, Previous: <a href="#ntp_002dwait-usage" accesskey="p" rel="prev">ntp-wait usage</a>, Up: <a href="#ntp_002dwait-Invocation" accesskey="u" rel="up">ntp-wait Invocation</a> </p>
|
|
</div>
|
|
<a name="tries-option-_0028_002dn_0029"></a>
|
|
<h4 class="subsection">1.2 tries option (-n)</h4>
|
|
<a name="index-ntp_002dwait_002dtries"></a>
|
|
|
|
<p>This is the “number of times to check ntpd” option.
|
|
This option takes a number argument.
|
|
The maximum number of times we will check <code>ntpd</code> to see if
|
|
it has been able to synchronize and stabilize the system clock.
|
|
</p><hr>
|
|
<a name="ntp_002dwait-sleep"></a>
|
|
<div class="header">
|
|
<p>
|
|
Next: <a href="#ntp_002dwait-verbose" accesskey="n" rel="next">ntp-wait verbose</a>, Previous: <a href="#ntp_002dwait-tries" accesskey="p" rel="prev">ntp-wait tries</a>, Up: <a href="#ntp_002dwait-Invocation" accesskey="u" rel="up">ntp-wait Invocation</a> </p>
|
|
</div>
|
|
<a name="sleep-option-_0028_002ds_0029"></a>
|
|
<h4 class="subsection">1.3 sleep option (-s)</h4>
|
|
<a name="index-ntp_002dwait_002dsleep"></a>
|
|
|
|
<p>This is the “how long to sleep between tries” option.
|
|
This option takes a number argument <samp>secs-between-tries</samp>.
|
|
We will sleep for <samp>secs-between-tries</samp> after each query
|
|
of <code>ntpd</code> that returns "the time is not yet stable".
|
|
</p><hr>
|
|
<a name="ntp_002dwait-verbose"></a>
|
|
<div class="header">
|
|
<p>
|
|
Next: <a href="#ntp_002dwait-exit-status" accesskey="n" rel="next">ntp-wait exit status</a>, Previous: <a href="#ntp_002dwait-sleep" accesskey="p" rel="prev">ntp-wait sleep</a>, Up: <a href="#ntp_002dwait-Invocation" accesskey="u" rel="up">ntp-wait Invocation</a> </p>
|
|
</div>
|
|
<a name="verbose-option-_0028_002dv_0029"></a>
|
|
<h4 class="subsection">1.4 verbose option (-v)</h4>
|
|
<a name="index-ntp_002dwait_002dverbose"></a>
|
|
|
|
<p>This is the “be verbose” option.
|
|
By default, <code>ntp-wait</code> is silent.
|
|
With this option, <code>ntp-wait</code> will provide status information.
|
|
</p><hr>
|
|
<a name="ntp_002dwait-exit-status"></a>
|
|
<div class="header">
|
|
<p>
|
|
Next: <a href="#ntp_002dwait-Authors" accesskey="n" rel="next">ntp-wait Authors</a>, Previous: <a href="#ntp_002dwait-verbose" accesskey="p" rel="prev">ntp-wait verbose</a>, Up: <a href="#ntp_002dwait-Invocation" accesskey="u" rel="up">ntp-wait Invocation</a> </p>
|
|
</div>
|
|
<a name="ntp_002dwait-exit-status-1"></a>
|
|
<h4 class="subsection">1.5 ntp-wait exit status</h4>
|
|
|
|
<p>One of the following exit values will be returned:
|
|
</p><dl compact="compact">
|
|
<dt>‘<samp>0 (EXIT_SUCCESS)</samp>’</dt>
|
|
<dd><p>Successful program execution.
|
|
</p></dd>
|
|
<dt>‘<samp>1 (EXIT_FAILURE)</samp>’</dt>
|
|
<dd><p>The operation failed or the command syntax was not valid.
|
|
</p></dd>
|
|
</dl>
|
|
<hr>
|
|
<a name="ntp_002dwait-Authors"></a>
|
|
<div class="header">
|
|
<p>
|
|
Next: <a href="#ntp_002dwait-Notes" accesskey="n" rel="next">ntp-wait Notes</a>, Previous: <a href="#ntp_002dwait-exit-status" accesskey="p" rel="prev">ntp-wait exit status</a>, Up: <a href="#ntp_002dwait-Invocation" accesskey="u" rel="up">ntp-wait Invocation</a> </p>
|
|
</div>
|
|
<a name="ntp_002dwait-Authors-1"></a>
|
|
<h4 class="subsection">1.6 ntp-wait Authors</h4>
|
|
<hr>
|
|
<a name="ntp_002dwait-Notes"></a>
|
|
<div class="header">
|
|
<p>
|
|
Previous: <a href="#ntp_002dwait-Authors" accesskey="p" rel="prev">ntp-wait Authors</a>, Up: <a href="#ntp_002dwait-Invocation" accesskey="u" rel="up">ntp-wait Invocation</a> </p>
|
|
</div>
|
|
<a name="ntp_002dwait-Notes-1"></a>
|
|
<h4 class="subsection">1.7 ntp-wait Notes</h4>
|
|
<hr>
|
|
|
|
|
|
|
|
</body>
|
|
</html>
|