This file is indexed.

/usr/share/doc/HOWTO/fr-html/TimePrecision-HOWTO.html is in doc-linux-fr-html 2013.01-3.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
  PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Gestion précise de l'heure et de la date</title><link rel="stylesheet" type="text/css" href="style.css"/><meta name="generator" content="DocBook XSL Stylesheets V1.79.1"/><meta name="description" content="Ce document présente la gestion de la date et de l'heure sous Linux. Il explique également comment régler la date et l'heure de votre système et comment synchroniser votre machine via le protocole NTP."/></head><body><div xml:lang="fr" class="article"><div class="titlepage"><div><div><h2 class="title"><a id="d0e1"/>
        Gestion précise de l'heure et de la date
    </h2></div><div><h3 class="subtitle"><em>
        Version française du <span class="foreignphrase"><em class="foreignphrase">Managing Accurate Date and 
        Time</em></span>
    </em></h3></div><div><div class="authorgroup"><div class="author"><h3 class="author"><span class="firstname">Avi</span> <span class="surname">Alkalay</span></h3><div class="affiliation"><span class="orgname">
            IBM équipe Impact Linux : <a class="ulink" href="http://ibm.com/linux" target="_top">http://ibm.com/linux</a>
          <br/></span> <span class="orgdiv">
            Consultant Linux et normes ouvertes : architecte en 
            chef informatique et logiciels
          <br/></span><div class="address"><p><br/>
            <code class="email">&lt;<a class="email" href="mailto:avi CHEZ unix POINT sh">avi CHEZ unix POINT sh</a>&gt;</code><br/>
          </p></div></div></div><p class="othercredit"><span class="contrib">
          Suggestion d'utiliser pool.ntp.org et des serveurs publics de 
          temps NTP de strate 2
        </span> : <span class="firstname">Brad</span> <span class="surname">Knowles</span></p><p class="othercredit"><span class="contrib">Suggestion d'utiliser ntpq au lieu de ntpdc</span> : <span class="firstname">Kent</span> <span class="surname">Borg</span></p><p class="othercredit"><span class="contrib">Explication des informations données par ntpq et 
        ntpdc</span> : <span class="firstname">Yura</span> <span class="surname">Moron</span></p><p class="othercredit"><span class="contrib"><a class="ulink" href="http://www.linux.or.jp/JF/JFdocs/TimePrecision-HOWTO/" target="_top">Adaptation japonaise</a></span> : <span class="firstname">Takeo</span> <span class="surname">Nakano</span></p><p class="othercredit"><span class="contrib"><a class="ulink" href="http://computerlib.narod.ru/html/linuxtime.htm" target="_top">Adaptation russe</a></span> : <span class="firstname">SHAKI</span></p><p class="othercredit"><span class="contrib"><a class="ulink" href="http://tldp.fsf.hu/HOWTO/TimePrecision-HOWTO-hu/index.html" target="_top">Adaptation hongroise</a>, la section chrony et la toute première section</span> : <span class="firstname">Mihaly</span> <span class="surname">Gyulai</span></p><p class="othercredit"><span class="contrib"><a class="ulink" href="http://www.traduc.org/docs/HOWTO/lecture/TimePrecision-HOWTO.html" target="_top">Adaptation française</a></span> : <span class="firstname">Philippe</span> <span class="surname">Wautelet</span></p><p class="othercredit"><span class="contrib">Relecture de la version française</span> : <span class="firstname">Raphaël</span> <span class="surname">Semeteys</span></p><p class="othercredit"><span class="contrib">Préparation de la publication de la v.f.</span> : <span class="firstname">Jean-Philippe</span> <span class="surname">Guérard</span></p></div></div><div><p class="releaseinfo">Version : 1.0.9.fr.1.0</p></div><div><p class="copyright">Copyright © 2002-2004 Avi Alkalay</p></div><div><p class="copyright">Copyright © 2004, 2005 Philippe Wautelet, Raphaël Semeteys, Jean-Philippe Guérard</p></div><div><p class="pubdate">2005-09-24</p></div><div><div class="revhistory"><table summary="Historique des versions"><tr><th align="left" valign="top" colspan="3"><strong>Historique des versions</strong></th></tr><tr><td align="left">Version 1.0.9.fr.1.0</td><td align="left">2005-09-24</td><td align="left">PW, RS, JPG</td></tr><tr><td align="left" colspan="3">
        
            Adaptation française de la version 1.0.9.
        
        </td></tr><tr><td align="left">Version 1.0.9</td><td align="left">2005-05-03</td><td align="left">Avi</td></tr><tr><td align="left" colspan="3">Inclusion d'un lien vers la traduction française (<span class="emphasis"><em>Included link to french translation</em></span>).</td></tr><tr><td align="left">Version 1.0.8</td><td align="left">2004-10-29</td><td align="left">MG</td></tr><tr><td align="left" colspan="3">Adaptation hongroise, la section chrony et la toute première section (<span class="emphasis"><em>Hungarian translation, the chrony section and the very first section</em></span>).</td></tr><tr><td align="left">Version 1.0.7.fr.1.0</td><td align="left">2005-03-22</td><td align="left">PW, RS, JPG</td></tr><tr><td align="left" colspan="3">Première traduction française.</td></tr><tr><td align="left">Version 1.0.7</td><td align="left">2004-07-09</td><td align="left">AVI</td></tr><tr><td align="left" colspan="3">
        
            Note près de la licence pour signaler qu'il n'est pas
            nécessaire de demander une autorisation pour traduire ce
            document ; petites corrections pour plusieurs phrases
            (<span class="emphasis"><em>Disclaimer near to license, to let people know
            they can translate without asking permission; Small fixes in
            some phrases</em></span>).
            
        </td></tr><tr><td align="left">Version 1.0.6</td><td align="left">2004-02-25</td><td align="left">AVI</td></tr><tr><td align="left" colspan="3">Ajouté remerciements et lien vers la traduction russe (<span class="emphasis"><em>Included credits and link to russian translation</em></span>).</td></tr><tr><td align="left">Version 1.0.5</td><td align="left">2003-07-05</td><td align="left">AVI</td></tr><tr><td align="left" colspan="3">Changé l'adresse vers les serveurs de temps publics et ajouté pool.ntp.org (<span class="emphasis"><em>Changed public time servers list URL. Added pool.ntp.org</em></span>).</td></tr><tr><td align="left">Version 1.0.4</td><td align="left">2002-12-21</td><td align="left">AVI</td></tr><tr><td align="left" colspan="3">Ajouté remerciements et lien vers la traduction japonaise (<span class="emphasis"><em>Added japanese translation link and credits</em></span>).</td></tr><tr><td align="left">Version 1.0.3</td><td align="left">2002-08-24</td><td align="left">AVI</td></tr><tr><td align="left" colspan="3">Corrigé les largeurs d'écrans et de listings (<span class="emphasis"><em>Fixed wrong screen and programlisting widths</em></span>).</td></tr><tr><td align="left">Version 1.0.2</td><td align="left">2002-08-04</td><td align="left">AVI</td></tr><tr><td align="left" colspan="3">Lien vers une page de serveurs de temps publics (<span class="emphasis"><em>Link to public time servers page</em></span>).</td></tr><tr><td align="left">Version 1.0.1</td><td align="left">2002-05-07</td><td align="left">AVI</td></tr><tr><td align="left" colspan="3">Conversion finale en XML et réorganisation des fichiers (<span class="emphasis"><em>Final XML conversion. Files reorganization</em></span>).</td></tr><tr><td align="left">Version 1.0</td><td align="left">2002-04-28</td><td align="left">AVI</td></tr><tr><td align="left" colspan="3">Image terminée (<span class="emphasis"><em>Finalized image</em></span>).</td></tr><tr><td align="left">Version 0.8</td><td align="left">2002-04-27</td><td align="left">AVI</td></tr><tr><td align="left" colspan="3">Remplacé ntpdc par ntpq dans l'exemple (<span class="emphasis"><em>Switched from ntpdc example to ntpq, based on contributions</em></span>).</td></tr><tr><td align="left">Version 0.8.1</td><td align="left">2002-04-20</td><td align="left">AVI</td></tr><tr><td align="left" colspan="3">Graphique amélioré et liens vers d'autres documents (<span class="emphasis"><em>Improved graphic. Links to other doc locations</em></span>).</td></tr><tr><td align="left">Version 0.8</td><td align="left">2002-04-14</td><td align="left">AVI</td></tr><tr><td align="left" colspan="3">Amélioration de la figure NTP (<span class="emphasis"><em>Better tuning of NTP graphic</em></span>).</td></tr><tr><td align="left">Version 0.76</td><td align="left">2002-04-13</td><td align="left">AVI</td></tr><tr><td align="left" colspan="3">Ajouté une figure sur l'architecture (<span class="emphasis"><em>Inclusion of architecture graphic</em></span>).</td></tr><tr><td align="left">Version 0.75</td><td align="left">2002-04-10</td><td align="left">AVI</td></tr><tr><td align="left" colspan="3">Correction orthographe et utilisation DocBook XSLT 1.50 (<span class="emphasis"><em>Spell checked. Using DocBook XSLT 1.50</em></span>).</td></tr><tr><td align="left">Version 0.65</td><td align="left">2002-03-31</td><td align="left">AVI</td></tr><tr><td align="left" colspan="3">Passé au format XML 4.1.2 DocBook (<span class="emphasis"><em>Upgraded to XML 4.1.2 DocBook format</em></span>).</td></tr><tr><td align="left">Version 0.6</td><td align="left">2002-03-29</td><td align="left">AVI</td></tr><tr><td align="left" colspan="3">Terminé le mécanisme des fuseaux horaires sur Linux. Créé l'annexe. Il ne reste plus que les dessins. (<span class="emphasis"><em>Finished timezone mechanism on Linux. Created appendix. Now only drawings are needed</em></span>).</td></tr><tr><td align="left">Version 0.4</td><td align="left">2002-03-24</td><td align="left">AVI</td></tr><tr><td align="left" colspan="3">Toute la structure est définie. Tous les exemples de commandes sont écrits (<span class="emphasis"><em>All skeleton defined. All command examples written</em></span>).</td></tr><tr><td align="left">Version 0.2</td><td align="left">2002-03-19</td><td align="left">AVI</td></tr><tr><td align="left" colspan="3">Première version DocBook (<span class="emphasis"><em>First DocBook version</em></span>).</td></tr></table></div></div><div><div class="abstract"><p class="title"><strong>Résumé</strong></p><p>

      Ce document présente la gestion de la date et de l'heure sous 
      Linux. Il explique également comment régler la date et l'heure de 
      votre système et comment synchroniser votre machine via le 
      protocole NTP.

  </p></div></div></div><hr/></div><div class="toc"><p><strong>Table des matières</strong></p><dl class="toc"><dt><span class="section"><a href="#why">1. Pourquoi avoir une horloge précise ?</a></span></dt><dd><dl><dt><span class="section"><a href="#why.pcclock">1.1. De quels facteurs dépend l'horloge matérielle ?</a></span></dt></dl></dd><dt><span class="section"><a href="#time">2. L'heure et la date en informatique</a></span></dt><dt><span class="section"><a href="#tz">3. Qu'est-ce qu'un fuseau horaire ?</a></span></dt><dd><dl><dt><span class="section"><a href="#tz.dst">3.1. L'heure d'été</a></span></dt><dt><span class="section"><a href="#tz.examples">3.2. Exemples de fuseaux horaires</a></span></dt><dt><span class="section"><a href="#tz.linux">3.3. Les fuseaux horaires et Linux</a></span></dt></dl></dd><dt><span class="section"><a href="#set">4. Les paramètres corrects pour votre machine Linux</a></span></dt><dd><dl><dt><span class="section"><a href="#set.tz">4.1. Sélection du fuseau horaire</a></span></dt><dt><span class="section"><a href="#set.hwclock">4.2. Régler l'horloge matérielle</a></span></dt></dl></dd><dt><span class="section"><a href="#ntp">5. Synchronisation précise de l'heure</a></span></dt><dd><dl><dt><span class="section"><a href="#ntp.ntp">5.1. <acronym class="acronym">NTP</acronym> : protocole de diffusion du temps en réseau (Network Time Protocol)</a></span></dt><dt><span class="section"><a href="#ntp.arch">5.2. Construire une architecture simple de synchronisation de l'heure</a></span></dt><dt><span class="section"><a href="#ntp.configs">5.3. Configuration <acronym class="acronym">NTP</acronym></a></span></dt><dt><span class="section"><a href="#ntp.watch">5.4. Observer votre machine se synchroniser</a></span></dt><dt><span class="section"><a href="#ntp.boot">5.5. Lancer automatiquement <acronym class="acronym">NTP</acronym> au démarrage</a></span></dt></dl></dd><dt><span class="section"><a href="#ntp.chrony">6. Une horloge précise avec le programme <span class="command"><strong>chrony</strong></span></a></span></dt><dd><dl><dt><span class="section"><a href="#ntp.chrony.diff">6.1. En quoi <span class="command"><strong>chrony</strong></span> diffère de <span class="command"><strong>ntp</strong></span> ?</a></span></dt><dt><span class="section"><a href="#ntp.chrony.how">6.2. Comment utiliser <span class="command"><strong>chrony</strong></span> ?</a></span></dt></dl></dd><dt><span class="appendix"><a href="#about">A. À propos de ce document</a></span></dt></dl></div><div class="section"><div class="titlepage"><div><div><h2 class="title"><a id="why"/>1. Pourquoi avoir une horloge précise ?</h2></div></div></div><p>
    
        Si votre ordinateur ne se connecte jamais à d'autres ordinateurs 
        (ou à d'autres appareils utilisant une horloge), la précision de 
        l'horloge n'est pas critique en elle-même, elle dépend des 
        besoins de l'utilisateur. Cependant, les programmes qui d'une 
        façon ou l'autre utilisent internet dépendent d'une date et 
        d'une heure précises. Voici quelques situations où vous pourriez 
        en avoir besoin :
        
    </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Pour des logiciels effectuant des transactions ;</p></li><li class="listitem"><p>Pour des applications commerciales (p.ex. eBay) ;</p></li><li class="listitem"><p>Pour des clients et serveurs de messagerie ;</p></li><li class="listitem"><p>Pour des sites web qui utilisent des cookies ;</p></li><li class="listitem"><p>Pour des applications web distibuées ;</p></li><li class="listitem"><p>Pour certains services web ;</p></li><li class="listitem"><p>Pour des applications distribuées à base de 
      composants telles que <acronym class="acronym">J2EE</acronym>, 
      <acronym class="acronym">.NET</acronym>, et cætera ;</p></li><li class="listitem"><p>Pour des systèmes de fichiers modernes avancés et 
      parallèles tels que AFS, DFS, GFS, GPFS, et 
      cætera.</p></li></ul></div><p>Et bien sûr, pour utiliser votre ordinateur pour régler votre montre.</p><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="why.pcclock"/>1.1. De quels facteurs dépend l'horloge matérielle ?</h3></div></div></div><p>Ici, nous allons un peu parler de la précision de l'horloge matérielle.</p><p>Dans les PC, des oscillateurs à quartz gèrent l'horloge matérielle. La fréquence de l'oscillateur est divisée et finalement on obtient un compteur qui est incrémenté d'une unité toutes les secondes (en réalité c'est plus compliqué que çà, mais c'est suffisant pour nous). L'oscillateur fonctionne même lorsque l'ordinateur est éteint. Dès lors, au démarrage de l'ordinateur (et de Linux), l'horloge matérielle peut donner l'heure actuelle. La stabilité de cette horloge dépend principalement de la température de son environnement mais aussi de la pression atmosphérique et de la stabilité de la tension de son alimentation électrique. L'horloge matérielle est fiable à court terme. Cependant, à long terme, elle dérive par rapport à l'heure exacte. Puisque l'on peut continuellement comparer la fréquence de notre horloge matérielle à celle d'une horloge exacte, on peut calculer la fréquence de l'horloge matérielle et ainsi reconstituer l'heure exacte. Si cette horloge exacte se trouve dans notre réseau local, la précision de l'horloge de votre machine Linux sera de l'ordre de 0.01s. Si vous utilisez plutôt internet, votre horloge sera au plus à 0.2s de l'heure exacte.</p></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title"><a id="time"/>2. L'heure et la date en informatique</h2></div></div></div><p>
    
        Pour déterminer l'heure actuelle en un endroit donné de la 
        planète, un ordinateur a besoin d'exactement deux 
        informations :
        
    </p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>
      
          l'heure <acronym class="acronym">UTC</acronym> exacte (en français Temps 
          Universel Coordonné — qui a remplacé l'heure 
          <acronym class="acronym">GMT</acronym>) ;
      
      </p></li><li class="listitem"><p>
      
          le fuseau horaire local.
          
      </p></li></ol></div><p>
    
        Pour les ordinateurs, il y a aussi une horloge matérielle 
        interne qui sert de temps de base pour le système 
        d'exploitation.
    
    </p><p>
    
        La date et l'heure du système d'exploitation (nous n'utiliserons 
        plus que le terme date <span class="emphasis"><em>ou</em></span> heure pour 
        exprimer les deux à partir de maintenant) sont réglées au 
        démarrage par un script qui lit l'horloge matérielle et l'ajuste 
        en fonction du fuseau horaire (il n'est pas stocké dans le 
        <acronym class="acronym">BIOS</acronym>). Après cette synchronisation, les 
        heures du <acronym class="acronym">BIOS</acronym> et du système d'exploitation 
        sont complètement indépendantes. Dès lors, après un certain 
        temps, il peut y avoir plusieurs secondes de décalage. Laquelle 
        est correcte ? Sans précautions particulières, aucune.
        
    </p><p>Nous allons maintenant discuter comment les rendre toutes les deux <span class="emphasis"><em>100% fiables</em></span>.</p></div><div class="section"><div class="titlepage"><div><div><h2 class="title"><a id="tz"/>3. Qu'est-ce qu'un fuseau horaire ?</h2></div></div></div><p>Les fuseaux horaires sont des divisions géographiques du globe terrestre tous les 15° de longitude, commençant à Greenwich en Angleterre, créées pour aider les gens à déterminer l'heure qu'il est partout dans le monde.</p><p>De nos jours, il s'agit plus de divisions politiques que géographiques, parce que parfois les gens ont besoin d'avoir la même heure que d'autres en des lieux pas trop éloignés. Et pour faire des économies d'énergies, nous avons aujourd'hui l'heure d'été qui correspond à un changement de fuseau horaire.</p><p>Les fuseaux horaires sont généralement définis par les gouvernements ou par un institut d'astronomie et sont représentés par un code de 3 ou 4 lettres. Voir <a class="xref" href="#tz.examples" title="3.2. Exemples de fuseaux horaires">Section 3.2, « Exemples de fuseaux horaires »</a> pour des exemples.</p><p>Si vous voulez connaître l'heure actuelle n'importe où dans le monde, vous pouvez utiliser les sites web <a class="ulink" href="http://www.timezoneconverter.com/" target="_top">timezoneconverter.com</a> (en anglais) ou <a class="ulink" href="http://www.horlogeparlante.com/" target="_top">horlogeparlante.com</a> (en français)</p><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="tz.dst"/>3.1. L'heure d'été</h3></div></div></div><p>
      
          Pour faire des économies d'énergie, les gouvernements ont créé 
          l'heure d'été (appelée en anglais <span xml:lang="en" class="foreignphrase"><em xml:lang="en" class="foreignphrase">Daylight Savings Time</em></span> ou <acronym xml:lang="en" class="acronym">DST</acronym>). Nos horloges sont avancées d'une 
          heure et cela fait sembler nos journées plus longues. En fait, 
          cela revient seulement à changer de fuseau horaire. Le temps 
          primitif (<acronym xml:lang="en" class="acronym">UTC</acronym>) est encore, et 
          restera toujours, le même.
      
      </p><p>
      
          Nous verrons plus tard comment activer ou désactiver 
          automatiquement l'heure d'été dans Linux.
          
      </p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="tz.examples"/>3.2. Exemples de fuseaux horaires</h3></div></div></div><p>Il n'y a rien de plus parlant que des exemples :</p><div class="table"><a id="tz.ex.br"/><p class="title"><strong>Tableau 1. Fuseaux horaires du Brésil. Décalage par rapport à l'heure <acronym class="acronym">UTC</acronym></strong></p><div class="table-contents"><table class="table" summary="Fuseaux horaires du Brésil. Décalage par rapport à l'heure UTC" border="1"><colgroup><col/><col/><col/></colgroup><thead><tr><th>Nom et décalage</th><th>Nom et décalage <a class="link" href="#tz.dst" title="3.1. L'heure d'été">heure d'été</a></th><th>Lieux</th></tr></thead><tbody><tr><td>BREST -2:00</td><td>BREDT -1:00</td><td>Fernando de Noronha</td></tr><tr><td>BRST -3:00</td><td>BRDT -2:00</td><td>Sao Paulo, Rio, Brasilia, Minas Gerais,
              Région Nord-Est, Région Sud, et cætera</td></tr><tr><td>BRWST -4:00</td><td>BRWDT -3:00</td><td>Région Ouest</td></tr><tr><td>BRAST -5:00</td><td>BRADT -4:00</td><td>Acre</td></tr></tbody></table></div></div><br class="table-break"/><p>Si vous avez une table telle que celle-ci pour les USA ou 
      l'Europe, envoyez-la moi s'il-vous-plaît.</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="tz.linux"/>3.3. Les fuseaux horaires et Linux</h3></div></div></div><p>Les systèmes Linux utilisent les fuseaux horaires dynamiques GLIBC basés sur <code class="filename">/etc/localtime</code>. Ce fichier est un lien vers (ou une copie) d'un fichier d'information de fuseau horaire situé généralement dans le répertoire <code class="filename">/usr/share/zoneinfo</code>.</p><p>D'un point de vue géophysique, il y a seulement 360°/15°=24 fuseaux horaires dans le monde. Mais pour rendre les choses faciles pour tous et pour tenir compte de toutes les variations politiques (comme l'heure d'été), vous trouverez des centaines de fichiers d'information de fuseau horaire dans <code class="filename">/usr/share/zoneinfo</code>, chacun valable pour une ville, un pays, et cætera.</p><p>Certains pays, comme le Brésil, n'ont pas un jour fixe pour passer à l'heure d'été. Il est défini chaque année quelques mois avant l'été et peut vous obliger à changer votre fichier d'information de fuseau horaire qui peut être compilé avec la commande <span class="command"><strong>zic</strong></span> à partir d'un fichier comme celui-ci.</p><div class="example"><a id="d0e573"/><p class="title"><strong>Exemple 1. Fichier d'information de fuseau horaire pour le Brésil</strong></p><div class="example-contents"><pre class="programlisting">
