Auteur Sujet: Linux heure GMT vs heure locale  (Lu 5130 fois)

0 Membres et 1 Invité sur ce sujet

vivien

  • Administrateur
  • *
  • Messages: 47 088
    • Twitter LaFibre.info
Linux heure GMT vs heure locale
« le: 13 février 2019 à 21:41:06 »
J'ai mis un dual boot sur un PC Windows 7 où je n'ai pas les droits admin Windows.

Il faut donc régler Ubuntu pour qu'il comprenne que l'heure conservée par le système (RTC) est l'heure locale et non l'heure UTC pour Universal Time Coordinated.

Pour un Linux avec Systemd (j'utilise Ubuntu 18.10), il faut utiliser : timedatectl


pour que l'heure système (RTC) = heure locale :
sudo timedatectl set-local-rtc 1 --adjust-system-clock


pour revenir au fonctionnement par défaut, heure système = heure universelle (UTC) :
sudo timedatectl set-local-rtc 0 --adjust-system-clock


Affichage des différentes heures :

# timedatectl
               Local time: mer. 2019-02-13 21:30:04 CET
           Universal time: mer. 2019-02-13 20:30:04 UTC
                 RTC time: mer. 2019-02-13 20:30:04
                Time zone: Europe/Paris (CET, +0100)
System clock synchronized: no
              NTP service: active
          RTC in local TZ: no

Je demande que l'heure RTC = heure locale, mais cela n'a aucun effet, même après un reboot :
# sudo timedatectl set-local-rtc 1 --adjust-system-clock
# timedatectl
               Local time: mer. 2019-02-13 21:30:22 CET
           Universal time: mer. 2019-02-13 20:30:22 UTC
                 RTC time: mer. 2019-02-13 20:30:22
                Time zone: Europe/Paris (CET, +0100)
System clock synchronized: no
              NTP service: active
          RTC in local TZ: yes

Warning: The system is configured to read the RTC time in the local time zone.
         This mode cannot be fully supported. It will create various problems
         with time zone changes and daylight saving time adjustments. The RTC
         time is never updated, it relies on external facilities to maintain it.
         If at all possible, use RTC in UTC by calling
         'timedatectl set-local-rtc 0'.

Une idée sur l'endroit où je me suis planté ?

kgersen

  • Modérateur
  • Abonné Bbox fibre
  • *
  • Messages: 9 078
  • Paris (75)
Linux heure GMT vs heure locale
« Réponse #1 le: 14 février 2019 à 01:30:11 »
t'as reboot ?

renaud07

  • Abonné Orange adsl
  • *
  • Messages: 3 345
Linux heure GMT vs heure locale
« Réponse #2 le: 14 février 2019 à 03:16:42 »
Ah tiens, voilà pourquoi mon horloge Windows est toujours décalée... Je me doutais que ça venait du BIOS mais je ne pensais pas que l'OS pouvait modifier l'heure (je pensais que la CM était autonome sur ce point). J'aurais appris un truc.

Donc j'ai fait la procédure et j’obtiens le même résultat que Vivien... visiblement y'a un bug quelque part.

cali

  • Officiel Ukrainian Resilient Data Network
  • Fédération FDN
  • *
  • Messages: 2 401
    • Ukrainian Resilient Data Network
Linux heure GMT vs heure locale
« Réponse #3 le: 14 février 2019 à 06:56:09 »
Peut-être avec

hwclock --systohc
RTC in local TZ: yes
Donc c'est bon, c'est ton UEFI qui doit pas être sur le bon fuseau horaire.
« Modifié: 14 février 2019 à 07:25:56 par cali »

vivien

  • Administrateur
  • *
  • Messages: 47 088
    • Twitter LaFibre.info
Linux heure GMT vs heure locale
« Réponse #4 le: 14 février 2019 à 08:41:48 »
Pas de fuseau horaire dans mon UEFI de marque HP.

J'avais également réalisé plusieurs reboot et plusieurs passage Windows => Linux => Windows et Windows avait systématiquement un décalage horaire.

La solution :

En mode "set-local-rtc 1" Ubuntu ne va plus écrire l'heure dans l’horloge du système.
C'est pour cette raison que l'heure restait en GMT, il fallait manuellement la modifier en passant par l'UEFI (car sous Windows il faut des droits Admin pour modifier l'heure)

