2. Utiliser le programme 'clock'

Contenu de cette section

Tout ce que vous devez savoir est dans la page de manuel clock(8), mais ce mini-HOWTO va vous guider pas à pas.

Note Vous devez être root pour exécuter 'clock', ou n'importe quel autre programme qui modifie soit le temps système soit l'horloge CMOS.

2.1 Vérifier votre installation

Cherchez dans vos fichiers de démarrage une commande du style 'clock -a' ou 'clock -ua'. Selon la distribution que vous utilisez, cela peut être dans /etc/rc.local, /etc/rc.d/rc.sysinit, ou dans un endroit similaire.

Si c'est 'clock -s' ou 'clock -us', changez le 's' en 'a', puis regardez si vous avez un fichier /etc/adjtime, ne contenant qu'une ligne ressemblant à quelque chose comme cela :

       0.000000 842214901 0.000000
      

Ces nombres sont le facteur de correction (en secondes par jour), le moment où l'horloge a été réajustée la dernière fois (en secondes depuis le 1er janvier 1970), et les secondes partielles qui ont été arrondies la dernière fois. Si vous n'avez pas ce fichier, connectez vous en tant que root et créez le, avec une seule ligne qui ressemble à (que des zéros) :

         0.0 0 0.0
      

Ensuite exécutez 'clock -a' ou 'clock -ua' manuellement à partir du shell pour mettre à jour le deuxième nombre (utiliser le 'u' si votre horloge est configurée en Universel plutôt que temps local).

2.2 Mesurer le taux de dérive temporelle de votre horloge

Pour commencer, vous devez connaitre l'heure qu'il est :-). Votre temps local du jour peut ou peut ne pas être exact. Ma méthode préférée est d'appeler l'horloge parlante au 3699 (c'est un appel gratuit). Si vous avez accés à un serveur réseau de temps, vous pouvez utiliser le programme ntpdate du progiciel xntpd (utiliser le paramètre -b pour empêcher le noyau de cafouiller l'horloge CMOS). Sinon utiliser 'date -s hh:mm:ss' pour mettre l'heure système à la main, puis 'clock -w' pour mettre à jour l'horloge CMOS à partir de l'heure du système. Vous devrez vous rappeler la dernière fois que vous avez changé l'heure, donc écrivez la date quelque part où vous ne la perdrez pas. Si vous avez utilisé ntpdate, faire 'date +%s' et écrire le nombre de secondes depuis le 1er janvier 1970.

Puis revenez quelques jours ou semaines après et regardez de combien l'horloge a dérivé. Si vous mettez l'horloge à jour à la main, je vous recommanderais d'attendre au moins deux semaines, et de seulement calculer le taux de dérive le plus proche d'un dixième de secondes par jour. Après plusieurs mois vous pourrez obtenir le plus proche d'un centième de secondes par jour (quelques personnes affirment être encore plus précis mais je resterais prudent dans ce cas). Si vous utilisez ntpdate, vous n'aurez pas à attendre si longtemps, mais dans tous les cas vous pourrez toujours affiner plus tard.