# Fuseaux horaires du Brésil
#
# Les fuseaux horaires brésiliens sont :
# BREST: Est de Brasilia. Fernando de Noronha.
# BRST:  Brasilia, Sao Paulo, Rio, Nord-est, Sud, et cætera
# BRWST: Ouest de Brasilia. Mato Grosso, Manaus
# BRAST: Acre.
#
# En heure d'été, la lettre 'S' devient 'D'.
#
# Pour installer, exécuter :
#
# # zic Brazil.txt
#
# Les fichiers de fuseaux horaires seront installés dans
# /usr/share/zoneinfo (dépend de votre distribution). Ensuite,
# créez un lien symbolique de votre zone vers /etc/localtime :
#
# # ln -sf /usr/share/zoneinfo/Brazil/Brasilia /etc/localtime
#
#
# Si vous avez des mises à jour ou de nouveaux standards pour ce
# fichier, envoyez-les en anglais à
#
# Avi Alkalay &lt;avi @ unix.sh&gt;
#
# Dernière mise à jour : 18 Nov 2000
# Ce fichier est disponible sur http://avi.alkalay.net/linux/zoneinfo/
#

# Rule  NAME    FROM  TO    TYPE  IN    ON   AT    SAVE   LETTER/S
Rule    Brazil  1931  1932  -     Oct   3    0:00  1:00   D
Rule    Brazil  1932  1933  -     Mar   31   0:00  0      S
Rule    Brazil  1949  only  -     Dec   1    0:00  1:00   D
Rule    Brazil  1950  only  -     Apr   30   0:00  0      S
Rule    Brazil  1950  1952  -     Dec   1    0:00  1:00   D
Rule    Brazil  1951  only  -     Apr   16   0:00  0      S
Rule    Brazil  1952  only  -     Mar   31   0:00  0      S
Rule    Brazil  1953  only  -     Feb   28   0:00  0      S
Rule    Brazil  1963  only  -     Oct   23   0:00  1:00   D
Rule    Brazil  1964  only  -     Mar   1    0:00  0      S
Rule    Brazil  1965  only  -     Jan   31   0:00  1:00   D
Rule    Brazil  1965  only  -     Mar   31   0:00  0      S
Rule    Brazil  1965  only  -     Dec   1    0:00  1:00   D
Rule    Brazil  1966  1968  -     Mar   1    0:00  0      S
Rule    Brazil  1966  1967  -     Nov   1    0:00  1:00   D
Rule    Brazil  1984  only  -     Nov   2    0:00  1:00   D
Rule    Brazil  1985  only  -     Mar   15   0:00  0      S
Rule    Brazil  1985  only  -     Nov   2    0:00  1:00   D
Rule    Brazil  1986  only  -     Mar   15   0:00  0      S
Rule    Brazil  1986  only  -     Oct   25   0:00  1:00   D
Rule    Brazil  1987  only  -     Feb   14   0:00  0      S
Rule    Brazil  1987  only  -     Oct   25   0:00  1:00   D
Rule    Brazil  1988  only  -     Feb   7    0:00  0      S
Rule    Brazil  1988  only  -     Oct   16   0:00  1:00   D
Rule    Brazil  1989  only  -     Jan   29   0:00  0      S
Rule    Brazil  1989  only  -     Oct   15   0:00  1:00   D
Rule    Brazil  1990  only  -     Feb   11   0:00  0      S
Rule    Brazil  1990  only  -     Oct   21   0:00  1:00   D
Rule    Brazil  1991  only  -     Feb   17   0:00  0      S
Rule    Brazil  1991  only  -     Oct   20   0:00  1:00   D
Rule    Brazil  1992  only  -     Feb   9    0:00  0      S
Rule    Brazil  1992  only  -     Oct   25   0:00  1:00   D
Rule    Brazil  1993  only  -     Jan   31   0:00  0      S
Rule    Brazil  1993  only  -     Oct   17   0:00  1:00   D
Rule    Brazil  1994  only  -     Feb   20   0:00  0      S
Rule    Brazil  1994  only  -     Oct   16   0:00  1:00   D
Rule    Brazil  1995  only  -     Feb   19   0:00  0      S
Rule    Brazil  1995  only  -     Oct   15   0:00  1:00   D
Rule    Brazil  1996  only  -     Feb   11   0:00  0      S
Rule    Brazil  1996  only  -     Oct   06   0:00  1:00   D
Rule    Brazil  1997  only  -     Feb   16   0:00  0      S
Rule    Brazil  1997  only  -     Oct   06   0:00  1:00   D
Rule    Brazil  1998  only  -     Mar   01   0:00  0      S
Rule    Brazil  1998  only  -     Oct   11   0:00  1:00   D
Rule    Brazil  1999  only  -     Feb   21   0:00  0      S
Rule    Brazil  1999  only  -     Oct   03   0:00  1:00   D
Rule    Brazil  2000  only  -     Feb   27   0:00  0      S
Rule    Brazil  2000  only  -     Oct   8    0:00  1:00   D
Rule    Brazil  2001  only  -     Feb   18   0:00  0      S


