xref: /freebsd/contrib/ntp/scripts/update-leap/update-leap.html (revision 052d159a8b83f03d7dc5eb31cd9a9b4a6fe3d9da)
1*052d159aSCy Schubert<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
2*052d159aSCy Schubert<html>
3*052d159aSCy Schubert<!-- Created by GNU Texinfo 6.5, http://www.gnu.org/software/texinfo/ -->
4a25439b6SCy Schubert<head>
5*052d159aSCy Schubert<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
6*052d159aSCy Schubert<title>update-leap User&rsquo;s Manual</title>
7*052d159aSCy Schubert
8*052d159aSCy Schubert<meta name="description" content="update-leap User&rsquo;s Manual">
9*052d159aSCy Schubert<meta name="keywords" content="update-leap User&rsquo;s Manual">
10*052d159aSCy Schubert<meta name="resource-type" content="document">
11*052d159aSCy Schubert<meta name="distribution" content="global">
12*052d159aSCy Schubert<meta name="Generator" content="makeinfo">
13*052d159aSCy Schubert<link href="#Top" rel="start" title="Top">
14*052d159aSCy Schubert<link href="dir.html#Top" rel="up" title="(dir)">
15*052d159aSCy Schubert<style type="text/css">
16*052d159aSCy Schubert<!--
17*052d159aSCy Schuberta.summary-letter {text-decoration: none}
18*052d159aSCy Schubertblockquote.indentedblock {margin-right: 0em}
19*052d159aSCy Schubertblockquote.smallindentedblock {margin-right: 0em; font-size: smaller}
20*052d159aSCy Schubertblockquote.smallquotation {font-size: smaller}
21*052d159aSCy Schubertdiv.display {margin-left: 3.2em}
22*052d159aSCy Schubertdiv.example {margin-left: 3.2em}
23*052d159aSCy Schubertdiv.lisp {margin-left: 3.2em}
24*052d159aSCy Schubertdiv.smalldisplay {margin-left: 3.2em}
25*052d159aSCy Schubertdiv.smallexample {margin-left: 3.2em}
26*052d159aSCy Schubertdiv.smalllisp {margin-left: 3.2em}
27*052d159aSCy Schubertkbd {font-style: oblique}
28a25439b6SCy Schubertpre.display {font-family: inherit}
29a25439b6SCy Schubertpre.format {font-family: inherit}
30*052d159aSCy Schubertpre.menu-comment {font-family: serif}
31*052d159aSCy Schubertpre.menu-preformatted {font-family: serif}
32a25439b6SCy Schubertpre.smalldisplay {font-family: inherit; font-size: smaller}
33a25439b6SCy Schubertpre.smallexample {font-size: smaller}
34*052d159aSCy Schubertpre.smallformat {font-family: inherit; font-size: smaller}
35a25439b6SCy Schubertpre.smalllisp {font-size: smaller}
36*052d159aSCy Schubertspan.nolinebreak {white-space: nowrap}
37*052d159aSCy Schubertspan.roman {font-family: initial; font-weight: normal}
38*052d159aSCy Schubertspan.sansserif {font-family: sans-serif; font-weight: normal}
39*052d159aSCy Schubertul.no-bullet {list-style: none}
40*052d159aSCy Schubert-->
41*052d159aSCy Schubert</style>
42*052d159aSCy Schubert
43*052d159aSCy Schubert
44a25439b6SCy Schubert</head>
45*052d159aSCy Schubert
46*052d159aSCy Schubert<body lang="en">
47*052d159aSCy Schubert<h1 class="settitle" align="center">update-leap User&rsquo;s Manual</h1>
48*052d159aSCy Schubert
49*052d159aSCy Schubert
50*052d159aSCy Schubert
51*052d159aSCy Schubert
52*052d159aSCy Schubert
53*052d159aSCy Schubert<a name="Top"></a>
54*052d159aSCy Schubert<div class="header">
55*052d159aSCy Schubert<p>
56*052d159aSCy SchubertPrevious: <a href="dir.html#Top" accesskey="p" rel="prev">(dir)</a>, Up: <a href="dir.html#Top" accesskey="u" rel="up">(dir)</a> &nbsp; </p>
57a25439b6SCy Schubert</div>
58*052d159aSCy Schubert<h1 class="node-heading">Top</h1>
59a25439b6SCy Schubert
60*052d159aSCy Schubert<p>This document describes the use of the NTP Project&rsquo;s <code>update-leap</code> program.
61*052d159aSCy Schubert</p>
62*052d159aSCy Schubert<p>This document applies to version 4.2.8p13 of <code>update-leap</code>.
63*052d159aSCy Schubert</p>
64*052d159aSCy Schubert<a name="SEC_Overview"></a>
65*052d159aSCy Schubert<h2 class="shortcontents-heading">Short Table of Contents</h2>
66a25439b6SCy Schubert
67a25439b6SCy Schubert<div class="shortcontents">
68*052d159aSCy Schubert<li><a name="stoc-Invoking-update_002dleap" href="#toc-Invoking-update_002dleap">1 Invoking update-leap</a></li>
69*052d159aSCy Schubert
70a25439b6SCy Schubert</div>
71a25439b6SCy Schubert
72a25439b6SCy Schubert
73*052d159aSCy Schubert<table class="menu" border="0" cellspacing="0">
74*052d159aSCy Schubert<tr><td align="left" valign="top">&bull; update-leap Description:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Description
75*052d159aSCy Schubert</td></tr>
76*052d159aSCy Schubert<tr><td align="left" valign="top">&bull; <a href="#update_002dleap-Invocation" accesskey="2">update-leap Invocation</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Invoking update-leap
77*052d159aSCy Schubert</td></tr>
78*052d159aSCy Schubert</table>
79*052d159aSCy Schubert
80*052d159aSCy Schubert<hr>
81a25439b6SCy Schubert<a name="update_002dleap-Invocation"></a>
82*052d159aSCy Schubert<div class="header">
83*052d159aSCy Schubert<p>
84*052d159aSCy SchubertUp: <a href="#Top" accesskey="u" rel="up">Top</a> &nbsp; </p>
85a25439b6SCy Schubert</div>
86*052d159aSCy Schubert<a name="Invoking-update_002dleap"></a>
87*052d159aSCy Schubert<h3 class="section">1 Invoking update-leap</h3>
88*052d159aSCy Schubert<a name="index-update_002dleap"></a>
89*052d159aSCy Schubert<a name="index-leap_002dseconds-file-manager_002fupdater"></a>
90a25439b6SCy Schubert
91a25439b6SCy Schubert
92a25439b6SCy Schubert
93a25439b6SCy Schubert<p><code>update-leap</code>
94a25439b6SCy Schubertwill validate the file currently on the local system
95a25439b6SCy Schubertand if necessary, updates leap-second definition file.
96*052d159aSCy Schubert</p>
97*052d159aSCy Schubert<p>Ordinarily, the file is found using the &quot;leapfile&quot; directive in
98a25439b6SCy Schubert<code>ntp.conf(5)</code>.
99a25439b6SCy SchubertHowever, an alternate location can be specified on the command line.
100*052d159aSCy Schubert</p>
101a25439b6SCy Schubert<p>If the file does not exist, is not valid, has expired, or is expiring soon,
102a25439b6SCy Schuberta new copy will be downloaded.  If the new copy validates, it is installed and
103a25439b6SCy SchubertNTP is (optionally) restarted.
104*052d159aSCy Schubert</p>
105a25439b6SCy Schubert<p>If the current file is acceptable, no download or restart occurs.
106*052d159aSCy Schubert</p>
107a25439b6SCy Schubert<p>-c can also be used to invoke another script to perform administrative
108a25439b6SCy Schubertfunctions, e.g. to copy the file to other local systems.
109a25439b6SCy Schubert.PP
110a25439b6SCy SchubertThis can be run as a cron job.  As the file is rarely updated, and leap
111a25439b6SCy Schubertseconds are announced at least one month in advance (usually longer), it
112a25439b6SCy Schubertneed not be run more frequently than about once every three weeks.
113a25439b6SCy Schubert.PP
114a25439b6SCy SchubertFor cron-friendly behavior, define CRONJOB=1 in the crontab.
115a25439b6SCy Schubert.PP
116a25439b6SCy SchubertThis script depends on$REQUIREDCMDS
117*052d159aSCy Schubert</p>
118a25439b6SCy Schubert<p>This section was generated by <strong>AutoGen</strong>,
119a25439b6SCy Schubertusing the <code>agtexi-cmd</code> template and the option descriptions for the <code>update-leap</code> program.
120*052d159aSCy Schubert</p>
121*052d159aSCy Schubert<table class="menu" border="0" cellspacing="0">
122*052d159aSCy Schubert<tr><td align="left" valign="top">&bull; <a href="#update_002dleap-usage" accesskey="1">update-leap usage</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">update-leap help/usage (<samp>--help</samp>)
123*052d159aSCy Schubert</td></tr>
124*052d159aSCy Schubert<tr><td align="left" valign="top">&bull; <a href="#update_002dleap-source_002durl" accesskey="2">update-leap source-url</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">source-url option (-s)
125*052d159aSCy Schubert</td></tr>
126*052d159aSCy Schubert<tr><td align="left" valign="top">&bull; <a href="#update_002dleap-ipv4" accesskey="3">update-leap ipv4</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">ipv4 option (-4)
127*052d159aSCy Schubert</td></tr>
128*052d159aSCy Schubert<tr><td align="left" valign="top">&bull; <a href="#update_002dleap-destination" accesskey="4">update-leap destination</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">destination option (-d)
129*052d159aSCy Schubert</td></tr>
130*052d159aSCy Schubert<tr><td align="left" valign="top">&bull; <a href="#update_002dleap-expiration" accesskey="5">update-leap expiration</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">expiration option (-e)
131*052d159aSCy Schubert</td></tr>
132*052d159aSCy Schubert<tr><td align="left" valign="top">&bull; <a href="#update_002dleap-ntp_002dconf_002dfile" accesskey="6">update-leap ntp-conf-file</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">ntp-conf-file option (-f)
133*052d159aSCy Schubert</td></tr>
134*052d159aSCy Schubert<tr><td align="left" valign="top">&bull; <a href="#update_002dleap-force_002dupdate" accesskey="7">update-leap force-update</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">force-update option (-F)
135*052d159aSCy Schubert</td></tr>
136*052d159aSCy Schubert<tr><td align="left" valign="top">&bull; <a href="#update_002dleap-exit-status" accesskey="8">update-leap exit status</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">exit status
137*052d159aSCy Schubert</td></tr>
138*052d159aSCy Schubert<tr><td align="left" valign="top">&bull; <a href="#update_002dleap-Usage" accesskey="9">update-leap Usage</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Usage
139*052d159aSCy Schubert</td></tr>
140*052d159aSCy Schubert<tr><td align="left" valign="top">&bull; <a href="#update_002dleap-Authors">update-leap Authors</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Authors
141*052d159aSCy Schubert</td></tr>
142*052d159aSCy Schubert</table>
143a25439b6SCy Schubert
144*052d159aSCy Schubert<hr>
145*052d159aSCy Schubert<a name="update_002dleap-usage"></a>
146*052d159aSCy Schubert<div class="header">
147*052d159aSCy Schubert<p>
148*052d159aSCy SchubertNext: <a href="#update_002dleap-source_002durl" accesskey="n" rel="next">update-leap source-url</a>, Up: <a href="#update_002dleap-Invocation" accesskey="u" rel="up">update-leap Invocation</a> &nbsp; </p>
149a25439b6SCy Schubert</div>
150*052d159aSCy Schubert<a name="update_002dleap-help_002fusage-_0028_002d_002dhelp_0029"></a>
151*052d159aSCy Schubert<h4 class="subsection">1.1 update-leap help/usage (<samp>--help</samp>)</h4>
152*052d159aSCy Schubert<a name="index-update_002dleap-help"></a>
153a25439b6SCy Schubert
154*052d159aSCy Schubert<p>This is the automatically generated usage text for update-leap.
155*052d159aSCy Schubert</p>
156a25439b6SCy Schubert<p>The text printed is the same whether selected with the <code>help</code> option
157*052d159aSCy Schubert(<samp>--help</samp>) or the <code>more-help</code> option (<samp>--more-help</samp>).  <code>more-help</code> will print
158a25439b6SCy Schubertthe usage text by passing it through a pager program.
159a25439b6SCy Schubert<code>more-help</code> is disabled on platforms without a working
160a25439b6SCy Schubert<code>fork(2)</code> function.  The <code>PAGER</code> environment variable is
161*052d159aSCy Schubertused to select the program, defaulting to <samp>more</samp>.  Both will exit
162a25439b6SCy Schubertwith a status code of 0.
163*052d159aSCy Schubert</p>
164*052d159aSCy Schubert<div class="example">
16509100258SXin LI<pre class="example">
166*052d159aSCy Schubert
1674e1ef62aSXin LIUsage: update-leap [options]
1684e1ef62aSXin LI
1694e1ef62aSXin LIVerifies and if necessary, updates leap-second definition file
1704e1ef62aSXin LI
1714e1ef62aSXin LIAll arguments are optional:  Default (or current value) shown:
1724e1ef62aSXin LI    -C    Absolute path to CA Cert (see SSL/TLS Considerations)
1734e1ef62aSXin LI    -D    Path to a CAdir (see SSL/TLS Considerations)
1744e1ef62aSXin LI    -e    Specify how long (in days) before expiration the file is to be
1754e1ef62aSXin LI              refreshed.  Note that larger values imply more frequent refreshes.
1764e1ef62aSXin LI          60
1774e1ef62aSXin LI    -F    Force update even if current file is OK and not close to expiring.
1784e1ef62aSXin LI    -f    Absolute path ntp.conf file (default /etc/ntp.conf)
1794e1ef62aSXin LI          /etc/ntp.conf
1804e1ef62aSXin LI    -h    show help
1814e1ef62aSXin LI    -i    Specify number of minutes between retries
1824e1ef62aSXin LI          10
1834e1ef62aSXin LI    -L    Absolute path to leapfile on the local system
1844e1ef62aSXin LI          (overrides value in ntp.conf)
1854e1ef62aSXin LI    -l    Specify the syslog(3) facility for logging
1864e1ef62aSXin LI          LOG_USER
1874e1ef62aSXin LI    -q    Only report errors (cannot be used with -v)
1884e1ef62aSXin LI    -r    Specify number of attempts to retrieve file
1894e1ef62aSXin LI          6
1904e1ef62aSXin LI    -s    Send output to syslog(3) - implied if STDOUT has no tty or redirected
1914e1ef62aSXin LI    -t    Send output to terminal - implied if STDOUT attached to terminal
1924e1ef62aSXin LI    -u    Specify the URL of the master copy to download
1934e1ef62aSXin LI          https://www.ietf.org/timezones/data/leap-seconds.list
1944e1ef62aSXin LI    -v    Verbose - show debug messages (cannot be used with -q)
1954e1ef62aSXin LI
1964e1ef62aSXin LIThe following options are not (yet) implemented in the perl version:
1974e1ef62aSXin LI    -4    Use only IPv4
1984e1ef62aSXin LI    -6    Use only IPv6
1994e1ef62aSXin LI    -c    Command to restart NTP after installing a new file
2004e1ef62aSXin LI          &lt;none&gt; - ntpd checks file daily
2014e1ef62aSXin LI    -p 4|6
2024e1ef62aSXin LI          Prefer IPv4 or IPv6 (as specified) addresses, but use either
2034e1ef62aSXin LI
2044e1ef62aSXin LIupdate-leap will validate the file currently on the local system.
2054e1ef62aSXin LI
2064e1ef62aSXin LIOrdinarily, the leapfile is found using the 'leapfile' directive in
2074e1ef62aSXin LI/etc/ntp.conf.  However, an alternate location can be specified on the
2084e1ef62aSXin LIcommand line with the -L flag.
2094e1ef62aSXin LI
2104e1ef62aSXin LIIf the leapfile does not exist, is not valid, has expired, or is
2114e1ef62aSXin LIexpiring soon, a new copy will be downloaded.  If the new copy is
2124e1ef62aSXin LIvalid, it is installed.
2134e1ef62aSXin LI
2144e1ef62aSXin LIIf the current file is acceptable, no download or restart occurs.
2154e1ef62aSXin LI
2164e1ef62aSXin LIThis can be run as a cron job.  As the file is rarely updated, and
2174e1ef62aSXin LIleap seconds are announced at least one month in advance (usually
2184e1ef62aSXin LIlonger), it need not be run more frequently than about once every
2194e1ef62aSXin LIthree weeks.
2204e1ef62aSXin LI
2214e1ef62aSXin LISSL/TLS Considerations
2224e1ef62aSXin LI-----------------------
2234e1ef62aSXin LIThe perl modules can usually locate the CA certificate used to verify
2244e1ef62aSXin LIthe peer's identity.
2254e1ef62aSXin LI
2264e1ef62aSXin LIOn BSDs, the default is typically the file /etc/ssl/certs.pem.  On
2274e1ef62aSXin LILinux, the location is typically a path to a CAdir - a directory of
2284e1ef62aSXin LIsymlinks named according to a hash of the certificates' subject names.
2294e1ef62aSXin LI
2304e1ef62aSXin LIThe -C or -D options are available to pass in a location if no CA cert
2314e1ef62aSXin LIis found in the default location.
2324e1ef62aSXin LI
2334e1ef62aSXin LIExternal Dependencies
2344e1ef62aSXin LI---------------------
2354e1ef62aSXin LIThe following perl modules are required:
2364e1ef62aSXin LIHTTP::Tiny         - version &gt;= 0.056
2374e1ef62aSXin LIIO::Socket::SSL - version &gt;= 1.56
2384e1ef62aSXin LINET::SSLeay         - version &gt;= 1.49
2394e1ef62aSXin LI
2404e1ef62aSXin LIVersion: 1.004
241*052d159aSCy Schubert</pre></div>
242*052d159aSCy Schubert
243*052d159aSCy Schubert<hr>
244*052d159aSCy Schubert<a name="update_002dleap-source_002durl"></a>
245*052d159aSCy Schubert<div class="header">
246*052d159aSCy Schubert<p>
247*052d159aSCy SchubertNext: <a href="#update_002dleap-ipv4" accesskey="n" rel="next">update-leap ipv4</a>, Previous: <a href="#update_002dleap-usage" accesskey="p" rel="prev">update-leap usage</a>, Up: <a href="#update_002dleap-Invocation" accesskey="u" rel="up">update-leap Invocation</a> &nbsp; </p>
248a25439b6SCy Schubert</div>
249*052d159aSCy Schubert<a name="source_002durl-option-_0028_002ds_0029"></a>
250*052d159aSCy Schubert<h4 class="subsection">1.2 source-url option (-s)</h4>
251*052d159aSCy Schubert<a name="index-update_002dleap_002dsource_002durl"></a>
252a25439b6SCy Schubert
253*052d159aSCy Schubert<p>This is the &ldquo;the url of the master copy of the leapseconds file&rdquo; option.
254a25439b6SCy SchubertThis option takes a string argument.
255a25439b6SCy SchubertSpecify the URL of the master copy to download
256a25439b6SCy Schubert$LEAPSRC
257*052d159aSCy Schubert</p><hr>
258*052d159aSCy Schubert<a name="update_002dleap-ipv4"></a>
259*052d159aSCy Schubert<div class="header">
260*052d159aSCy Schubert<p>
261*052d159aSCy SchubertNext: <a href="#update_002dleap-destination" accesskey="n" rel="next">update-leap destination</a>, Previous: <a href="#update_002dleap-source_002durl" accesskey="p" rel="prev">update-leap source-url</a>, Up: <a href="#update_002dleap-Invocation" accesskey="u" rel="up">update-leap Invocation</a> &nbsp; </p>
262a25439b6SCy Schubert</div>
263*052d159aSCy Schubert<a name="ipv4-option-_0028_002d4_0029"></a>
264*052d159aSCy Schubert<h4 class="subsection">1.3 ipv4 option (-4)</h4>
265*052d159aSCy Schubert<a name="index-update_002dleap_002dipv4"></a>
266a25439b6SCy Schubert
267*052d159aSCy Schubert<p>This is the &ldquo;use only ipv4 addresses for dns name resolution&rdquo; option.
268*052d159aSCy Schubert</p>
269*052d159aSCy Schubert<p>This option has some usage constraints.  It:
270*052d159aSCy Schubert</p><ul>
271a25439b6SCy Schubert<li> must not appear in combination with any of the following options:
272a25439b6SCy Schubertipv6.
273*052d159aSCy Schubert</li></ul>
274a25439b6SCy Schubert
275a25439b6SCy Schubert<p>Force DNS resolution of following host names on the command line
276a25439b6SCy Schubert        to the IPv4 namespace.
277a25439b6SCy Schubert        _EndOfDoc_;
278a25439b6SCy Schubert;
279*052d159aSCy Schubert</p>
280a25439b6SCy Schubert<p>flag =
281a25439b6SCy Schubert    name      = ipv6;
282a25439b6SCy Schubert    flags-cant = ipv4, prefer;
283a25439b6SCy Schubert    value     = 6;
284*052d159aSCy Schubert    descrip   = &quot;Use only IPv6 addresses for DNS name resolution&quot;;
285a25439b6SCy Schubert    doc = &lt;&lt;-  _EndOfDoc_
286a25439b6SCy Schubert        Force DNS resolution of following host names on the command line
287a25439b6SCy Schubert        to the IPv6 namespace.
288a25439b6SCy Schubert        _EndOfDoc_;
289a25439b6SCy Schubert;
290*052d159aSCy Schubert</p>
291a25439b6SCy Schubert<p>flag =
292a25439b6SCy Schubert    name        = prefer;
293a25439b6SCy Schubert    flags-cant	= ipv4, ipv6;
294a25439b6SCy Schubert    value	= p;
295a25439b6SCy Schubert    arg-type    = keyword;
296a25439b6SCy Schubert    keyword	= 4, 6;
297*052d159aSCy Schubert    descrip     = &rsquo;Prefer IPv4 or IPv6 (as specified) addresses, but use either&rsquo;;
298a25439b6SCy Schubert    doc         = &lt;&lt;-  _EndOfDoc_
299a25439b6SCy SchubertPrefer IPv4 or IPv6 (as specified) addresses, but use either.
300*052d159aSCy Schubert</p><hr>
301*052d159aSCy Schubert<a name="update_002dleap-destination"></a>
302*052d159aSCy Schubert<div class="header">
303*052d159aSCy Schubert<p>
304*052d159aSCy SchubertNext: <a href="#update_002dleap-expiration" accesskey="n" rel="next">update-leap expiration</a>, Previous: <a href="#update_002dleap-ipv4" accesskey="p" rel="prev">update-leap ipv4</a>, Up: <a href="#update_002dleap-Invocation" accesskey="u" rel="up">update-leap Invocation</a> &nbsp; </p>
305a25439b6SCy Schubert</div>
306*052d159aSCy Schubert<a name="destination-option-_0028_002dd_0029"></a>
307*052d159aSCy Schubert<h4 class="subsection">1.4 destination option (-d)</h4>
308*052d159aSCy Schubert<a name="index-update_002dleap_002ddestination"></a>
309a25439b6SCy Schubert
310*052d159aSCy Schubert<p>This is the &ldquo;filename on the local system&rdquo; option.
311*052d159aSCy SchubertThis option takes a string argument <samp>float</samp>.
312a25439b6SCy SchubertThe name to use to store the leapfile on the local system.
313a25439b6SCy Schubert$LEAPFILE
314*052d159aSCy Schubert</p><hr>
315*052d159aSCy Schubert<a name="update_002dleap-expiration"></a>
316*052d159aSCy Schubert<div class="header">
317*052d159aSCy Schubert<p>
318*052d159aSCy SchubertNext: <a href="#update_002dleap-ntp_002dconf_002dfile" accesskey="n" rel="next">update-leap ntp-conf-file</a>, Previous: <a href="#update_002dleap-destination" accesskey="p" rel="prev">update-leap destination</a>, Up: <a href="#update_002dleap-Invocation" accesskey="u" rel="up">update-leap Invocation</a> &nbsp; </p>
319a25439b6SCy Schubert</div>
320*052d159aSCy Schubert<a name="expiration-option-_0028_002de_0029"></a>
321*052d159aSCy Schubert<h4 class="subsection">1.5 expiration option (-e)</h4>
322*052d159aSCy Schubert<a name="index-update_002dleap_002dexpiration"></a>
323a25439b6SCy Schubert
324*052d159aSCy Schubert<p>This is the &ldquo;refresh the leapfile this long before it expires&rdquo; option.
325a25439b6SCy SchubertThis option takes a string argument.
326a25439b6SCy SchubertSpecify how long before expiration the file is to be refreshed
327*052d159aSCy SchubertUnits are required, e.g. &quot;-e 60 days&quot;  Note that larger values
328a25439b6SCy Schubertimply more frequent refreshes.
329*052d159aSCy Schubert&quot;$PREFETCH&quot;
330*052d159aSCy Schubert</p><hr>
331*052d159aSCy Schubert<a name="update_002dleap-ntp_002dconf_002dfile"></a>
332*052d159aSCy Schubert<div class="header">
333*052d159aSCy Schubert<p>
334*052d159aSCy SchubertNext: <a href="#update_002dleap-force_002dupdate" accesskey="n" rel="next">update-leap force-update</a>, Previous: <a href="#update_002dleap-expiration" accesskey="p" rel="prev">update-leap expiration</a>, Up: <a href="#update_002dleap-Invocation" accesskey="u" rel="up">update-leap Invocation</a> &nbsp; </p>
335a25439b6SCy Schubert</div>
336*052d159aSCy Schubert<a name="ntp_002dconf_002dfile-option-_0028_002df_0029"></a>
337*052d159aSCy Schubert<h4 class="subsection">1.6 ntp-conf-file option (-f)</h4>
338*052d159aSCy Schubert<a name="index-update_002dleap_002dntp_002dconf_002dfile"></a>
339a25439b6SCy Schubert
340*052d159aSCy Schubert<p>This is the &ldquo;location of the ntp.conf file&rdquo; option.
341a25439b6SCy SchubertThis option takes a string argument.
342a25439b6SCy SchubertSpecify location of ntp.conf (used to make sure leapfile directive is
343a25439b6SCy Schubertpresent and to default  leapfile)
344a25439b6SCy Schubert/etc/ntp.conf
345*052d159aSCy Schubert</p><hr>
346*052d159aSCy Schubert<a name="update_002dleap-force_002dupdate"></a>
347*052d159aSCy Schubert<div class="header">
348*052d159aSCy Schubert<p>
349*052d159aSCy SchubertNext: <a href="#update_002dleap-exit-status" accesskey="n" rel="next">update-leap exit status</a>, Previous: <a href="#update_002dleap-ntp_002dconf_002dfile" accesskey="p" rel="prev">update-leap ntp-conf-file</a>, Up: <a href="#update_002dleap-Invocation" accesskey="u" rel="up">update-leap Invocation</a> &nbsp; </p>
350a25439b6SCy Schubert</div>
351*052d159aSCy Schubert<a name="force_002dupdate-option-_0028_002dF_0029"></a>
352*052d159aSCy Schubert<h4 class="subsection">1.7 force-update option (-F)</h4>
353*052d159aSCy Schubert<a name="index-update_002dleap_002dforce_002dupdate"></a>
354a25439b6SCy Schubert
355*052d159aSCy Schubert<p>This is the &ldquo;force update of the leapfile&rdquo; option.
356a25439b6SCy SchubertForce update even if current file is OK and not close to expiring.
357*052d159aSCy Schubert</p><hr>
358*052d159aSCy Schubert<a name="update_002dleap-exit-status"></a>
359*052d159aSCy Schubert<div class="header">
360*052d159aSCy Schubert<p>
361*052d159aSCy SchubertNext: <a href="#update_002dleap-Usage" accesskey="n" rel="next">update-leap Usage</a>, Previous: <a href="#update_002dleap-force_002dupdate" accesskey="p" rel="prev">update-leap force-update</a>, Up: <a href="#update_002dleap-Invocation" accesskey="u" rel="up">update-leap Invocation</a> &nbsp; </p>
362a25439b6SCy Schubert</div>
363*052d159aSCy Schubert<a name="update_002dleap-exit-status-1"></a>
364*052d159aSCy Schubert<h4 class="subsection">1.8 update-leap exit status</h4>
365a25439b6SCy Schubert
366a25439b6SCy Schubert<p>One of the following exit values will be returned:
367*052d159aSCy Schubert</p><dl compact="compact">
368*052d159aSCy Schubert<dt>&lsquo;<samp>0 (EXIT_SUCCESS)</samp>&rsquo;</dt>
369*052d159aSCy Schubert<dd><p>Successful program execution.
370*052d159aSCy Schubert</p></dd>
371*052d159aSCy Schubert<dt>&lsquo;<samp>1 (EXIT_FAILURE)</samp>&rsquo;</dt>
372*052d159aSCy Schubert<dd><p>The operation failed or the command syntax was not valid.
373*052d159aSCy Schubert</p></dd>
374a25439b6SCy Schubert</dl>
375*052d159aSCy Schubert<hr>
376*052d159aSCy Schubert<a name="update_002dleap-Usage"></a>
377*052d159aSCy Schubert<div class="header">
378*052d159aSCy Schubert<p>
379*052d159aSCy SchubertNext: <a href="#update_002dleap-Authors" accesskey="n" rel="next">update-leap Authors</a>, Previous: <a href="#update_002dleap-exit-status" accesskey="p" rel="prev">update-leap exit status</a>, Up: <a href="#update_002dleap-Invocation" accesskey="u" rel="up">update-leap Invocation</a> &nbsp; </p>
380a25439b6SCy Schubert</div>
381*052d159aSCy Schubert<a name="update_002dleap-Usage-1"></a>
382*052d159aSCy Schubert<h4 class="subsection">1.9 update-leap Usage</h4>
383*052d159aSCy Schubert<hr>
384*052d159aSCy Schubert<a name="update_002dleap-Authors"></a>
385*052d159aSCy Schubert<div class="header">
386*052d159aSCy Schubert<p>
387*052d159aSCy SchubertPrevious: <a href="#update_002dleap-Usage" accesskey="p" rel="prev">update-leap Usage</a>, Up: <a href="#update_002dleap-Invocation" accesskey="u" rel="up">update-leap Invocation</a> &nbsp; </p>
388a25439b6SCy Schubert</div>
389*052d159aSCy Schubert<a name="update_002dleap-Authors-1"></a>
390*052d159aSCy Schubert<h4 class="subsection">1.10 update-leap Authors</h4>
391*052d159aSCy Schubert<hr>
392a25439b6SCy Schubert
393a25439b6SCy Schubert
394a25439b6SCy Schubert
395*052d159aSCy Schubert</body>
396*052d159aSCy Schubert</html>
397