Ensuite au démarrage il y a deux cas :

- Ubuntu a accès à Internet (mon cas) : L'heure du système est purement ignorée et c'est sur Internet que le système récupère l'heure.
Contrairement à ce qu'il se passait dans le passé, cette heure récupérée sur Internet ne met plus à jour l'horloge système.

On voit ici une différence de 2 minutes entre l'heure locale, récupérée par Internet et l'heure RTC, que j'ai réglé manuellement via l'UEFI :

# timedatectl
               Local time: jeu. 2019-02-14 08:33:01 CET
           Universal time: jeu. 2019-02-14 07:33:01 UTC
                 RTC time: jeu. 2019-02-14 08:31:44
                Time zone: Europe/Paris (CET, +0100)
System clock synchronized: no
              NTP service: active
          RTC in local TZ: yes

Warning: The system is configured to read the RTC time in the local time zone.
         This mode cannot be fully supported. It will create various problems
         with time zone changes and daylight saving time adjustments. The RTC
         time is never updated, it relies on external facilities to maintain it.
         If at all possible, use RTC in UTC by calling
         'timedatectl set-local-rtc 0'.

- Si Ubuntu n'a pas accès à Internet, il récupère l'heure du système comme heure locale.
Pour vérifier que les paramètres sont bien les bon, il faut donc faire un test sans accès Internet, Ubuntu récupérant l'heure sut Internet à chaque reboot contrairement à Windows.

renaud07

  • Abonné Orange adsl
  • *
  • Messages: 3 345
Linux heure GMT vs heure locale
« Réponse #5 le: 14 février 2019 à 13:20:50 »
La solution :

En mode "set-local-rtc 1" Ubuntu ne va plus écrire l'heure dans l’horloge du système.
C'est pour cette raison que l'heure restait en GMT, il fallait manuellement la modifier en passant par l'UEFI (car sous Windows il faut des droits Admin pour modifier l'heure)

C'est bon pour moi aussi. J'ai modifié l'heure dans l'UEFI.

Et pour windows, si on veut qu'il synchronise l'heure à chaque démarrage, il faut aller modifier le paramètre dans le planificateur de tâches. Par défaut il le fait une fois par semaine... bof bof...

La tache se trouve dans Microsoft  > Windows > Time synchronization

vivien

  • Administrateur
  • *
  • Messages: 47 088
    • Twitter LaFibre.info
Linux heure GMT vs heure locale
« Réponse #6 le: 14 février 2019 à 13:58:46 »
La bonne méthode, si tu as un accès administrateur à Windows (ce n'est pas mon cas ici) c'est que Windows utilise le même fonctionnement que Linux : l'heure du système est l'heure GMT.

Utiliser l'heure local a plusieurs défaut surtout quand tu n'a pas de mise à l'heure par Internet et que deux systèmes veulent faire le changement d'heure, car ils ne savent pas que l'autre OS a déjà modifié l'heure locale.

Pour passer Windows 10 en mode où il faut ouvrir une ligne de commande cmd et taper la ligne suivante :

Windows 10 64bits :

Reg add HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v RealTimeIsUniversal /t REG_QWORD /d 1
Windows 10 32bits :
Reg add HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v RealTimeIsUniversal /t REG_DWORD /d 1

renaud07

  • Abonné Orange adsl
  • *
  • Messages: 3 345
Linux heure GMT vs heure locale
« Réponse #7 le: 14 février 2019 à 17:24:58 »
Oui, j'avais vu pour mettre en UTC windows, donc je vais mettre celui-ci en UTC si c'est cette méthode qui est préférable.