# Zone  NAME                          GMTOFF  RULES/SAVE    FORMAT  [UNTIL]
Zone    Brazil/DeNoronha              -2:00   Brazil        BRE%sT
Zone    posix/Brazil/DeNoronha        -2:00   Brazil        BRE%sT
Zone    right/Brazil/DeNoronha        -2:00   Brazil        BRE%sT
Zone    Brazil/East                   -2:00   Brazil        BRE%sT
Zone    posix/Brazil/East             -2:00   Brazil        BRE%sT
Zone    right/Brazil/East             -2:00   Brazil        BRE%sT

Zone    America/Sao_Paulo             -3:00   Brazil        BR%sT
Zone    America/Rio_de_Janeiro        -3:00   Brazil        BR%sT
Zone    America/Brasilia              -3:00   Brazil        BR%sT
Zone    posix/America/Sao_Paulo       -3:00   Brazil        BR%sT
Zone    posix/America/Rio_de_Janeiro  -3:00   Brazil        BR%sT
Zone    posix/America/Salvador        -3:00   Brazil        BR%sT
Zone    posix/America/Brasilia        -3:00   Brazil        BR%sT
Zone    posix/Brazil/Central          -3:00   Brazil        BR%sT
Zone    posix/Brazil/Brasilia         -3:00   Brazil        BR%sT
Zone    posix/Brazil/Sao_Paulo        -3:00   Brazil        BR%sT
Zone    posix/Brazil/Salvador         -3:00   Brazil        BR%sT
Zone    posix/Brazil/Rio_de_Janeiro   -3:00   Brazil        BR%sT
Zone    right/America/Sao_Paulo       -3:00   Brazil        BR%sT
Zone    right/America/Rio_de_Janeiro  -3:00   Brazil        BR%sT
Zone    right/America/Salvador        -3:00   Brazil        BR%sT
Zone    right/America/Brasilia        -3:00   Brazil        BR%sT
Zone    right/Brazil/Central          -3:00   Brazil        BR%sT
Zone    right/Brazil/Brasilia         -3:00   Brazil        BR%sT
Zone    right/Brazil/Sao_Paulo        -3:00   Brazil        BR%sT
Zone    right/Brazil/Salvador         -3:00   Brazil        BR%sT
Zone    right/Brazil/Rio_de_Janeiro   -3:00   Brazil        BR%sT
Zone    Brazil/Central                -3:00   Brazil        BR%sT
Zone    Brazil/Brasilia               -3:00   Brazil        BR%sT
Zone    Brazil/Sao_Paulo              -3:00   Brazil        BR%sT
Zone    Brazil/Rio_de_Janeiro         -3:00   Brazil        BR%sT
Zone    Brazil/Salvador               -3:00   Brazil        BR%sT

