Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > ebac5394abc62d2e0b61505bfba9712a > files > 214

howto-text-fr-2006-5mdv2010.0.noarch.rpm

                Gestion précise de l'heure et de la date

  Version française du Managing Accurate Date and Time

  Avi Alkalay

   IBM équipe Impact Linux : http://ibm.com/linux
   [http://ibm.com/linux]
   Consultant Linux et normes ouvertes : architecte en chef
   informatique et logiciels

   <avi CHEZ
   unix POINT sh>

   Suggestion d'utiliser pool.ntp.org et des serveurs publics de
   temps NTP de strate 2  : Brad Knowles

   Suggestion d'utiliser ntpq au lieu de ntpdc : Kent Borg

   Explication des informations données par ntpq et ntpdc : Yura
   Moron

   Adaptation japonaise
   [http://www.linux.or.jp/JF/JFdocs/TimePrecision-HOWTO/] : Takeo
   Nakano

   Adaptation russe
   [http://computerlib.narod.ru/html/linuxtime.htm] : SHAKI

   Adaptation hongroise
   [http://tldp.fsf.hu/HOWTO/TimePrecision-HOWTO-hu/index.html], la
   section chrony et la toute première section : Mihaly Gyulai

   Adaptation française
   [http://www.traduc.org/docs/HOWTO/lecture/TimePrecision-HOWTO.html] :
   Philippe Wautelet

   Relecture de la version française : Raphaël Semeteys

   Préparation de la publication de la v.f. : Jean-Philippe Guérard

   Version : 1.0.9.fr.1.0

   Copyright © 2002, 2003, 2004 Avi Alkalay

   Copyright © 2004, 2005 Philippe Wautelet, Raphaël Semeteys,
   Jean-Philippe Guérard

   2005-09-24

   +----------------------------------------------------------------+
   | Historique des versions                                        |
   |----------------------------------------------------------------|
   | Version 1.0.9.fr.1.0        | 2005-09-24      | PW, RS, JPG    |
   |----------------------------------------------------------------|
   | Adaptation française de la version 1.0.9.                      |
   |----------------------------------------------------------------|
   | Version 1.0.9               | 2005-05-03      | Avi            |
   |----------------------------------------------------------------|
   | Inclusion d'un lien vers la traduction française (Included     |
   | link to french translation).                                   |
   |----------------------------------------------------------------|
   | Version 1.0.8               | 2004-10-29      | MG             |
   |----------------------------------------------------------------|
   | Adaptation hongroise, la section chrony et la toute première   |
   | section (Hungarian translation, the chrony section and the     |
   | very first section).                                           |
   |----------------------------------------------------------------|
   | Version 1.0.7.fr.1.0        | 2005-03-22      | PW, RS, JPG    |
   |----------------------------------------------------------------|
   | Première traduction française.                                 |
   |----------------------------------------------------------------|
   | Version 1.0.7               | 2004-07-09      | AVI            |
   |----------------------------------------------------------------|
   | 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          |
   | (Disclaimer near to license, to let people know they can       |
   | translate without asking permission; Small fixes in some       |
   | phrases).                                                      |
   |----------------------------------------------------------------|
   | Version 1.0.6               | 2004-02-25      | AVI            |
   |----------------------------------------------------------------|
   | Ajouté remerciements et lien vers la traduction russe          |
   | (Included credits and link to russian translation).            |
   |----------------------------------------------------------------|
   | Version 1.0.5               | 2003-07-05      | AVI            |
   |----------------------------------------------------------------|
   | Changé l'adresse vers les serveurs de temps publics et ajouté  |
   | pool.ntp.org (Changed public time servers list URL. Added      |
   | pool.ntp.org).                                                 |
   |----------------------------------------------------------------|
   | Version 1.0.4               | 2002-12-21      | AVI            |
   |----------------------------------------------------------------|
   | Ajouté remerciements et lien vers la traduction japonaise      |
   | (Added japanese translation link and credits).                 |
   |----------------------------------------------------------------|
   | Version 1.0.3               | 2002-08-24      | AVI            |
   |----------------------------------------------------------------|
   | Corrigé les largeurs d'écrans et de listings (Fixed wrong      |
   | screen and programlisting widths).                             |
   |----------------------------------------------------------------|
   | Version 1.0.2               | 2002-08-04      | AVI            |
   |----------------------------------------------------------------|
   | Lien vers une page de serveurs de temps publics (Link to       |
   | public time servers page).                                     |
   |----------------------------------------------------------------|
   | Version 1.0.1               | 2002-05-07      | AVI            |
   |----------------------------------------------------------------|
   | Conversion finale en XML et réorganisation des fichiers (Final |
   | XML conversion. Files reorganization).                         |
   |----------------------------------------------------------------|
   | Version 1.0                 | 2002-04-28      | AVI            |
   |----------------------------------------------------------------|
   | Image terminée (Finalized image).                              |
   |----------------------------------------------------------------|
   | Version 0.8                 | 2002-04-27      | AVI            |
   |----------------------------------------------------------------|
   | Remplacé ntpdc par ntpq dans l'exemple (Switched from ntpdc    |
   | example to ntpq, based on contributions).                      |
   |----------------------------------------------------------------|
   | Version 0.8.1               | 2002-04-20      | AVI            |
   |----------------------------------------------------------------|
   | Graphique amélioré et liens vers d'autres documents (Improved  |
   | graphic. Links to other doc locations).                        |
   |----------------------------------------------------------------|
   | Version 0.8                 | 2002-04-14      | AVI            |
   |----------------------------------------------------------------|
   | Amélioration de la figure NTP (Better tuning of NTP graphic).  |
   |----------------------------------------------------------------|
   | Version 0.76                | 2002-04-13      | AVI            |
   |----------------------------------------------------------------|
   | Ajouté une figure sur l'architecture (Inclusion of             |
   | architecture graphic).                                         |
   |----------------------------------------------------------------|
   | Version 0.75                | 2002-04-10      | AVI            |
   |----------------------------------------------------------------|
   | Correction orthographe et utilisation DocBook XSLT 1.50 (Spell |
   | checked. Using DocBook XSLT 1.50).                             |
   |----------------------------------------------------------------|
   | Version 0.65                | 2002-03-31      | AVI            |
   |----------------------------------------------------------------|
   | Passé au format XML 4.1.2 DocBook (Upgraded to XML 4.1.2       |
   | DocBook format).                                               |
   |----------------------------------------------------------------|
   | Version 0.6                 | 2002-03-29      | AVI            |
   |----------------------------------------------------------------|
   | Terminé le mécanisme des fuseaux horaires sur Linux. Créé      |
   | l'annexe. Il ne reste plus que les dessins. (Finished timezone |
   | mechanism on Linux. Created appendix. Now only drawings are    |
   | needed).                                                       |
   |----------------------------------------------------------------|
   | Version 0.4                 | 2002-03-24      | AVI            |
   |----------------------------------------------------------------|
   | Toute la structure est définie. Tous les exemples de commandes |
   | sont écrits (All skeleton defined. All command examples        |
   | written).                                                      |
   |----------------------------------------------------------------|
   | Version 0.2                 | 2002-03-19      | AVI            |
   |----------------------------------------------------------------|
   | Première version DocBook (First DocBook version).              |
   +----------------------------------------------------------------+

   Résumé

   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.

   ------------------------------------------------------------------

   Table des matières

   1. Pourquoi avoir une horloge précise ?

                1.1. De quels facteurs dépend l'horloge matérielle ?

   2. L'heure et la date en informatique

   3. Qu'est-ce qu'un fuseau horaire ?

                3.1. L'heure d'été

                3.2. Exemples de fuseaux horaires

                3.3. Les fuseaux horaires et Linux

   4. Les paramètres corrects pour votre machine Linux

                4.1. Sélection du fuseau horaire

                4.2. Régler l'horloge matérielle

   5. Synchronisation précise de l'heure

                5.1. NTP : protocole de diffusion du temps en réseau
                (Network Time Protocol)

                5.2. Construire une architecture simple de
                synchronisation de l'heure

                5.3. Configuration NTP

                5.4. Observer votre machine se synchroniser

                5.5. Lancer automatiquement NTP au démarrage

   6. Une horloge précise avec le programme chrony

                6.1. En quoi chrony diffère de ntp ?

                6.2. Comment utiliser chrony ?

   A. À propos de ce document

