Problème : heure et date système incorrectes ou mal gérées lors des transitions en heure d'été ou d'hiver.
Solution : La France se trouve en zone MET (GMT + 1). La zone "MET DST" correspond à l'heure d'été activée (GMT + 2). Mieux vaut ne pas laisser tout cela reposer uniquement sur la variable TZ.
Voici exposé de René Cougnenc (adapté) :
Se placer sur le répertoire /usr/lib/zoneinfo.
Lire le fichier time.doc
Les fichiers binaires placés dans /usr/lib/zoneinfo indiquent les règles
de calcul de l'heure dans différentes zones du globe.
La France se trouve en zone "MET" (Medium European Time si je me souviens
bien).
Copier le fichier "MET" sous le nom de
"/usr/lib/zoneinfo/localtime",
puis établir un lien de cela sur "/usr/lib/zoneinfo/posixrules".
Commandes :
cd /usr/lib/zoneinfo
cp MET localtime
ln -sf localtime posixrules
Utiliser ensuite la commande "clock" pour mettre le système à l'heure.
Deux possibilités :
- La machine est à l'heure GMT
- La machine est à l'heure locale.
La première solution est préférable mais MS-DOS ne gère pas correctement
cette approche. L'horloge sera donc fausse sous ce système. Par contre
tous les changements d'heure, deux fois par an, seront pris en charge par
Linux. Dans ce cas, tu dois mettre au démarrage, dans /etc/rc, la commande
suivante : "clock -u -s". Linux s'ajustera sur l'horloge sauvegardée.
Si la CMOS est à l'heure locale, la commande du /etc/rc devient "clock -s"
et les changements d'heure ne seront automatiques que si la machine est
allumée au moment des changements d'heure.
Il faudra manuellement réecrire la nouvelle heure
dans la CMOS par "clock -w", ou mettre l'horloge à l'heure avec le setup.
La commande "date" permet de vérifier la validité de l'heure ; elle renvoie
heure et timezone
"date -u" donne toujours l'heure en GMT :
plux:/home/rene $ date
Tue Sep 28 20:16:46 MET 1993
plux:/home/rene $ date -u
Tue Sep 28 19:16:49 GMT 1993
(En été "MET DST" (Daylight savings time) serait indiqué).