Zone    Brazil/West                   -4:00   Brazil        BRW%sT
Zone    Brazil/Manaus                 -4:00   Brazil        BRW%sT
Zone    Brazil/Rondonia               -4:00   Brazil        BRW%sT
Zone    Brazil/Roraima                -4:00   Brazil        BRW%sT
Zone    Brazil/Mato_Grosso            -4:00   Brazil        BRW%sT
Zone    posix/Brazil/Manaus           -4:00   Brazil        BRW%sT
Zone    posix/Brazil/Mato_Grosso      -4:00   Brazil        BRW%sT
Zone    right/Brazil/Manaus           -4:00   Brazil        BRW%sT
Zone    right/Brazil/Mato_Grosso      -4:00   Brazil        BRW%sT
Zone    posix/America/Manaus          -4:00   Brazil        BRW%sT
Zone    right/America/Manaus          -4:00   Brazil        BRW%sT

Zone    Brazil/Acre                   -5:00   Brazil        BRA%sT
</pre></div></div><br class="example-break"/><p>
      
          Une ligne <span class="command"><strong>Rule</strong></span> définit la date et l'heure à 
          laquelle s'effectue un changement de fuseau horaire, tandis 
          qu'une ligne <span class="command"><strong>Zone</strong></span> référence la règle 
          (<span class="command"><strong>Rule</strong></span>) qui la gérera. Notez que le nom de 
          la <span class="command"><strong>Zone</strong></span> est en fait le nom du fichier dans 
          le répertoire <code class="filename">/usr/share/zoneinfo</code> et qu'il peut 
          y avoir plusieurs noms pour le même fuseau horaire afin qu'il 
          soit plus facile de trouver sa propre zone.
          
      </p><p>Les commentaires du fichier expliquent comment installer ces fuseaux horaires en utilisant le compilateur de fichier d'information de fuseau horaire <span class="command"><strong>zic</strong></span>. Pour le rendre effectif, vous n'avez plus qu'à créer un lien (ou copier) du fichier d'information de fuseau horaire vers <code class="filename">/etc/localtime</code>. Pour certaines distributions, il y a une méthode de niveau supérieur (et préférable) pour régler le fuseau horaire décrite dans <a class="xref" href="#set.tz" title="4.1. Sélection du fuseau horaire">Section 4.1, « Sélection du fuseau horaire »</a>.</p><p>Après avoir fait pointer <code class="filename">/etc/localtime</code> vers le fichier de fuseau horaire correct, les règles de cette zone s'appliquent déjà et les changements de fuseau sont automatiques ; vous n'avez plus à changer l'heure manuellement.</p><p>La séquence suivante de commandes illustre la dynamique de la gestion des fuseaux horaires sous Linux. Notez qu'elles ont toutes été exécutées en moins d'une minute :</p><pre class="screen">