1. Pourquoi avoir une horloge précise ?

   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 :

     o Pour des logiciels effectuant des transactions ;

     o Pour des applications commerciales (p.ex. eBay) ;

     o Pour des clients et serveurs de messagerie ;

     o Pour des sites web qui utilisent des cookies ;

     o Pour des applications web distibuées ;

     o Pour certains services web ;

     o Pour des applications distribuées à base de composants telles
       que J2EE, .NET, etc ;

     o Pour des systèmes de fichiers modernes avancés et parallèles
       tels que AFS, DFS, GFS, GPFS, etc.

   Et bien sûr, pour utiliser votre ordinateur pour régler votre
   montre.

  1.1. De quels facteurs dépend l'horloge matérielle ?

   Ici, nous allons un peu parler de la précision de l'horloge
   matérielle.

   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.

2. L'heure et la date en informatique

   Pour déterminer l'heure actuelle en un endroit donné de la
   planète, un ordinateur a besoin d'exactement deux informations :

    1. l'heure UTC exacte (en français Temps Universel Coordonné --
       qui a remplacé l'heure GMT) ;

    2. le fuseau horaire local.

   Pour les ordinateurs, il y a aussi une horloge matérielle interne
   qui sert de temps de base pour le système d'exploitation.

   La date et l'heure du système d'exploitation (nous n'utiliserons
   plus que le terme date ou 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 BIOS). Après cette synchronisation, les
   heures du BIOS 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.

   Nous allons maintenant discuter comment les rendre toutes les deux
   100% fiables.

