# [HEURE] été hiver et pas à l'heure (résolu)

## Mickael

Bonjour, 

j'ai un micro-soucis. Nous venons de passer à l'heure dté. Hier je rectifie à la mano mon heure avec la commande date. bien sur j'avais oublié que l'effet ne serait que temporaire et ce matin pam! toujours à l'heure d'hiver. S'pas grave, je potasse la doc, j'étais en local dans le fichier de configuration /etc/conf.d/hwclock puisque en double-boot depuis le début avec ce portable. Je passe en UTC, ce qui pose un pseudo problème sous windows : il aura deux heures de retard mais c'est pas grave j'y vais une fois tous les 36 du mois et de toute façon il sera viré cet été. Bref, je vérifie que le fichier  hwclock est correctement paramétré :

```

CLOCK="UTC"

TIMEZONE="Europe/Paris"

CLOCK_OPTS=""

CLOCK_SYSTOHC="no"

SRM="no"

ARC="no"

```

ainsi que /etc/timezone: 

```
Europe/Paris

```

je reboot, normalement je dois passé à l'heure dété automatiquement : et bien non maintenant la date sous xfce avance d'une heure par rapport à l'heure d'été : il est 10h18 au lieu de 9h18 et hwclock dit :

```
mar. 31 mars 2009 08:18:25 CEST  -0.656668 secondes

```

Ben voilà, 

Merci!

----------

## nico_calais

Pour eviter ce genre de soucis, je me connecte à un serveur ntp pour régler l'heure.

----------

## Mickael

Merci, Nico mais je n'envisage pas cette solution n'ayant pas de connexion réseau personnelle.

----------

## geekounet

C'est juste qu'a ta 2e manip t'as toujours pas rétabli l'heure UTC dans ton BIOS apres la rectification (il est toujours en UTC+1 comme avant). Tu fois faire un hwclock --systohc pour la sauver (ou CLOCK_SYSTOHC="yes" pour le faire a chaque shutdown), et le BIOS sera en heure UTC comme il faut, et tout ok sous Linux ensuite avec le /etc/localtime. Et a ce moment là oui c'est bonheur, plus jamais besoin de régler l'heure, c'est auto et transparent.  :Smile: 

----------

## Mickael

Merci Pierre, je modifie et reviens mettre un résolu.

----------

## Mickael

Et merde, 

 *Quote:*   

> Mar 31 09:53:20 as2m-mparis Measured 3333417144 cycles TSC warp between CPUs, turning off TSC clock.
> 
> Mar 31 09:53:20 as2m-mparis Clocksource tsc unstable (delta = 2088315406 ns)
> 
> Mar 31 10:00:30 as2m-mparis rc[4393]: Clock skew detected with `/etc/conf.d/hwclock'
> ...

 

Après deux reboot, tsssss. J'aurais pas mieux fait de faire un hwclock --utc?

Mais l'heure sous xfce est correcte et hwclock retourne :

```
 hwclock 

mar. 31 mars 2009 08:08:59 CEST  -0.855856 secondes
```

EDIT : au cas ou : 

```
date

mar. mars 31 10:11:45 CEST 2009

```

EDIT2 : dans l'ordre : 

```
 hwclock --utc --systohc

rm /etc/adjtime

 /etc/init.d/hwclock restart

* WARNING: you are stopping a boot service

* Stopping syslog-ng...                                                                                                            [ ok ]

* Setting hardware clock using the system clock [UTC]...                                                             [ ok ]

* Setting system clock using the hardware clock [UTC]..                                                              [ ok ]

 hwclock 

mar. 31 mars 2009 08:18:45 CEST  -0.344082 secondes
```

EDIT3 : ha ben non, toujours mon skew au boot...

----------

## Mickael

Bon c'est résolu. 

Explications : lors de la modification du fichier hwclock j'avais 1 heures d'avance sur l'heure d'été. Puisque j'ai configuré le dit fichier en utc + timezone en mode Europe/Paris, lors de mes derniers boots ce fichier était en avance sur la configuration temporelle de mon système. J'ai rebooté par exemple à 10h15 10h45 alors que la date du fichier hwclock était de 10h56 d'où le skew (ou dérive) de l'horloge indiqué par un warning lors de mes reboot. Maintenant que 10h56 appartient au passé tout est rentré dans l'ordre. 

Conclusion : j'aurais du attendre 1h00 avant de rebooté.... une tempête dans un verre d'eau.

MERCI!

----------

## Temet

Juste comme ça, tu peux mettre ta conf complète car je suis pas top configuré sur ce domaine aussi   :Embarassed: 

PS : pour mon laptop j'ai abandonné, il perd totalement l'heure entre chaque boot...

----------

## Mickael

Pas de problème,

Tu commences par regarder si au niveau hardware tu es en mode utc : 

```
# hwclock 

mar. 31 mars 2009 14:04:46 CEST  -0.656621 secondes