<code class="prompt">bash$ </code><span class="command"><strong>ls -al /etc/localtime</strong></span>
lrwxrwxrwx  1 root root 35 May 22  2001 /etc/localtime -&gt; <span class="emphasis"><em>/usr/share/zoneinfo/Brazil/Brasilia</em></span>
<code class="prompt">bash$ </code><span class="command"><strong>date</strong></span>
Fri Mar 29 20:13:38 <span class="emphasis"><em>BRST</em></span> 2002
<code class="prompt">bash# </code><span class="command"><strong>ln -sf /usr/share/zoneinfo/GMT /etc/localtime</strong></span>
<code class="prompt">bash$ </code><span class="command"><strong>date</strong></span>
Fri Mar 29 23:13:47 <span class="emphasis"><em>GMT</em></span> 2002
<code class="prompt">bash# </code><span class="command"><strong>ln -sf /usr/share/zoneinfo/Brazil/Brasilia /etc/localtime</strong></span>
<code class="prompt">bash$ </code><span class="command"><strong>date</strong></span>
Fri Mar 29 20:14:03 <span class="emphasis"><em>BRST</em></span> 2002
</pre><p>
      
          À 20:13, j'étais dans le fuseau horaire par défaut du Brésil 
          (BRST) ; ensuite, je suis passé à l'heure GMT et 
          l'horloge du système est passée à 23:13 ! Quand votre 
          fuseau horaire passera à l'heure d'été, vous verrez un effet 
          similaire, mais cette fois les règles sont toutes à 
          l'intérieur de votre fichier 
          <code class="filename">/etc/localtime</code> (qui ne change pas au 
          contraire de cet exemple).
      
      </p><p>
      
          Une application tournant sur cette machine (par exemple un 
          serveur web générant des fichiers journaux) sera sensible à ce 
          changement ; il est donc très important pour les 
          développeurs de se souvenir que l'heure locale est égale à 
          l'<span class="emphasis"><em>heure universelle</em></span> actuelle plus le 
          <span class="emphasis"><em>fuseau horaire</em></span> actuel, comme décrit dans 
          <a class="xref" href="#time" title="2. L'heure et la date en informatique">Section 2, « L'heure et la date en informatique »</a>.
          
      </p><p>Finalement, je suis revenu à mon fuseau horaire de départ.</p></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title"><a id="set"/>4. Les paramètres corrects pour votre machine Linux</h2></div></div></div><p>
    
        Quel que soit le système que vous voulez installer, vous devez 
        connaître votre fuseau horaire. Il peut être déterminé par une 
        ville, une région ou un pays. Vous devez aussi décider comment 
        régler l'heure du <acronym class="acronym">BIOS</acronym>. Ici, vous pouvez 
        suivre deux stratégies :
    
    </p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><span class="emphasis"><em>Machine avec seulement Linux</em></span></span></dt><dd><p>
        
            Dans ce cas, vous pouvez mettre l'heure du 
            <acronym class="acronym">BIOS</acronym> à l'heure <acronym class="acronym">UTC</acronym>. 
            Les changements de fuseaux horaires seront gérés 
            dynamiquement comme expliqué dans <a class="xref" href="#tz.linux" title="3.3. Les fuseaux horaires et Linux">Section 3.3, « Les fuseaux horaires et Linux »</a>.
        
        </p></dd><dt><span class="term"><span class="emphasis"><em>Machine avec Linux et MS Windows</em></span></span></dt><dd><p>
        
            Windows manipule l'heure d'une manière plus primitive que 
            Linux. Pour Windows, l'heure du <acronym class="acronym">BIOS</acronym> 
            correspond toujours à l'heure locale, les changements de 
            fuseaux sont donc plus agressifs car ils changent 
            directement l'horloge matérielle. Et puisque Linux et 
            Windows initialisent tous deux leur heure à partir de 
            l'horloge matérielle, si les deux sont présents, Linux doit 
            la manipuler de la même façon. Dans ce cas, vous devez 
            mettre votre <acronym class="acronym">BIOS</acronym> à l'heure locale.
        
        </p></dd></dl></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="set.tz"/>4.1. Sélection du fuseau horaire</h3></div></div></div><p>
          
          Sur les systèmes Red Hat Linux et dérivés, vous pouvez régler 
          la stratégie pour l'horloge matérielle et les fuseaux horaires 
          grâce à la commande <span class="command"><strong>timeconfig</strong></span>, qui utilise 
          une interface conviviale. Vous pouvez aussi le faire de façon 
          non-interactive :
      
      </p><div class="example"><a id="d0e718"/><p class="title"><strong>Exemple 2. Outil de configuration de l'heure</strong></p><div class="example-contents"><pre class="screen">
<code class="prompt">bash# </code><span class="command"><strong>timeconfig "Brasil/East"</strong></span>         # règle l'horloge matérielle à l'heure locale
<code class="prompt">bash# </code>                                 # et le fuseau horaire sur la zone est du Brésil
<code class="prompt">bash# </code>
<code class="prompt">bash# </code><span class="command"><strong>timeconfig --utc "Brasil/East"</strong></span>   # règle l'horloge matérielle à l'heure UTC
<code class="prompt">bash# </code>                                 # et le fuseau horaire sur la zone est du Brésil
</pre></div></div><br class="example-break"/><p>De toute façon, cela change le fichier <code class="filename">/etc/sysconfig/clock</code> qui est lu au démarrage. Vous pouvez l'éditer manuellement. Il ressemble à ceci :</p><div class="example"><a id="d0e747"/><p class="title"><strong>Exemple 3. <code class="filename">/etc/sysconfig/clock</code> file</strong></p><div class="example-contents"><pre class="programlisting">
ZONE="Brazil/East"
UTC=true
ARC=false
</pre></div></div><br class="example-break"/></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="set.hwclock"/>4.2. Régler l'horloge matérielle</h3></div></div></div><p>
      
          Je vous conseille de ne changer votre horloge matérielle que 
          si vous comprenez comment obtenir l'heure exacte, comme 
          expliqué dans <a class="xref" href="#ntp" title="5. Synchronisation précise de l'heure">Section 5, « Synchronisation précise de l'heure »</a>.
      
      </p><p>
      
          La commande <span class="command"><strong>hwclock</strong></span> lit ou règle l'horloge 
          matérielle en fonction des paramètres que vous lui donnez et 
          qui sont documentés dans son manuel. Mais vous n'avez 
          normalement pas à l'utiliser si vous avez une distribution 
          moderne. Après avoir choisi votre stratégie pour l'horloge 
          matérielle et les fuseaux horaires, vous pouvez utiliser la 
          commande de haut niveau <span class="command"><strong>setclock</strong></span> pour 
          régler correctement votre horloge matérielle. Vous n'avez pas 
          besoin de passer de paramètres car <span class="command"><strong>setclock</strong></span> 
          appelle intelligemment <span class="command"><strong>hwclock</strong></span> pour régler 
          le <acronym class="acronym">BIOS</acronym> en se basant sur l'heure courante 
          de votre système d'exploitation. <span class="emphasis"><em>Vous devriez donc 
          toujours utiliser la commande 
          <span class="command"><strong>setclock</strong></span>.</em></span>
          
      </p><p>
      
          Mais si vous êtes minimaliste et préférez la façon compliquée, 
          voici quelques exemples d'utilisation de 
          <span class="command"><strong>hwclock</strong></span> :
          
      </p><div class="example"><a id="d0e789"/><p class="title"><strong>Exemple 4. Utilisation de <span class="command">setclock</span> et <span class="command">hwclock</span></strong></p><div class="example-contents"><pre class="screen">
