Home | History | Annotate | Line # | Download | only in update-leap
      1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
      2 <html>
      3 <!-- Created by GNU Texinfo 6.6, http://www.gnu.org/software/texinfo/ -->
      4 <head>
      5 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
      6 <title>update-leap User&rsquo;s Manual</title>
      7 
      8 <meta name="description" content="update-leap User&rsquo;s Manual">
      9 <meta name="keywords" content="update-leap User&rsquo;s Manual">
     10 <meta name="resource-type" content="document">
     11 <meta name="distribution" content="global">
     12 <meta name="Generator" content="makeinfo">
     13 <link href="#Top" rel="start" title="Top">
     14 <link href="dir.html#Top" rel="up" title="(dir)">
     15 <style type="text/css">
     16 <!--
     17 a.summary-letter {text-decoration: none}
     18 blockquote.indentedblock {margin-right: 0em}
     19 div.display {margin-left: 3.2em}
     20 div.example {margin-left: 3.2em}
     21 div.lisp {margin-left: 3.2em}
     22 kbd {font-style: oblique}
     23 pre.display {font-family: inherit}
     24 pre.format {font-family: inherit}
     25 pre.menu-comment {font-family: serif}
     26 pre.menu-preformatted {font-family: serif}
     27 span.nolinebreak {white-space: nowrap}
     28 span.roman {font-family: initial; font-weight: normal}
     29 span.sansserif {font-family: sans-serif; font-weight: normal}
     30 ul.no-bullet {list-style: none}
     31 -->
     32 </style>
     33 
     34 
     35 </head>
     36 
     37 <body lang="en">
     38 <h1 class="settitle" align="center">update-leap User&rsquo;s Manual</h1>
     39 
     40 
     41 
     42 
     43 
     44 <span id="Top"></span><div class="header">
     45 <p>
     46 Previous: <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>
     47 </div>
     48 <h1 class="node-heading">Top</h1>
     49 
     50 <p>This document describes the use of the NTP Project&rsquo;s <code>update-leap</code> program.
     51 </p>
     52 <p>This document applies to version 4.2.8p18 of <code>update-leap</code>.
     53 </p>
     54 <span id="SEC_Overview"></span>
     55 <h2 class="shortcontents-heading">Short Table of Contents</h2>
     56 
     57 <div class="shortcontents">
     58 <li><a id="stoc-Invoking-update_002dleap" href="#toc-Invoking-update_002dleap">1 Invoking update-leap</a></li>
     59 
     60 </div>
     61 
     62 
     63 <table class="menu" border="0" cellspacing="0">
     64 <tr><td align="left" valign="top">&bull; update-leap Description</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Description
     65 </td></tr>
     66 <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
     67 </td></tr>
     68 </table>
     69 
     70 <hr>
     71 <span id="update_002dleap-Invocation"></span><div class="header">
     72 <p>
     73 Up: <a href="#Top" accesskey="u" rel="up">Top</a> &nbsp; </p>
     74 </div>
     75 <span id="Invoking-update_002dleap"></span><h3 class="section">1 Invoking update-leap</h3>
     76 <span id="index-update_002dleap"></span>
     77 <span id="index-leap_002dseconds-file-manager_002fupdater"></span>
     78 
     79 
     80 
     81 <p><code>update-leap</code>
     82 will validate the file currently on the local system
     83 and if necessary, updates leap-second definition file.
     84 </p>
     85 <p>Ordinarily, the file is found using the &quot;leapfile&quot; directive in
     86 <code>ntp.conf(5)</code>.
     87 However, an alternate location can be specified on the command line.
     88 </p>
     89 <p>If the file does not exist, is not valid, has expired, or is expiring soon,
     90 a new copy will be downloaded.  If the new copy validates, it is installed and
     91 NTP is (optionally) restarted.
     92 </p>
     93 <p>If the current file is acceptable, no download or restart occurs.
     94 </p>
     95 <p>-c can also be used to invoke another script to perform administrative
     96 functions, e.g. to copy the file to other local systems.
     97 .PP
     98 This can be run as a cron job.  As the file is rarely updated, and leap
     99 seconds are announced at least one month in advance (usually longer), it
    100 need not be run more frequently than about once every three weeks.
    101 .PP
    102 For cron-friendly behavior, define CRONJOB=1 in the crontab.
    103 .PP
    104 This script depends on$REQUIREDCMDS
    105 </p>
    106 <p>This section was generated by <strong>AutoGen</strong>,
    107 using the <code>agtexi-cmd</code> template and the option descriptions for the <code>update-leap</code> program.
    108 </p>
    109 <table class="menu" border="0" cellspacing="0">
    110 <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>)
    111 </td></tr>
    112 <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)
    113 </td></tr>
    114 <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)
    115 </td></tr>
    116 <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)
    117 </td></tr>
    118 <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)
    119 </td></tr>
    120 <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)
    121 </td></tr>
    122 <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)
    123 </td></tr>
    124 <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
    125 </td></tr>
    126 <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
    127 </td></tr>
    128 <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
    129 </td></tr>
    130 </table>
    131 
    132 <hr>
    133 <span id="update_002dleap-usage"></span><div class="header">
    134 <p>
    135 Next: <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>
    136 </div>
    137 <span id="update_002dleap-help_002fusage-_0028_002d_002dhelp_0029"></span><h4 class="subsection">1.1 update-leap help/usage (<samp>--help</samp>)</h4>
    138 <span id="index-update_002dleap-help"></span>
    139 
    140 <p>This is the automatically generated usage text for update-leap.
    141 </p>
    142 <p>The text printed is the same whether selected with the <code>help</code> option
    143 (<samp>--help</samp>) or the <code>more-help</code> option (<samp>--more-help</samp>).  <code>more-help</code> will print
    144 the usage text by passing it through a pager program.
    145 <code>more-help</code> is disabled on platforms without a working
    146 <code>fork(2)</code> function.  The <code>PAGER</code> environment variable is
    147 used to select the program, defaulting to <samp>more</samp>.  Both will exit
    148 with a status code of 0.
    149 </p>
    150 <div class="example">
    151 <pre class="example">
    152 
    153 Usage: update-leap [options]
    154 
    155 Verifies and if necessary, updates leap-second definition file
    156 
    157 All arguments are optional:  Default (or current value) shown:
    158     -C    Absolute path to CA Cert (see SSL/TLS Considerations)
    159     -D    Path to a CAdir (see SSL/TLS Considerations)
    160     -e    Specify how long (in days) before expiration the file is to be
    161               refreshed.  Note that larger values imply more frequent refreshes.
    162           60
    163     -F    Force update even if current file is OK and not close to expiring.
    164     -f    Absolute path ntp.conf file (default /etc/ntp.conf)
    165           /etc/ntp.conf
    166     -h    show help
    167     -i    Specify number of minutes between retries
    168           10
    169     -L    Absolute path to leapfile on the local system
    170           (overrides value in ntp.conf)
    171     -l    Specify the syslog(3) facility for logging
    172           LOG_USER
    173     -q    Only report errors (cannot be used with -v)
    174     -r    Specify number of attempts to retrieve file
    175           6
    176     -s    Send output to syslog(3) - implied if STDOUT has no tty or redirected
    177     -t    Send output to terminal - implied if STDOUT attached to terminal
    178     -u    Specify the URL of the master copy to download
    179           https://www.ietf.org/timezones/data/leap-seconds.list
    180     -v    Verbose - show debug messages (cannot be used with -q)
    181 
    182 The following options are not (yet) implemented in the perl version:
    183     -4    Use only IPv4
    184     -6    Use only IPv6
    185     -c    Command to restart NTP after installing a new file
    186           &lt;none&gt; - ntpd checks file daily
    187     -p 4|6
    188           Prefer IPv4 or IPv6 (as specified) addresses, but use either
    189 
    190 update-leap will validate the file currently on the local system.
    191 
    192 Ordinarily, the leapfile is found using the 'leapfile' directive in
    193 /etc/ntp.conf.  However, an alternate location can be specified on the
    194 command line with the -L flag.
    195 
    196 If the leapfile does not exist, is not valid, has expired, or is
    197 expiring soon, a new copy will be downloaded.  If the new copy is
    198 valid, it is installed.
    199 
    200 If the current file is acceptable, no download or restart occurs.
    201 
    202 This can be run as a cron job.  As the file is rarely updated, and
    203 leap seconds are announced at least one month in advance (usually
    204 longer), it need not be run more frequently than about once every
    205 three weeks.
    206 
    207 SSL/TLS Considerations
    208 -----------------------
    209 The perl modules can usually locate the CA certificate used to verify
    210 the peer's identity.
    211 
    212 On BSDs, the default is typically the file /etc/ssl/certs.pem.  On
    213 Linux, the location is typically a path to a CAdir - a directory of
    214 symlinks named according to a hash of the certificates' subject names.
    215 
    216 The -C or -D options are available to pass in a location if no CA cert
    217 is found in the default location.
    218 
    219 External Dependencies
    220 ---------------------
    221 The following perl modules are required:
    222 HTTP::Tiny         - version &gt;= 0.056
    223 IO::Socket::SSL - version &gt;= 1.56
    224 NET::SSLeay         - version &gt;= 1.49
    225 
    226 Version: 1.004
    227 </pre></div>
    228 
    229 <hr>
    230 <span id="update_002dleap-source_002durl"></span><div class="header">
    231 <p>
    232 Next: <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>
    233 </div>
    234 <span id="source_002durl-option-_0028_002ds_0029"></span><h4 class="subsection">1.2 source-url option (-s)</h4>
    235 <span id="index-update_002dleap_002dsource_002durl"></span>
    236 
    237 <p>This is the &ldquo;the url of the master copy of the leapseconds file&rdquo; option.
    238 This option takes a string argument.
    239 Specify the URL of the master copy to download
    240 $LEAPSRC
    241 </p><hr>
    242 <span id="update_002dleap-ipv4"></span><div class="header">
    243 <p>
    244 Next: <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>
    245 </div>
    246 <span id="ipv4-option-_0028_002d4_0029"></span><h4 class="subsection">1.3 ipv4 option (-4)</h4>
    247 <span id="index-update_002dleap_002dipv4"></span>
    248 
    249 <p>This is the &ldquo;use only ipv4 addresses for dns name resolution&rdquo; option.
    250 </p>
    251 <p>This option has some usage constraints.  It:
    252 </p><ul>
    253 <li> must not appear in combination with any of the following options:
    254 ipv6.
    255 </li></ul>
    256 
    257 <p>Force DNS resolution of following host names on the command line
    258         to the IPv4 namespace.
    259         _EndOfDoc_;
    260 ;
    261 </p>
    262 <p>flag = 
    263     name      = ipv6;
    264     flags-cant = ipv4, prefer;
    265     value     = 6;
    266     descrip   = &quot;Use only IPv6 addresses for DNS name resolution&quot;;
    267     doc = &lt;&lt;-  _EndOfDoc_
    268         Force DNS resolution of following host names on the command line
    269         to the IPv6 namespace.
    270         _EndOfDoc_;
    271 ;
    272 </p>
    273 <p>flag = 
    274     name        = prefer;
    275     flags-cant	= ipv4, ipv6;
    276     value	= p;
    277     arg-type    = keyword;
    278     keyword	= 4, 6;
    279     descrip     = &rsquo;Prefer IPv4 or IPv6 (as specified) addresses, but use either&rsquo;;
    280     doc         = &lt;&lt;-  _EndOfDoc_
    281 Prefer IPv4 or IPv6 (as specified) addresses, but use either.
    282 </p><hr>
    283 <span id="update_002dleap-destination"></span><div class="header">
    284 <p>
    285 Next: <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>
    286 </div>
    287 <span id="destination-option-_0028_002dd_0029"></span><h4 class="subsection">1.4 destination option (-d)</h4>
    288 <span id="index-update_002dleap_002ddestination"></span>
    289 
    290 <p>This is the &ldquo;filename on the local system&rdquo; option.
    291 This option takes a string argument <samp>float</samp>.
    292 The name to use to store the leapfile on the local system.
    293 $LEAPFILE
    294 </p><hr>
    295 <span id="update_002dleap-expiration"></span><div class="header">
    296 <p>
    297 Next: <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>
    298 </div>
    299 <span id="expiration-option-_0028_002de_0029"></span><h4 class="subsection">1.5 expiration option (-e)</h4>
    300 <span id="index-update_002dleap_002dexpiration"></span>
    301 
    302 <p>This is the &ldquo;refresh the leapfile this long before it expires&rdquo; option.
    303 This option takes a string argument.
    304 Specify how long before expiration the file is to be refreshed
    305 Units are required, e.g. &quot;-e 60 days&quot;  Note that larger values
    306 imply more frequent refreshes.
    307 &quot;$PREFETCH&quot;
    308 </p><hr>
    309 <span id="update_002dleap-ntp_002dconf_002dfile"></span><div class="header">
    310 <p>
    311 Next: <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>
    312 </div>
    313 <span id="ntp_002dconf_002dfile-option-_0028_002df_0029"></span><h4 class="subsection">1.6 ntp-conf-file option (-f)</h4>
    314 <span id="index-update_002dleap_002dntp_002dconf_002dfile"></span>
    315 
    316 <p>This is the &ldquo;location of the ntp.conf file&rdquo; option.
    317 This option takes a string argument.
    318 Specify location of ntp.conf (used to make sure leapfile directive is
    319 present and to default  leapfile)
    320 /etc/ntp.conf
    321 </p><hr>
    322 <span id="update_002dleap-force_002dupdate"></span><div class="header">
    323 <p>
    324 Next: <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>
    325 </div>
    326 <span id="force_002dupdate-option-_0028_002dF_0029"></span><h4 class="subsection">1.7 force-update option (-F)</h4>
    327 <span id="index-update_002dleap_002dforce_002dupdate"></span>
    328 
    329 <p>This is the &ldquo;force update of the leapfile&rdquo; option.
    330 Force update even if current file is OK and not close to expiring.
    331 </p><hr>
    332 <span id="update_002dleap-exit-status"></span><div class="header">
    333 <p>
    334 Next: <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>
    335 </div>
    336 <span id="update_002dleap-exit-status-1"></span><h4 class="subsection">1.8 update-leap exit status</h4>
    337 
    338 <p>One of the following exit values will be returned:
    339 </p><dl compact="compact">
    340 <dt>&lsquo;<samp>0 (EXIT_SUCCESS)</samp>&rsquo;</dt>
    341 <dd><p>Successful program execution.
    342 </p></dd>
    343 <dt>&lsquo;<samp>1 (EXIT_FAILURE)</samp>&rsquo;</dt>
    344 <dd><p>The operation failed or the command syntax was not valid.
    345 </p></dd>
    346 </dl>
    347 <hr>
    348 <span id="update_002dleap-Usage"></span><div class="header">
    349 <p>
    350 Next: <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>
    351 </div>
    352 <span id="update_002dleap-Usage-1"></span><h4 class="subsection">1.9 update-leap Usage</h4>
    353 <hr>
    354 <span id="update_002dleap-Authors"></span><div class="header">
    355 <p>
    356 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>
    357 </div>
    358 <span id="update_002dleap-Authors-1"></span><h4 class="subsection">1.10 update-leap Authors</h4>
    359 <hr>
    360 
    361 
    362 
    363 </body>
    364 </html>
    365