```

normalement l'heure sous ton environnement n'est pas bonne. Tu fais un date MMJJHHmmAA (MoisJourHeureMinutesAnnée)

puis tu vas dans le fichier /etc/conf.d/hwclock : 

 *Quote:*   

> 
> 
> CLOCK="UTC"
> 
> TIMEZONE="Europe/Paris"
> ...

 

ensuite tu éxécutes cette commande : 

```
#  hwclock --utc --systohc
```

ensuite tu vires le fichier adjtime au cas où... :

```
rm /etc/adjtime
```

Bien sur le fichier /etc/localtime est une copie du fichier zoneinfo qui va bien :

 *Quote:*   

> 7.a. Fuseau horaire
> 
> Vous devez maintenant choisir votre fuseau horaire afin que votre système sache où il se trouve. Cherchez votre fuseau horaire dans /usr/share/zoneinfo, puis copiez-le sur /etc/localtime. Évitez les zones du type /usr/share/zoneinfo/Etc/GMT*, car leur nom porte à confusion. En effet, GMT-2 signifie en fait GMT+2. 
> 
> Exemple de code 1.1 : Définir l'information relative au fuseau horaire
> ...

 

Ça c'est la doc du handbook, pas de question à se poser. Quand tu rebooteras tu auras peut-être mon soucis de skew. Pour cela avant de rebooter fait attention aux fichiers que tu as modifié avant le changement d'heure effectué avec la commande date. Si l'un des dit fichiers possède une heure de modification en avance sur l'heure système le warning au boot existera tant que cette date est en avance sur l'heure système. Un touch normalement devrait régler l'affaire.

et voilà, maintenant comme le dit geekounet, plus de soucis. J'oubliais, il faut que le service hwclock soit mis au run-level boot, pour plus d'info voir la configuration de rc (qui remplace baselayout).

EDIT : NE PAS OUBLIER LE FICHIER /ETC/TIMEZONE (VOIR LES POSTES PRÉCÉDENTS)

----------

## titoucha

Merci pour ton explication elle m'a été bien utile.

----------

## loopx

Bete question .. avec un pc multiboot (win et lin), est-ce mieux de configurer l'heure UTC ou l'heure LOCAL dans le bios ??? (pour que dans win et lin, ce soit la même heure ...) ?

----------

## Mickael

En local.

----------

## bivittatus

Heu...ce serait peut-être pas mal de mettre tout ça dans les trucs et astuces non?   :Rolling Eyes: 

----------

## kopp

Hum, il semblerait, d'après la fin du manuel de hwclock que ce soit ne soit pas super de changer le system clock, donc utiliser date, pendant que le système tourne... il faudrait en fait modifier hwclock et rebooter.

----------

## flash

Qui nous fait un script pour passer deux ans tranquille ?? :

http://www.industrie.gouv.fr/energie/developp/econo/textes/se_heur.htm

 :Smile: 

----------

## loopx

 *flash wrote:*   

> Qui nous fait un script pour passer deux ans tranquille ?? :
> 
> http://www.industrie.gouv.fr/energie/developp/econo/textes/se_heur.htm
> 
> 

 

Tu te casse trop la tete ^^ :

```
loop ~ # zdump -v /usr/share/zoneinfo/Europe/Brussels 

/usr/share/zoneinfo/Europe/Brussels  Fri Dec 13 20:45:52 1901 UTC = Fri Dec 13 20:45:52 1901 WET isdst=0

/usr/share/zoneinfo/Europe/Brussels  Sat Dec 14 20:45:52 1901 UTC = Sat Dec 14 20:45:52 1901 WET isdst=0

/usr/share/zoneinfo/Europe/Brussels  Sat Nov  7 23:59:59 1914 UTC = Sat Nov  7 23:59:59 1914 WET isdst=0

/usr/share/zoneinfo/Europe/Brussels  Sun Nov  8 00:00:00 1914 UTC = Sun Nov  8 01:00:00 1914 CET isdst=0

/usr/share/zoneinfo/Europe/Brussels  Sun Apr 30 22:59:59 1916 UTC = Sun Apr 30 23:59:59 1916 CET isdst=0

/usr/share/zoneinfo/Europe/Brussels  Sun Apr 30 23:00:00 1916 UTC = Mon May  1 01:00:00 1916 CEST isdst=1

/usr/share/zoneinfo/Europe/Brussels  Sat Sep 30 22:59:59 1916 UTC = Sun Oct  1 00:59:59 1916 CEST isdst=1

/usr/share/zoneinfo/Europe/Brussels  Sat Sep 30 23:00:00 1916 UTC = Sun Oct  1 00:00:00 1916 CET isdst=0 

/usr/share/zoneinfo/Europe/Brussels  Mon Apr 16 00:59:59 1917 UTC = Mon Apr 16 01:59:59 1917 CET isdst=0 

/usr/share/zoneinfo/Europe/Brussels  Mon Apr 16 01:00:00 1917 UTC = Mon Apr 16 03:00:00 1917 CEST isdst=1

/usr/share/zoneinfo/Europe/Brussels  Mon Sep 17 00:59:59 1917 UTC = Mon Sep 17 02:59:59 1917 CEST isdst=1

/usr/share/zoneinfo/Europe/Brussels  Mon Sep 17 01:00:00 1917 UTC = Mon Sep 17 02:00:00 1917 CET isdst=0 

/usr/share/zoneinfo/Europe/Brussels  Mon Apr 15 00:59:59 1918 UTC = Mon Apr 15 01:59:59 1918 CET isdst=0 

/usr/share/zoneinfo/Europe/Brussels  Mon Apr 15 01:00:00 1918 UTC = Mon Apr 15 03:00:00 1918 CEST isdst=1

/usr/share/zoneinfo/Europe/Brussels  Mon Sep 16 00:59:59 1918 UTC = Mon Sep 16 02:59:59 1918 CEST isdst=1

/usr/share/zoneinfo/Europe/Brussels  Mon Sep 16 01:00:00 1918 UTC = Mon Sep 16 02:00:00 1918 CET isdst=0 

/usr/share/zoneinfo/Europe/Brussels  Mon Nov 11 10:59:59 1918 UTC = Mon Nov 11 11:59:59 1918 CET isdst=0
```

et ca va jusque 2030 passé  :Wink: 

----------