<code class="prompt">bash# </code><span class="command"><strong>setclock</strong></span>                                  # La manière simple de régler l'horloge matérielle
<code class="prompt">bash# </code>
<code class="prompt">bash# </code><span class="command"><strong>hwclock</strong></span>                                   # Lit l'horloge matérielle
<code class="prompt">bash# </code>
<code class="prompt">bash# </code><span class="command"><strong>hwclock --systohc --utc</strong></span>                   # Règle l'horloge matérielle avec l'heure UTC
<code class="prompt">bash# </code>                                          # basée sur l'heure actuelle du système
<code class="prompt">bash# </code>
<code class="prompt">bash# </code><span class="command"><strong>hwclock --systohc</strong></span>                         # Règle l'horloge matérielle avec l'heure actuelle
<code class="prompt">bash# </code>                                          # basée sur l'heure actuelle du système
<code class="prompt">bash# </code>
<code class="prompt">bash# </code><span class="command"><strong>hwclock --set --date "21 Oct 2004 21:17"</strong></span>  # Règle l'horloge matérielle avec l'heure spécifiée
</pre></div></div><br class="example-break"/><p>
      
        Puisque l'heure du système est indépendante de l'horloge 
        matérielle, tout changement dans le <acronym class="acronym">BIOS</acronym> 
        n'apparaîtra que lors du démarrage suivant.
        
      </p><p>Une autre option pour changer l'horloge matérielle est de redémarrer l'ordinateur et d'accéder à l'écran de configuration du <acronym class="acronym">BIOS</acronym>. Sur les plates-formes <a class="ulink" href="http://ibm.com/servers/eserver/zseries/os/linux/" target="_top">IBM e-server zSeries</a> vous devez le faire au niveau de z/VM parce que Linux tourne sur des machines virtuelles créées par z/VM.</p></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title"><a id="ntp"/>5. Synchronisation précise de l'heure</h2></div></div></div><p>Avoir l'heure exacte sur tous vos systèmes est aussi important que d'avoir une stratégie solide de la sécurité du réseau (ce qui est bien plus qu'utiliser des pare-feu). C'est un des éléments essentiels d'une administration système basée sur de bonnes pratiques qui mène à des systèmes bien organisés et sûrs. Une heure précise est particulièrement nécessaire lorsqu'on travaille avec des applications distribuées, des services web ou des outils distribués de surveillance réseau.</p><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="ntp.ntp"/>5.1. <acronym class="acronym">NTP</acronym> : protocole de diffusion du temps en réseau (Network Time Protocol)</h3></div></div></div><p>Nous ne décrirons pas ici le protocole, mais comment cette magnifique invention, ajoutée à la présence envahissante d'internet, peut nous être utile. Vous pouvez en apprendre plus sur <a class="ulink" href="http://www.ntp.org/" target="_top">www.ntp.org</a>.</p><p>Une fois le système configuré, <acronym class="acronym">NTP</acronym> arrivera à garder l'heure exacte en ne faisant que de très petits ajustements pour ne pas perturber les applications en cours d'exécution.</p><p>L'heure exacte peut être obtenue en utilisant des appareils basés sur la fréquence électronique des atomes. Il existe aussi une méthode basée sur le système de satellites <acronym class="acronym">GPS</acronym>. La première est plus fiable, mais la seconde n'est pas si mauvaise. Les deux nécessitent un matériel très spécifique et très cher, mais leurs propriétaires (en général des universités ou des laboratoires de recherche) les connectent à des ordinateurs qui font tourner un serveur <acronym class="acronym">NTP</acronym> qui sont connectés à internet et qui vous laissent y accéder gratuitement. Et c'est grâce à eux que nous synchroniserons nos systèmes.</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="ntp.arch"/>5.2. Construire une architecture simple de synchronisation de l'heure</h3></div></div></div><p>Vous aurez besoin de  :</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>Une connexion directe ou indirecte (à travers un pare-feu) à internet.</p></li><li class="listitem"><p>Choisir des serveurs <acronym class="acronym">NTP</acronym>. Vous pouvez utiliser le serveur public <a class="ulink" href="http://www.fortytwo.ch/time/" target="_top">pool.ntp.org</a> ou en choisir dans la <a class="ulink" href="http://www.eecis.udel.edu/~mills/ntp/clock2a.html" target="_top">deuxième strate de serveurs de temps publics</a> sur le site web de <acronym class="acronym">NTP</acronym>. Si vous n'avez pas d'accès à internet, votre administrateur <acronym class="acronym">WAN</acronym> (ce doit être un type intelligent) peut probablement vous donner des adresses internes.</p></li><li class="listitem"><p>Avoir le logiciel <acronym class="acronym">NTP</acronym> installé sur tous les systèmes que vous voulez synchroniser. Vous pouvez trouver les RPM sur les cédéroms de votre distribution Linux favorite ou <a class="ulink" href="http://rpmfind.net/linux/rpm2html/search.php?query=ntp" target="_top">faire une recherche</a> sur <a class="ulink" href="http://rpmfind.net/" target="_top">http://rpmfind.net/</a>.</p></li></ol></div><p>Voici un exemple d'une bonne architecture :</p><div class="figure"><a id="d0e923"/><p class="title"><strong>Figure 1. Serveurs relais locaux pour NTP</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="images/TimePrecision-HOWTO/ntp.png" align="middle" alt="Architecture NTP"/></div></div></div><br class="figure-break"/><p>
      
          Si vous avez plusieurs machines à synchroniser, <span class="emphasis"><em>ne 
          les faites pas</em></span> toutes accéder aux serveurs 
          <acronym class="acronym">NTP</acronym> externes que vous avez choisis. Seuls 
          deux de vos serveurs doivent accéder aux serveurs 
          <acronym class="acronym">NTP</acronym> externes. Les autres machines se 
          synchroniseront sur ces deux dernières. Nous les appellerons 
          <span class="emphasis"><em>serveurs relais</em></span>.
      
      </p><p>
      
          Vos serveurs relais peuvent être n'importe lesquelles de vos 
          machines déjà disponibles sur votre réseau. 
          <acronym class="acronym">NTP</acronym> consomme très peu de mémoire et de 
          processeur. Vous n'avez pas besoin d'une machine dédiée à 
          cette fonction.
      
      </p><div class="tip" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Tip"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Astuce]" src="images/tip.png"/></td><th align="left">Astuce</th></tr><tr><td align="left" valign="top"><p>
      
          Créer des alias pour les noms d'hôtes de vos serveurs relais 
          locaux est une bonne idée. Vous pouvez définir par exemple 
          ntp1.mon-domaine.fr et ntp2.mon-domaine.fr. Puis n'utilisez 
          que ces noms en configurant les machines clientes. De cette 
          façon, vous pouvez déplacer la fonctionnalité 
          <acronym class="acronym">NTP</acronym> vers un nouveau serveur relais (avec un 
          adresse IP et un nom d'hôte différents) sans avoir à 
          reconfigurer les clients. Demandez à votre administrateur 
          <acronym class="acronym">DNS</acronym> de créer ces alias.
      
      </p></td></tr></table></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="ntp.configs"/>5.3. Configuration <acronym class="acronym">NTP</acronym></h3></div></div></div><div class="variablelist"><dl class="variablelist"><dt><span class="term"><span class="emphasis"><em>Pour vos serveurs relais</em></span></span></dt><dd><p>Éditez <code class="filename">/etc/ntp.conf</code> et ajoutez les serveurs distants que vous avez choisis :</p><div class="example"><a id="d0e976"/><p class="title"><strong>Exemple 5. Fichier <code class="filename">/etc/ntp.conf</code>des machines relais</strong></p><div class="example-contents"><pre class="programlisting">
server  ntp.cnrs.fr        # Un serveur de strate 1 de cnrs.fr
server  autre-ntp.gouv.fr  # Un serveur de strate 2 de gouv.fr
</pre></div></div><br class="example-break"/><p>
            
                De nouveau, vous pouvez utiliser le serveur public 
                <a class="ulink" href="http://www.fortytwo.ch/time/" target="_top">pool.ntp.org</a> 
                ou obtenir une liste de <a class="ulink" href="http://www.eecis.udel.edu/~mills/ntp/clock2a.html" target="_top">serveurs 
                de temps publics</a> sur le site web de 
                <acronym class="acronym">NTP</acronym>.
                        
            </p></dd><dt><span class="term"><span class="emphasis"><em>Pour vos clients</em></span></span></dt><dd><p>Éditez <code class="filename">/etc/ntp.conf</code> et ajoutez vos serveurs relais avec un nom standard :</p><div class="example"><a id="d0e1005"/><p class="title"><strong>Exemple 6. Fichier <code class="filename">/etc/ntp.conf</code> des machines clientes</strong></p><div class="example-contents"><pre class="programlisting">
server  ntp1.mon-domaine.fr   # Mon premier serveur relais local
server  ntp2.mon-domaine.fr   # Mon deuxième serveur relais local
</pre></div></div><br class="example-break"/></dd></dl></div><p>Si votre machine a une heure UTC différente de plusieurs minutes par rapport aux serveurs <acronym class="acronym">NTP</acronym>, <acronym class="acronym">NTP</acronym> ne fonctionnera pas. Dans ce cas, vous devez d'abord faire un synchronisation complète. Je vous recommande de le faire en dehors des heures de production. Vous n'avez besoin de le faire que lors de l'initialisation de votre configuration <acronym class="acronym">NTP</acronym>, jamais plus après :</p><div class="example"><a id="d0e1024"/><p class="title"><strong>Exemple 7. Première synchronisation</strong></p><div class="example-contents"><pre class="screen">
<code class="prompt">bash# </code><span class="command"><strong>ntpdate autre-ntp.gouv.fr</strong></span>	<a id="sync1"/><span><img src="images/callouts/1.png" alt="1" border="0"/></span>
24 Mar 18:16:36 ntpdate[10254]: step time server 200.100.20.10 offset -15.266188 sec
<code class="prompt">bash# </code><span class="command"><strong>ntpdate autre-ntp.gouv.fr</strong></span>	<a id="sync2"/><span><img src="images/callouts/2.png" alt="2" border="0"/></span>
24 Mar 18:16:43 ntpdate[10255]: adjust time server 200.100.20.10 offset -0.000267 sec
</pre><div class="calloutlist"><table border="0" summary="Callout list"><tr><td width="5%" valign="top" align="left"><p><a href="#sync1"><span><img src="images/callouts/1.png" alt="1" border="0"/></span></a> </p></td><td valign="top" align="left"><p>Première synchronisation complète. L'horloge retardait de 15 secondes.</p></td></tr><tr><td width="5%" valign="top" align="left"><p><a href="#sync2"><span><img src="images/callouts/2.png" alt="2" border="0"/></span></a> </p></td><td valign="top" align="left"><p>Deuxième synchronisation complète, juste pour être sûr. Maintenant, nous ne retardons pratiquement plus, ce qui est une bonne chose.</p></td></tr></table></div></div></div><br class="example-break"/><p>La dernière étape consiste à démarrer ou à redémarrer le démon <acronym class="acronym">NTP</acronym> sur chaque machine :</p><pre class="screen"><code class="prompt">bash# </code><span class="command"><strong>service ntpd restart</strong></span></pre></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="ntp.watch"/>5.4. Observer votre machine se synchroniser</h3></div></div></div><p>Maintenant que tout est configuré, <acronym class="acronym">NTP</acronym> va garder l'heure de votre machine synchronisée. Vous pouvez observer ce processus en utilisant la commande d'interrogation NTP (<span class="command"><strong>ntpq</strong></span>) :</p><div class="example"><a id="d0e1071"/><p class="title"><strong>Exemple 8. Un exemple d'interrogation de l'état de la synchronisation temporelle</strong></p><div class="example-contents"><pre class="screen">
<code class="prompt">bash# </code><span class="command"><strong>ntpq -p</strong></span>
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
-jj.cs.umb.edu   gandalf.sigmaso  3 u   95 1024  377   31.681  -18.549   1.572
 milo.mcs.anl.go ntp0.mcs.anl.go  2 u  818 1024  125   41.993  -15.264   1.392
-mailer1.psc.edu ntp1.usno.navy.  2 u  972 1024  377   38.206   19.589  28.028
-dr-zaius.cs.wis ben.cs.wisc.edu  2 u  502 1024  357   55.098    3.979   0.333
+taylor.cs.wisc. ben.cs.wisc.edu  2 u  454 1024  347   54.127    3.379   0.047
-ntp0.cis.strath harris.cc.strat  3 u  507 1024  377  115.274   -5.025   1.642
*clock.via.net   .GPS.            1 u  426 1024  377  107.424   -3.018   2.534
 ntp1.conectiv.c 0.0.0.0         16 u    - 1024    0    0.000    0.000 4000.00
+bonehed.lcs.mit .GPS.            1 u  984 1024  377   25.126    0.131  30.939
-world.std.com   204.34.198.40    2 u  119 1024  377   24.229   -6.884   0.421
</pre></div></div><br class="example-break"/><div class="variablelist"><p class="title"><strong>La signification de chaque colonne</strong></p><dl class="variablelist"><dt><span class="term"><span class="emphasis"><em>remote</em></span></span></dt><dd><p>Est le nom du serveur <acronym class="acronym">NTP</acronym> distant. Si vous utilisez l'option <code class="option">-n</code>, vous verrez les adresses IP de ces serveurs à la place de leurs noms.</p></dd><dt><span class="term"><span class="emphasis"><em>refid</em></span></span></dt><dd><p>Indique d'où chaque serveur obtient son heure. Il peut s'agir d'un nom d'hôte ou de quelque chose comme <acronym class="acronym">.GPS.</acronym>, indiquant une source <acronym class="acronym">GPS</acronym> (Global Positioning System).</p></dd><dt><span class="term"><span class="emphasis"><em>st</em></span></span></dt><dd><p>La <span class="emphasis"><em>strate</em></span> est un nombre allant de 1 à 16 qui indique la précision du serveur distant. 1 est le plus fiable, 16 signifie que le serveur n'est pas disponible. Votre strate sera égale à celle du serveur distant le plus fiable plus 1. Ne vous connectez jamais à un serveur de la strate 1, utilisez ceux de niveau 2 ! Ces serveurs sont largement suffisants pour nos besoins, et cette politique permet de réduire le trafic vers les serveurs de la première strate.</p></dd><dt><span class="term"><span class="emphasis"><em>poll</em></span></span></dt><dd><p>L'intervalle (en secondes) entre deux requêtes de temps. La valeur sera comprise entre les valeurs minimales et maximales autorisées. Initialement la valeur sera petite pour permettre une synchronisation rapide. Une fois que les horloges sont synchrones, le temps entre deux requêtes augmentera pour diminuer le trafic réseau et la charge sur les serveurs de temps populaires.</p></dd><dt><span class="term"><span class="emphasis"><em>reach</em></span></span></dt><dd><p>C'est une représentation en base 8 d'un tableau de 8 bits représentant les 8 dernières fois que la machine a essayé d'atteindre le serveur. Le bit est mis à 1 si le serveur distant a pu être atteint.</p></dd><dt><span class="term"><span class="emphasis"><em>delay</em></span></span></dt><dd><p>Le délai (en secondes) nécessaire pour recevoir une réponse à une demande de "quelle heure est-il ?".</p></dd><dt><span class="term"><span class="emphasis"><em>offset</em></span></span></dt><dd><p>La valeur la plus importante. Le décalage de temps entre le serveur local et le serveur distant. Pendant la synchronisation, le décalage diminue, indiquant que l'horloge locale devient plus précise.</p></dd><dt><span class="term"><span class="emphasis"><em>jitter</em></span></span></dt><dd><p>Cette colonne indique la dispersion, qui est une mesure de la variance statistique du décalage pendant plusieurs paires de requête/réponse successives. Des valeurs faibles de la dispersion sont meilleures que des valeurs élevées. Plus elles sont faibles, plus la synchronisation temporelle sera précise.</p></dd></dl></div><div class="variablelist"><p class="title"><strong>Signification des signes devant les noms de serveur</strong></p><dl class="variablelist"><dt><span class="term"><span class="emphasis"><em>-</em></span></span></dt><dd><p>Signifie que le service NTP local n'aime pas beaucoup ce serveur</p></dd><dt><span class="term"><span class="emphasis"><em>+</em></span></span></dt><dd><p>Signifie que le service NTP local aime ce serveur</p></dd><dt><span class="term"><span class="emphasis"><em>x</em></span></span></dt><dd><p>Marque un mauvais serveur</p></dd><dt><span class="term"><span class="emphasis"><em>*</em></span></span></dt><dd><p>Indique le serveur préféré actuel</p></dd></dl></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="ntp.boot"/>5.5. Lancer automatiquement <acronym class="acronym">NTP</acronym> au démarrage</h3></div></div></div><p>Si vous voulez toujours avoir le service <acronym class="acronym">NTP</acronym> sur votre machine même si vous la redémarrez, faites ceci sur chaque machine :</p><pre class="screen"><code class="prompt">bash# </code><span class="command"><strong>chkconfig --level 2345 ntpd on</strong></span></pre><p>Cela garantira un démarrage automatique.</p><p>Si votre machine fonctionne longtemps sans redémarrage (des mois ou des années), vous remarquerez une importante différence entre la très imprécise horloge matérielle et l'heure système (maintenant très précise). Les distributions Linux modernes copient l'heure système dans l'horloge matérielle chaque fois que le système est arrêté en utilisant un <a class="link" href="#set.hwclock" title="4.2. Régler l'horloge matérielle">mécanisme similaire à la commande <span class="command"><strong>setclock</strong></span></a>. De cette façon, au démarrage suivant, vous obtiendrez une date et une heure presque aussi précises que ce qu'elles étaient lors de l'arrêt de votre ordinateur.</p></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title"><a id="ntp.chrony"/>6. Une horloge précise avec le programme <span class="command"><strong>chrony</strong></span></h2></div></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="ntp.chrony.diff"/>6.1. En quoi <span class="command"><strong>chrony</strong></span> diffère de <span class="command"><strong>ntp</strong></span> ?</h3></div></div></div><p><span class="command"><strong>Chrony</strong></span> utilise aussi le protocole <acronym class="acronym">NTP</acronym> et est aussi conçu pour rendre l'horloge de Linux plus fiable. Il est aussi adapté à des systèmes qui n'ont pas de connexion internet. La source d'heure exacte peut donc être n'importe quelle horloge précise à partir de laquelle on puisse lire l'heure et la transmettre au programme. De plus, il est également capable d'estimer la dérive de l'horloge matérielle et, en se basant sur celle-ci, d'ajuster l'horloge matérielle au démarrage de l'ordinateur.</p><p>La version 1.20 de <span class="command"><strong>chrony</strong></span> ne supporte pas encore les horloges internes de type GPS ou les récepteurs radio DCF, mais la structure du programme rend de telles extensions possibles.</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="ntp.chrony.how"/>6.2. Comment utiliser <span class="command"><strong>chrony</strong></span> ?</h3></div></div></div><p><span class="command"><strong>Chrony</strong></span> est constitué de deux parties : le démon <span class="command"><strong>chronyd</strong></span> et l'interface utilisateur<span class="command"><strong>chronyc</strong></span>.</p><p>Vous pouvez trouver <span class="command"><strong>chrony</strong></span> sur <a class="ulink" href="http://chrony.sunsite.dk/index.php/" target="_top">chrony.sunsite.dk/index.php</a></p></div></div><div class="appendix"><h2 class="title"><a id="about"/>A. À propos de ce document</h2><p>Copyright 2002, 2003, 2004 Avi Alkalay.</p><p>Copyright 2004, 2005 Philippe Wautelet et copyright 2005 Raphaël Semeteys pour la traduction française.</p><p><span xml:lang="en" class="foreignphrase"><em xml:lang="en" class="foreignphrase">
    
        This document must be distributed under the terms of <a class="ulink" href=" http://www.gnu.org/copyleft/fdl.html" target="_top">GNU Free 
        Documentation License</a>. Please translate, adapt, improve, 
        redistrubute using the original XML DocBook source right bellow. 
        Let me know if you want me to put a link to your 
        translation/adaptation/improvement here.
    
    </em></span></p><p>
    
        Ce document doit être distribué sous les termes de la <a class="ulink" href="http://www.gnu.org/copyleft/fdl.html" target="_top"> licence de 
        documentation libre GNU (GFDL)</a>. Traduisez, adaptez, 
        améliorez ou redistribuez SVP en utilisant le fichier source 
        original ci-dessous au format XML DocBook. Faites-moi savoir si 
        vous voulez que j'ajoute un lien ici vers votre version 
        traduite, adaptée ou améliorée.
        
    </p><p>
    
        Ce document est disponible aux endroits suivants :
    
    </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
    
            <a class="ulink" href="http://avi.alkalay.net/linux/docs/TimePrecision/" target="_top">Site 
            officiel de la version originale</a> [<a class="ulink" href="http://avi.alkalay.net/linux/docs/TimePrecision/timeprecision.tar.gz" target="_top">Code 
            source XML DocBook</a>] ;
    
        </p></li><li class="listitem"><p>
        
            <a class="ulink" href="http://en.tldp.org/HOWTO/TimePrecision-HOWTO/" target="_top">LinuxDoc, en 
            tant que guide pratique (version anglaise)</a> [<a class="ulink" href="http://www.ibiblio.org/pub/Linux/docs/HOWTO/other-formats/html_single/TimePrecision-HOWTO.html" target="_top">une 
            seule page</a>] [<a class="ulink" href="http://www.ibiblio.org/pub/Linux/docs/HOWTO/other-formats/pdf/TimePrecision-HOWTO.pdf" target="_top">PDF</a>] ;
        
        </p></li><li class="listitem"><p>
        
            Takeo Nakano
            
            <code class="email">&lt;<a class="email" href="mailto:nakano CHEZ apm POINT seikei POINT ac POINT jp">nakano CHEZ apm POINT seikei POINT ac POINT jp</a>&gt;</code>
            
            <a class="ulink" href="http://www.linux.or.jp/JF/JFdocs/TimePrecision-HOWTO/" target="_top">traduction 
            japonaise</a> [<a class="ulink" href="http://www.linux.or.jp/JF/JFdocs/TimePrecision-HOWTO.txt" target="_top">version 
            texte</a>] ;
            
        </p></li><li class="listitem"><p>
        
            SHAKI <code class="email">&lt;<a class="email" href="mailto:sha-ki CHEZ narod POINT ru">sha-ki CHEZ narod POINT ru</a>&gt;</code> <a class="ulink" href="http://computerlib.narod.ru/html/linuxtime.htm" target="_top">traduction 
            russe</a> ;
            
        </p></li><li class="listitem"><p>

            Mihaly Gyulai &lt;gyulai CHEZ fbi POINT hu&gt; <a class="ulink" href="http://tldp.fsf.hu/HOWTO/TimePrecision-HOWTO-hu/index.html" target="_top">traduction 
            hongroise</a> ;
            
        </p></li><li class="listitem"><p>
        
            <a class="ulink" href="http://www.traduc.org/docs/howto/lecture/TimePrecision-HOWTO.html" target="_top">Dernière 
            version française de ce document</a> [<a class="ulink" href="http://www.traduc.org/cgi-bin/viewcvs.cgi/guides_pratiques/TimePrecision-HOWTO.xml" target="_top">Code source XML 
            DocBook</a>].

        </p></li></ul></div></div></div></body></html>