This file is indexed.

/usr/share/doc/HOWTO/fr-html/Clock.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
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<meta name="generator" content=
"HTML Tidy for Linux (vers 25 March 2009), see www.w3.org">
<meta name="GENERATOR" content="LinuxDoc-Tools 0.9.71">
<title>Mini HOWTO Clock</title>
</head>
<body>
<h1>Mini HOWTO Clock</h1>
<h2>Ron Bean, Dec. 1996 <code>rbean@execpc.com</code> (Adaptation
fran&ccedil;aise par Gacquer fr&eacute;d&eacute;ric
<code>gacquer@neuronnexion.fr</code>)</h2>
Dec. 1996
<hr>
<em>Jeudi 2 avril 1998 V 1.0.</em>
<hr>
<h2><a name="s1">1. Introduction</a></h2>
<p>Les puces d'horloge temps-r&eacute;el sur les cartes
m&egrave;res des PC (et m&ecirc;me des stations de travail plus
on&eacute;reuses) sont de notori&eacute;t&eacute; publique
inexactes. Linux fourni une mani&egrave;re simple pour corriger
cela de mani&egrave;re logicielle, rendant virtuellement l'horloge
*tr&eacute;s* pr&eacute;cise m&ecirc;me sans horloge externe. Mais
la plupart des personnes ne semblent pas &ecirc;tre au courant,
pour plusieurs raisons :</p>
<ol>
<li>Ce n'est pas indiqu&eacute; dans la plupart des documentations
"Comment installer linux", et cela serait difficile de le mettre en
place automatiquement au moment de l'installation du syst&egrave;me
(bien que pas impossible en th&eacute;orie, si vous avez un
modem).</li>
<li>Si vous essayez "man clock" vous obtiendrez clock(3), ce qui
n'est pas ce que vous souhaitez. (Essayez "man 8 clock").</li>
<li>La plupart des gens ne semblent pas tenir compte de l'heure
qu'il est de toute fa&ccedil;on.</li>
<li>Le peu qui y font attention r&eacute;guli&egrave;rement veulent
utiliser le logiciel xntpd de louie.udel.edu pour se synchroniser
&agrave; une horloge externe, comme un serveur r&eacute;seau de
temps ou une horloge radio.</li>
</ol>
<p>Ce mini-howto d&eacute;crit une approche de bas-niveau. Si vous
&ecirc;tes vraiment int&eacute;ress&eacute; par ce genre de chose,
je vous recommende vivement de passer du temps &agrave; <a href=
"http://www.eecis.udel.edu/~ntp/">http://www.eecis.udel.edu/~ntp/</a>
qui inclus toutes sortes de choses int&eacute;ressantes, incluant
une documentation compl&egrave;te sur xntpd et des liens sur NIST
et USNO (j'ai quelques commentaires suppl&eacute;mentaires sur
xntpd &agrave; la fin.)</p>
<p><em>Note</em> si vous avez plus d'un syst&egrave;me
d'exploitation sur votre machine, vous devez en laisser seulement
un remettre &agrave; jour l'horloge CMOS, ainsi ils
n'interf&egrave;rerons pas l'un envers l'autre. Si vous
ex&eacute;cutez r&eacute;guli&egrave;rement &agrave; la fois linux
et windows sur la m&ecirc;me machine, vous pourriez
&eacute;ventuellement pr&eacute;f&eacute;rer quelques uns des
programmes sharewares de gestion de l'horloge disponible pour
windows (suivre les liens &agrave; partir de l'URL ci-dessus).</p>
<h2><a name="s2">2. Utiliser le programme 'clock'</a></h2>
<p>Tout ce que vous devez savoir est dans la page de manuel
clock(8), mais ce mini-HOWTO va vous guider pas &agrave; pas.</p>
<p><em>Note</em> Vous devez &ecirc;tre root pour ex&eacute;cuter
'clock', ou n'importe quel autre programme qui modifie soit le
temps syst&egrave;me soit l'horloge CMOS.</p>
<h2><a name="ss2.1">2.1 V&eacute;rifier votre installation</a></h2>
<p>Cherchez dans vos fichiers de d&eacute;marrage une commande du
style 'clock -a' ou 'clock -ua'. Selon la distribution que vous
utilisez, cela peut &ecirc;tre dans <code>/etc/rc.local</code>,
<code>/etc/rc.d/rc.sysinit</code>, ou dans un endroit
similaire.</p>
<p>Si c'est 'clock -s' ou 'clock -us', changez le 's' en 'a', puis
regardez si vous avez un fichier <code>/etc/adjtime</code>, ne
contenant qu'une ligne ressemblant &agrave; quelque chose comme
cela :</p>
<blockquote>
<pre>
<code>       0.000000 842214901 0.000000
      
</code>
</pre></blockquote>
<p>Ces nombres sont le facteur de correction (en secondes par
jour), le moment o&ugrave; l'horloge a &eacute;t&eacute;
r&eacute;ajust&eacute;e la derni&egrave;re fois (en secondes depuis
le 1er janvier 1970), et les secondes partielles qui ont
&eacute;t&eacute; arrondies la derni&egrave;re fois. Si vous n'avez
pas ce fichier, connectez vous en tant que root et cr&eacute;ez le,
avec une seule ligne qui ressemble &agrave; (que des z&eacute;ros)
:</p>
<blockquote>
<pre>
<code>         0.0 0 0.0
      
</code>
</pre></blockquote>
<p>Ensuite ex&eacute;cutez 'clock -a' ou 'clock -ua' manuellement
&agrave; partir du shell pour mettre &agrave; jour le
deuxi&egrave;me nombre (utiliser le 'u' si votre horloge est
configur&eacute;e en Universel plut&ocirc;t que temps local).</p>
<h2><a name="ss2.2">2.2 Mesurer le taux de d&eacute;rive temporelle
de votre horloge</a></h2>
<p>Pour commencer, vous devez connaitre l'heure qu'il est :-).
Votre temps local du jour peut ou peut ne pas &ecirc;tre exact. Ma
m&eacute;thode pr&eacute;f&eacute;r&eacute;e est d'appeler
l'horloge parlante au 3699 (c'est un appel gratuit). Si vous avez
acc&eacute;s &agrave; un serveur r&eacute;seau de temps, vous
pouvez utiliser le programme ntpdate du progiciel xntpd (utiliser
le param&egrave;tre -b pour emp&ecirc;cher le noyau de cafouiller
l'horloge CMOS). Sinon utiliser 'date -s hh:mm:ss' pour mettre
l'heure syst&egrave;me &agrave; la main, puis 'clock -w' pour
mettre &agrave; jour l'horloge CMOS &agrave; partir de l'heure du
syst&egrave;me. Vous devrez vous rappeler la derni&egrave;re fois
que vous avez chang&eacute; l'heure, donc &eacute;crivez la date
quelque part o&ugrave; vous ne la perdrez pas. Si vous avez
utilis&eacute; ntpdate, faire 'date +%s' et &eacute;crire le nombre
de secondes depuis le 1er janvier 1970.</p>
<p>Puis revenez quelques jours ou semaines apr&egrave;s et regardez
de combien l'horloge a d&eacute;riv&eacute;. Si vous mettez
l'horloge &agrave; jour &agrave; la main, je vous recommanderais
d'attendre au moins deux semaines, et de seulement calculer le taux
de d&eacute;rive le plus proche d'un dixi&egrave;me de secondes par
jour. Apr&egrave;s plusieurs mois vous pourrez obtenir le plus
proche d'un centi&egrave;me de secondes par jour (quelques
personnes affirment &ecirc;tre encore plus pr&eacute;cis mais je
resterais prudent dans ce cas). Si vous utilisez ntpdate, vous
n'aurez pas &agrave; attendre si longtemps, mais dans tous les cas
vous pourrez toujours affiner plus tard.</p>
<p>Vous pouvez avoir cron qui ex&eacute;cute 'clock -a' &agrave;
des moments r&eacute;guliers pour garder le temps syst&egrave;me en
accord avec le temps (corrig&eacute;) CMOS. Cette commande sera
aussi ex&eacute;cut&eacute;e &agrave; partir de vos fichiers de
d&eacute;marrage &agrave; chaque fois que vous relancerez le
syst&egrave;me, ainsi si vous le faites souvent (comme quelques uns
d'entre nous le font), cela peut suffire &agrave; vos besoins.</p>
<p>Remarquez que certains programmes peuvent se plaindrent si le
syst&egrave;me saute plus d'une seconde &agrave; la fois, ou s'il
retranche du temps. Si vous avez ce probl&egrave;me, vous pouvez
utiliser xntpd ou ntpdate pour corriger le temps plus
graduellement.</p>
<h2><a name="ss2.3">2.3 Exemple</a></h2>
<h3>Mettre &agrave; jour le temps</h3>
<p>Se connecter root. Appeler le 3699 (vocal), &eacute;couter
l'annonce de l'heure. Puis taper:</p>
<blockquote>
<pre>
<code>         date -s hh:mm:ss
      
</code>
</pre></blockquote>
<p>Mais ne tapez Entr&eacute;e que lorsque vous entendez le bip.
(vous pouvez utiliser 'ntpdate' ici plut&ocirc;t que 'date', et
&eacute;viter l'appel t&eacute;l&eacute;phonique). Cela met
&agrave; jour le 'temps noyau'. Puis taper :</p>
<blockquote>
<pre>
<code>       clock -w
      
</code>
</pre></blockquote>
<p>Cela met &agrave; jour l'horloge CMOS pour correspondre au temps
noyau. Puis taper:</p>
<blockquote>
<pre>
<code>       date +%j
      
</code>
</pre></blockquote>
<p>(ou 'date +%s' si vous utilisez 'ntpdate', plut&ocirc;t que
'date' ci-dessus) et &eacute;crire le nombre qu'il vous donne pour
la prochaine fois.</p>
<h3>Pour remettre &agrave; jour le temps et v&eacute;rifier le taux
de d&eacute;rive</h3>
<p>Trouver la date que vous avez &eacute;crit la derni&egrave;re
fois. Se connecter root puis taper:</p>
<blockquote>
<pre>
<code>           clock -a
      
</code>
</pre></blockquote>
<p>Cela met &agrave; jour le temps noyau qui correspond ainsi au
temps CMOS. Appeler le 3699 (vocal), &eacute;couter l'annonce. Puis
taper :</p>
<blockquote>
<pre>
<code>           date
      
</code>
</pre></blockquote>
<p>et appuyer sur Entr&eacute;e quand vous entendez le signal
sonore, mais alors que vous attendez, notez le temps
annonc&eacute;, et ne raccrochez pas de suite. Cela vous dit
&agrave; quel temps votre machine pensait &ecirc;tre, quand cela
aurait du &ecirc;tre exact &agrave; la minute. Maintenant entrez
:</p>
<blockquote>
<pre>
<code>           date hh:mm:00
      
</code>
</pre></blockquote>
<p>utilisant la minute *apr&egrave;s* celle qui vient juste
d'&ecirc;tre annonc&eacute;e, et appuyez sur entr&eacute;e quand
vous entendez le signal sonore &agrave; nouveau (maintenant vous
pouvez raccrocher). Pour hh utiliser le temps local. Cela met
&agrave; jour le 'temps noyau'.</p>
<p>Puis taper :</p>
<blockquote>
<pre>
<code>            clock -w
      
</code>
</pre></blockquote>
<p>qui &eacute;crit le nouveau (correct) temps dans l'horloge CMOS.
Maintenant tapez :</p>
<blockquote>
<pre>
<code>            date +%j
      
</code>
</pre></blockquote>
<p>(ou 'date +%s' si c'est ce que vous avez utilis&eacute;
avant).</p>
<p>Vous avez maintenant trois nombres (deux dates et une heure) qui
vont vous permettre de calculer la d&eacute;rive de temps.</p>
<h3>Calculer le facteur de correction</h3>
<p>quand vous ex&eacute;cutez 'date' &agrave; l'instant, est-ce que
votre machine &eacute;tait en avance ou en retard ? Si elle
avan&ccedil;ait, vous aurez &agrave; retrancher quelques secondes,
alors &eacute;crivez le comme un nombre n&eacute;gatif. Si elle
retardait, vous aurez &agrave; ajouter quelques secondes, alors
&eacute;crivez le comme positif.</p>
<p>Maintenant soustrayez les deux dates. Si vous avez
utilis&eacute; 'date +%j', les nombres repr&eacute;sentent le jour
de l'ann&eacute;e (1-365, ou 1-366 pour les ann&eacute;es
bissextiles). Si vous avez pass&eacute; le 1er janvier depuis votre
derni&egrave;re modification horaire vous aurez &agrave; ajouter
365 (ou 366) au deuxi&egrave;me nombre. Si vous avez utilis&eacute;
'date +%s' alors votre nombre est en secondes, et vous aurez
&agrave; le diviser par 86400 pour obtenir des jours.</p>
<p>Si vous avez d&eacute;j&agrave; un facteur de correction dans
<code>/etc/adjtime</code>, vous aurez &agrave; tenir compte du
nombre de secondes que vous avez d&eacute;j&agrave; corrig&eacute;.
Si vous avez trop corrig&eacute;, ce nombre aura le signe
oppos&eacute; &agrave; celui que vous venez juste de mesurer; si
vous n'avez pas assez corrig&eacute; il aura le m&ecirc;me signe.
Multipliez l'ancien facteur de correction par le nombre de jour, et
ensuite ajouter le nouveau nombre de secondes (addition
sign&eacute;e -- si les deux nombres ont le m&ecirc;me signe, vous
obtiendrez un nombre plus grand, s'ils ont des signes
oppos&eacute;s vous aurez un nombre plus petit).</p>
<p>Puis divisez le nombre total de secondes par le nombre de jours
pour obtenir le nouveau facteur de correction, et le mettre dans
<code>/etc/adjtime</code> &agrave; la place de l'ancien. Conservez
la nouvelle date (en secondes par jour) pour la prochaine fois.</p>
<p>Voici &agrave; quoi ressemble mon <code>/etc/adjtime</code>
:</p>
<blockquote>
<pre>
<code>            -9.600000 845082716 -0.250655
      
</code>
</pre></blockquote>
<p><em>Note</em> (on remarque que 9.6 secondes par jour c'est
presque 5 minutes par mois !)</p>
<h2><a name="ss2.4">2.4 Quelques mots &agrave; propos de
xntpd</a></h2>
<p>Votre syst&egrave;me a en fait deux horloges -- l'horloge temps
r&eacute;el sur batterie qui garde trace du temps quand le
syst&egrave;me est &eacute;teint (aussi connue comme "l'horloge
CMOS", "horloge mat&eacute;rielle" ou "RTC") et le 'temps noyau'
(parfois appell&eacute;e "horloge logicielle" ou "horloge
syst&egrave;me") qui est bas&eacute; sur l'interruption timer et
qui est initialis&eacute;e &agrave; partir de l'horloge CMOS au
d&eacute;marrage du syst&egrave;me. Les deux vont d&eacute;river
&agrave; des rythmes diff&eacute;rents, ainsi elles vont
graduellement s'&eacute;carter l'une de l'autre, tout en
s'&eacute;cartant du temps 'r&eacute;el'.</p>
<p>Toutes les r&eacute;f&eacute;rences &agrave; "l'horloge" dans la
documentation de xntpd se r&eacute;f&egrave;rent &agrave;
"l'horloge noyau". Quand vous ex&eacute;cutez xntpd ou timed (ou
n'importe quel autre programme qui utilise l'appel syst&egrave;me
adjtimex), le noyau linux suppose que l'horloge du noyau est plus
pr&eacute;cise que l'horloge CMOS, et remets &agrave; jour le temps
CMOS toutes les 11 minutes &agrave; partir de ce moment
(jusqu'&agrave; ce que l'on relance l'ordinateur). Cela signifie
que 'clock' ne sais plus quand l'horloge CMOS a &eacute;t&eacute;
modifi&eacute; la derni&egrave;re fois, ainsi vous ne pouvez plus
utiliser le facteur de correction dans <code>/etc/adjtime</code>.
Vous pouvez utiliser ntpdate dans votre fichier de d&eacute;marrage
pour mettre &agrave; jour initialement l'horloge &agrave; partir
d'un serveur de temps avant de lancer xntpd. Si vous n'avez pas
toujours acc&eacute;s &agrave; une source fiable de temps lors de
l'allumage de l'ordinateur, cela peut &ecirc;tre un peu
g&ecirc;nant -- xntpd n'est pas vraiment con&ccedil;u pour
&ecirc;tre utilis&eacute; dans des situations comme celles
l&agrave;.</p>
<p>Xntpd inclue des drivers pour plusieurs horloges radio, et peut
&ecirc;tre configur&eacute; pour appeler le service de temps
t&eacute;l&eacute;phonique de NIST &agrave; des temps
r&eacute;guliers (soyez s&ucirc;r de calculer l'incidence sur votre
facture t&eacute;l&eacute;phonique lors du param&eacute;trage de
l'intervalle entre deux appels). Il peut aussi appliquer un facteur
de correction &agrave; l'horloge noyau s'il perd contact avec les
autres sources pour une p&eacute;riode de temps assez longue.</p>
<p>La plupart des horloges radio co&ucirc;tent 3-4000$, mais vous
pouvez obtenir des plans pour une 'boite gadget' peu ch&egrave;re
(en fait un modem 300 baud) qui se met entre votre ordinateur et
n'importe quelle radio onde courte r&eacute;gl&eacute;e sur la
station de temps canadienne CHU (voir <a href=
"ftp://ftp.udel.edu/pub/ntp/gadget.tar.Z">ftp://ftp.udel.edu/pub/ntp/gadget.tar.Z</a>).
Le r&eacute;cepteur Heathkit WWV ("l'Horloge la Plus
Pr&eacute;cise") est aussi encore disponible (bien que
n'&eacute;tant pas en kit), et co&ucirc;te aux environs de 4-500 $.
Les signaux GPS contiennent aussi des informations de temps, et
quelques recepteurs GPS peuvent se connecter sur le port
s&eacute;rie. Cela peut &ecirc;tre la solution la moins
on&eacute;reuse dans un futur proche.</p>
<p>En th&eacute;orie, on peut &eacute;crire un programme pour
utiliser le service de temps t&eacute;l&eacute;phonique NIST pour
calculer automatiquement le taux de d&eacute;rive de l'horloge CMOS
et de l'horloge noyau. Je ne suis pas au courant d'un quelconque
programme d&eacute;mon qui ferait cela, mais la plupart du code
peut &ecirc;tre emprunt&eacute; &agrave; xntpd.</p>
</body>
</html>