Vous pouvez avoir cron qui exécute 'clock -a' à des moments réguliers pour garder le temps système en accord avec le temps (corrigé) CMOS. Cette commande sera aussi exécutée à partir de vos fichiers de démarrage à chaque fois que vous relancerez le système, ainsi si vous le faites souvent (comme quelques uns d'entre nous le font), cela peut suffire à vos besoins.

Remarquez que certains programmes peuvent se plaindrent si le système saute plus d'une seconde à la fois, ou s'il retranche du temps. Si vous avez ce problème, vous pouvez utiliser xntpd ou ntpdate pour corriger le temps plus graduellement.

2.3 Exemple

Mettre à jour le temps

Se connecter root. Appeler le 3699 (vocal), écouter l'annonce de l'heure. Puis taper:

         date -s hh:mm:ss
      

Mais ne tapez Entrée que lorsque vous entendez le bip. (vous pouvez utiliser 'ntpdate' ici plutôt que 'date', et éviter l'appel téléphonique). Cela met à jour le 'temps noyau'. Puis taper :

       clock -w
      

Cela met à jour l'horloge CMOS pour correspondre au temps noyau. Puis taper:

       date +%j
      

(ou 'date +%s' si vous utilisez 'ntpdate', plutôt que 'date' ci-dessus) et écrire le nombre qu'il vous donne pour la prochaine fois.

Pour remettre à jour le temps et vérifier le taux de dérive

Trouver la date que vous avez écrit la dernière fois. Se connecter root puis taper:

           clock -a
      

Cela met à jour le temps noyau qui correspond ainsi au temps CMOS. Appeler le 3699 (vocal), écouter l'annonce. Puis taper :

           date
      

et appuyer sur Entrée quand vous entendez le signal sonore, mais alors que vous attendez, notez le temps annoncé, et ne raccrochez pas de suite. Cela vous dit à quel temps votre machine pensait être, quand cela aurait du être exact à la minute. Maintenant entrez :

           date hh:mm:00
      

utilisant la minute *après* celle qui vient juste d'être annoncée, et appuyez sur entrée quand vous entendez le signal sonore à nouveau (maintenant vous pouvez raccrocher). Pour hh utiliser le temps local. Cela met à jour le 'temps noyau'.

Puis taper :

            clock -w
      

qui écrit le nouveau (correct) temps dans l'horloge CMOS. Maintenant tapez :

            date +%j
      

(ou 'date +%s' si c'est ce que vous avez utilisé avant).

Vous avez maintenant trois nombres (deux dates et une heure) qui vont vous permettre de calculer la dérive de temps.

Calculer le facteur de correction

quand vous exécutez 'date' à l'instant, est-ce que votre machine était en avance ou en retardt, Début de ce chapitre

./usr/share/doc/LANG/fr/HOWTO/mini/Clock-2.html0100644000000000000000000003216406511314361017444 0ustar rootroot Utiliser le programme 'clock'

2. Utiliser le programme 'clock'

Contenu de cette section

Tout ce que vous devez savoir est dans la page de manuel clock(8), mais ce mini-HOWTO va vous guider pas à pas.

Note Vous devez être root pour exécuter 'clock', ou n'importe quel autre programme qui modifie soit le temps système soit l'horloge CMOS.

2.1 Vérifier votre installation

Cherchez dans vos fichiers de démarrage une commande du style 'clock -a' ou 'clock -ua'. Selon la distribution que vous utilisez, cela peut être dans /etc/rc.local, /etc/rc.d/rc.sysinit, ou dans un endroit similaire.

Si c'est 'clock -s' ou 'clock -us', changez le 's' en 'a', puis regardez si vous avez un fichier /etc/adjtime, ne contenant qu'une ligne ressemblant à quelque chose comme cela :

       0.000000 842214901 0.000000
      

Ces nombres sont le facteur de correction (en secondes par jour), le moment où l'horloge a été réajustée la dernière fois (en secondes depuis le 1er janvier 1970), et les secondes partielles qui ont été arrondies la dernière fois. Si vous n'avez pas ce fichier, connectez vous en tant que root et créez le, avec une seule ligne qui ressemble à (que des zéros) :

         0.0 0 0.0
      

Ensuite exécutez 'clock -a' ou 'clock -ua' manuellement à partir du shell pour mettre à jour le deuxième nombre (utiliser le 'u' si votre horloge est configurée en Universel plutôt que temps local).

2.2 Mesurer le taux de dérive temporelle de votre horloge

Pour commencer, vous devez connaitre l'heure qu'il est :-). Votre temps local du jour peut ou peut ne pas être exact. Ma méthode préférée est d'appeler l'horloge parlante au 3699 (c'est un appel gratuit). Si vous avez accés à un serveur réseau de temps, vous pouvez utiliser le programme ntpdate du progiciel xntpd (utiliser le paramètre -b pour empêcher le noyau de cafouiller l'horloge CMOS). Sinon utiliser 'date -s hh:mm:ss' pour mettre l'heure système à la main, puis 'clock -w' pour mettre à jour l'horloge CMOS à partir de l'heure du système. Vous devrez vous rappeler la dernière fois que vous avez changé l'heure, donc écrivez la date quelque part où vous ne la perdrez pas. Si vous avez utilisé ntpdate, faire 'date +%s' et écrire le nombre de secondes depuis le 1er janvier 1970.

Puis revenez quelques jours ou semaines après et regardez de combien l'horloge a dérivé. Si vous mettez l'horloge à jour à la main, je vous recommanderais d'attendre au moins deux semaines, et de seulement calculer le taux de dérive le plus proche d'un dixième de secondes par jour. Après plusieurs mois vous pourrez obtenir le plus proche d'un centième de secondes par jour (quelques personnes affirment être encore plus précis mais je resterais prudent dans ce cas). Si vous utilisez ntpdate, vous n'aurez pas à attendre si longtemps, mais dans tous les cas vous pourrez toujours affiner plus tard.

Vous pouvez avoir cron qui exécute 'clock -a' à des moments réguliers pour garder le temps système en accord avec le temps (corrigé) CMOS. Cette commande sera aussi exécutée à partir de vos fichiers de démarrage à chaque fois que vous relancerez le système, ainsi si vous le faites souvent (comme quelques uns d'entre nous le font), cela peut suffire à vos besoins.

Remarquez que certains programmes peuvent se plaindrent si le système saute plus d'une seconde à la fois, ou s'il retranche du temps. Si vous avez ce problème, vous pouvez utiliser xntpd ou ntpdate pour corriger le temps plus graduellement.

2.3 Exemple

Mettre à jour le temps

Se connecter root. Appeler le 3699 (vocal), écouter l'annonce de l'heure. Puis taper:

         date -s hh:mm:ss
      

Mais ne tapez Entrée que lorsque vous entendez le bip. (vous pouvez utiliser 'ntpdate' ici plutôt que 'date', et éviter l'appel téléphonique). Cela met à jour le 'temps noyau'. Puis taper :

       clock -w
      

Cela met à jour l'horloge CMOS pour correspondre au temps noyau. Puis taper:

       date +%