3. Qu'est-ce qu'un fuseau horaire ?

   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.

   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.

   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 Section 3.2, « Exemples de
   fuseaux horaires » pour des exemples.

   Si vous voulez connaître l'heure actuelle n'importe où dans le
   monde, vous pouvez utiliser les sites web timezoneconverter.com
   [http://www.timezoneconverter.com/] (en anglais) ou
   horlogeparlante.com [http://www.horlogeparlante.com/] (en
   français)

  3.1. L'heure d'été

   Pour faire des économies d'énergie, les gouvernements ont créé
   l'heure d'été (appelée en anglais Daylight Savings Time ou DST).
   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 (UTC) est encore, et restera
   toujours, le même.

   Nous verrons plus tard comment activer ou désactiver
   automatiquement l'heure d'été dans Linux.

  3.2. Exemples de fuseaux horaires

   Il n'y a rien de plus parlant que des exemples :

   Tableau 1. Fuseaux horaires du Brésil. Décalage par rapport à
   l'heure UTC

   +----------------------------------------------------------------+
   | Nom et décalage | Nom et décalage |           Lieux            |
   |                 |   heure d'été   |                            |
   |-----------------+-----------------+----------------------------|
   | BREST -2:00     | BREDT -1:00     | Fernando de Noronha        |
   |-----------------+-----------------+----------------------------|
   |                 |                 | Sao Paulo, Rio, Brasilia,  |
   | BRST -3:00      | BRDT -2:00      | Minas Gerais, Région       |
   |                 |                 | Nord-Est, Région Sud, et   |
   |                 |                 | cætera                     |
   |-----------------+-----------------+----------------------------|
   | BRWST -4:00     | BRWDT -3:00     | Région Ouest               |
   |-----------------+-----------------+----------------------------|
   | BRAST -5:00     | BRADT -4:00     | Acre                       |
   +----------------------------------------------------------------+

   Si vous avez une table telle que celle-ci pour les USA ou
   l'Europe, envoyez-la moi s'il-vous-plaît.

  3.3. Les fuseaux horaires et Linux

   Les systèmes Linux utilisent les fuseaux horaires dynamiques GLIBC
   basés sur /etc/localtime. 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 /usr/share/zoneinfo.

   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 /usr/share/zoneinfo,
   chacun valable pour une ville, un pays, et cætera.

   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 zic à
   partir d'un fichier comme celui-ci.

   Exemple 1. Fichier d'information de fuseau horaire pour le Brésil

 # 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, etc
 # 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 <avi @ unix.sh>
 #
 # 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

   Une ligne Rule définit la date et l'heure à laquelle s'effectue un
   changement de fuseau horaire, tandis qu'une ligne Zone référence
   la règle (Rule) qui la gérera. Notez que le nom de la Zone est en
   fait le nom du fichier dans le répertoire /usr/share/zoneinfo 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.

   Les commentaires du fichier expliquent comment installer ces
   fuseaux horaires en utilisant le compilateur de fichier
   d'information de fuseau horaire zic. Pour le rendre effectif, vous
   n'avez plus qu'à créer un lien (ou copier) du fichier
   d'information de fuseau horaire vers /etc/localtime. 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
   Section 4.1, « Sélection du fuseau horaire ».

   Après avoir fait pointer /etc/localtime 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.

   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 :

 bash$ ls -al /etc/localtime
 lrwxrwxrwx  1 root root 35 May 22  2001 /etc/localtime -> /usr/share/zoneinfo/Brazil/Brasilia
 bash$ date
 Fri Mar 29 20:13:38 BRST 2002
 bash# ln -sf /usr/share/zoneinfo/GMT /etc/localtime
 bash$ date
 Fri Mar 29 23:13:47 GMT 2002
 bash# ln -sf /usr/share/zoneinfo/Brazil/Brasilia /etc/localtime
 bash$ date
 Fri Mar 29 20:14:03 BRST 2002

   À 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 /etc/localtime
   (qui ne change pas au contraire de cet exemple).

   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'heure universelle actuelle plus
   le fuseau horaire actuel, comme décrit dans Section 2, « L'heure
   et la date en informatique ».

   Finalement, je suis revenu à mon fuseau horaire de départ.

4. Les paramètres corrects pour votre machine Linux

   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 BIOS. Ici, vous pouvez suivre deux stratégies :

   Machine avec seulement Linux

           Dans ce cas, vous pouvez mettre l'heure du BIOS à l'heure
           UTC. Les changements de fuseaux horaires seront gérés
           dynamiquement comme expliqué dans Section 3.3, « Les
           fuseaux horaires et Linux ».

   Machine avec Linux et MS Windows

           Windows manipule l'heure d'une manière plus primitive que
           Linux. Pour Windows, l'heure du BIOS 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 BIOS à l'heure
           locale.

  4.1. Sélection du fuseau horaire

   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 timeconfig, qui utilise une interface conviviale.
   Vous pouvez aussi le faire de façon non-interactive :

   Exemple 2. Outil de configuration de l'heure

 bash# timeconfig "Brasil/East"         # règle l'horloge matérielle à l'heure locale
 bash#                                  # et le fuseau horaire sur la zone est du Brésil
 bash#
 bash# timeconfig --utc "Brasil/East"   # règle l'horloge matérielle à l'heure UTC
 bash#                                  # et le fuseau horaire sur la zone est du Brésil

   De toute façon, cela change le fichier /etc/sysconfig/clock qui
   est lu au démarrage. Vous pouvez l'éditer manuellement. Il
   ressemble à ceci :

   Exemple 3. /etc/sysconfig/clock file

 ZONE="Brazil/East"
 UTC=true
 ARC=false

  4.2. Régler l'horloge matérielle

   Je vous conseille de ne changer votre horloge matérielle que si
   vous comprenez comment obtenir l'heure exacte, comme expliqué dans
   Section 5, « Synchronisation précise de l'heure ».

   La commande hwclock 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 setclock pour régler correctement votre
   horloge matérielle. Vous n'avez pas besoin de passer de paramètres
   car setclock appelle intelligemment hwclock pour régler le BIOS en
   se basant sur l'heure courante de votre système d'exploitation.
   Vous devriez donc toujours utiliser la commande setclock.

   Mais si vous êtes minimaliste et préférez la façon compliquée,
   voici quelques exemples d'utilisation de hwclock :

   Exemple 4. Utilisation de setclock et hwclock

 bash# setclock                                  # La manière simple de régler l'horloge matérielle
 bash#
 bash# hwclock                                   # Lit l'horloge matérielle
 bash#
 bash# hwclock --systohc --utc                   # Règle l'horloge matérielle avec l'heure UTC
 bash#                                           # basée sur l'heure actuelle du système
 bash#
 bash# hwclock --systohc                         # Règle l'horloge matérielle avec l'heure actuelle
 bash#                                           # basée sur l'heure actuelle du système
 bash#
 bash# hwclock --set --date "21 Oct 2004 21:17"  # Règle l'horloge matérielle avec l'heure spécifiée

   Puisque l'heure du système est indépendante de l'horloge
   matérielle, tout changement dans le BIOS n'apparaîtra que lors du
   démarrage suivant.

   Une autre option pour changer l'horloge matérielle est de
   redémarrer l'ordinateur et d'accéder à l'écran de configuration du
   BIOS. Sur les plates-formes IBM e-server zSeries
   [http://ibm.com/servers/eserver/zseries/os/linux/] vous devez le
   faire au niveau de z/VM parce que Linux tourne sur des machines
   virtuelles créées par z/VM.

5. Synchronisation précise de l'heure

   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.

  5.1. NTP : protocole de diffusion du temps en réseau (Network Time
  Protocol)

   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 www.ntp.org [http://www.ntp.org/].

   Une fois le système configuré, NTP 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.

   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 GPS. 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 NTP 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.

  5.2. Construire une architecture simple de synchronisation de l'heure

   Vous aurez besoin de  :

    1. Une connexion directe ou indirecte (à travers un pare-feu) à
       internet.

    2. Choisir des serveurs NTP. Vous pouvez utiliser le serveur
       public pool.ntp.org [http://www.fortytwo.ch/time/] ou en
       choisir dans la deuxième strate de serveurs de temps publics
       [http://www.eecis.udel.edu/~mills/ntp/clock2a.html] sur le
       site web de NTP. Si vous n'avez pas d'accès à internet, votre
       administrateur WAN (ce doit être un type intelligent) peut
       probablement vous donner des adresses internes.

    3. Avoir le logiciel NTP 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 faire une
       recherche
       [http://rpmfind.net/linux/rpm2html/search.php?query=ntp] sur
       http://rpmfind.net/ [http://rpmfind.net/].

   Voici un exemple d'une bonne architecture :

   Figure 1. Serveurs relais locaux pour NTP

                          [1]Architecture NTP

   Si vous avez plusieurs machines à synchroniser, ne les faites pas
   toutes accéder aux serveurs NTP externes que vous avez choisis.
   Seuls deux de vos serveurs doivent accéder aux serveurs NTP
   externes. Les autres machines se synchroniseront sur ces deux
   dernières. Nous les appellerons serveurs relais.

   Vos serveurs relais peuvent être n'importe lesquelles de vos
   machines déjà disponibles sur votre réseau. NTP consomme très peu
   de mémoire et de processeur. Vous n'avez pas besoin d'une machine
   dédiée à cette fonction.

   [2][Astuce] Astuce
               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é NTP 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 DNS de créer
               ces alias.

  5.3. Configuration NTP

   Pour vos serveurs relais

           Éditez /etc/ntp.conf et ajoutez les serveurs distants que
           vous avez choisis :

           Exemple 5. Fichier /etc/ntp.confdes machines relais

 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

           De nouveau, vous pouvez utiliser le serveur public
           pool.ntp.org [http://www.fortytwo.ch/time/] ou obtenir une
           liste de serveurs de temps publics
           [http://www.eecis.udel.edu/~mills/ntp/clock2a.html] sur le
           site web de NTP.

   Pour vos clients

           Éditez /etc/ntp.conf et ajoutez vos serveurs relais avec
           un nom standard :

           Exemple 6. Fichier /etc/ntp.conf des machines clientes

 server  ntp1.mon-domaine.fr   # Mon premier serveur relais local
 server  ntp2.mon-domaine.fr   # Mon deuxième serveur relais local

   Si votre machine a une heure UTC différente de plusieurs minutes
   par rapport aux serveurs NTP, NTP 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 NTP, jamais plus après :

   Exemple 7. Première synchronisation

 bash# ntpdate autre-ntp.gouv.fr       [3]1
 24 Mar 18:16:36 ntpdate[10254]: step time server 200.100.20.10 offset -15.266188 sec
 bash# ntpdate autre-ntp.gouv.fr       [4]2
 24 Mar 18:16:43 ntpdate[10255]: adjust time server 200.100.20.10 offset -0.000267 sec

   [5]1 Première synchronisation complète. L'horloge retardait de 15
        secondes.
   [6]2 Deuxième synchronisation complète, juste pour être sûr.
        Maintenant, nous ne retardons pratiquement plus, ce qui est
        une bonne chose.

   La dernière étape consiste à démarrer ou à redémarrer le démon NTP
   sur chaque machine :

 bash# service ntpd restart

  5.4. Observer votre machine se synchroniser

   Maintenant que tout est configuré, NTP va garder l'heure de votre
   machine synchronisée. Vous pouvez observer ce processus en
   utilisant la commande d'interrogation NTP (ntpq) :

   Exemple 8. Un exemple d'interrogation de l'état de la
   synchronisation temporelle

 bash# ntpq -p
      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

   La signification de chaque colonne

   remote

           Est le nom du serveur NTP distant. Si vous utilisez
           l'option -n, vous verrez les adresses IP de ces serveurs à
           la place de leurs noms.

   refid

           Indique d'où chaque serveur obtient son heure. Il peut
           s'agir d'un nom d'hôte ou de quelque chose comme .GPS.,
           indiquant une source GPS (Global Positioning System).

   st

           La strate 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.

   poll

           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.

   reach

           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.

   delay

           Le délai (en secondes) nécessaire pour recevoir une
           réponse à une demande de "quelle heure est-il ?".

   offset

           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.

   jitter

           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.

   Signification des signes devant les noms de serveur

   -

           Signifie que le service NTP local n'aime pas beaucoup ce
           serveur

   +

           Signifie que le service NTP local aime ce serveur

   x

           Marque un mauvais serveur

   *

           Indique le serveur préféré actuel

  5.5. Lancer automatiquement NTP au démarrage

   Si vous voulez toujours avoir le service NTP sur votre machine
   même si vous la redémarrez, faites ceci sur chaque machine :

 bash# chkconfig --level 2345 ntpd on

   Cela garantira un démarrage automatique.

   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 mécanisme similaire à la
   commande setclock. 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.

6. Une horloge précise avec le programme chrony

  6.1. En quoi chrony diffère de ntp ?

   Chrony utilise aussi le protocole NTP 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.

   La version 1.20 de chrony 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.

  6.2. Comment utiliser chrony ?

   Chrony est constitué de deux parties : le démon chronyd et
   l'interface utilisateurchronyc.

   Vous pouvez trouver chrony sur chrony.sunsite.dk/index.php
   [http://chrony.sunsite.dk/index.php/]

A. À propos de ce document

   Copyright 2002, 2003, 2004 Avi Alkalay.

   Copyright 2004, 2005 Philippe Wautelet et copyright 2005 Raphaël
   Semeteys pour la traduction française.

   This document must be distributed under the terms of [7]GNU Free
   Documentation License. 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.

   Ce document doit être distribué sous les termes de la licence de
   documentation libre GNU (GFDL)
   [http://www.gnu.org/copyleft/fdl.html]. 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.

   Ce document est disponible aux endroits suivants :

     o Site officiel de la version originale
       [http://avi.alkalay.net/linux/docs/TimePrecision/] [Code
       source XML DocBook
       [http://avi.alkalay.net/linux/docs/TimePrecision/timeprecision.tar.gz]]
       ;

     o LinuxDoc, en tant que guide pratique (version anglaise)
       [http://en.tldp.org/HOWTO/TimePrecision-HOWTO/] [une seule
       page
       [http://www.ibiblio.org/pub/Linux/docs/HOWTO/other-formats/html_single/TimePrecision-HOWTO.html]]
       [PDF
       [http://www.ibiblio.org/pub/Linux/docs/HOWTO/other-formats/pdf/TimePrecision-HOWTO.pdf]]
       ;

     o Takeo Nakano <nakano CHEZ apm POINT seikei POINT ac POINT jp>
       traduction japonaise
       [http://www.linux.or.jp/JF/JFdocs/TimePrecision-HOWTO/]
       [version texte
       [http://www.linux.or.jp/JF/JFdocs/TimePrecision-HOWTO.txt]] ;

     o SHAKI <sha-ki CHEZ narod POINT ru> traduction russe
       [http://computerlib.narod.ru/html/linuxtime.htm] ;

     o Mihaly Gyulai <gyulai CHEZ fbi POINT hu> traduction hongroise
       [http://tldp.fsf.hu/HOWTO/TimePrecision-HOWTO-hu/index.html] ;

     o Dernière version française de ce document
       [http://www.traduc.org/docs/howto/lecture/TimePrecision-HOWTO.html]
       [Code source XML DocBook
       [http://www.traduc.org/cgi-bin/viewcvs.cgi/guides_pratiques/TimePrecision-HOWTO.xml]].