System time (Français)
La date et l'heure sont déterminées en fonction de l'horloge matérielle, de l'échelle de temps (UTC ou locale), du fuseau horaire et enfin de l'heure d'été / hiver.
Statut
Vous pouvez avoir une vue d'ensemble de la configuration à l'aide de la commande timedatectl
documentée par timedatectl(1) :
timedatectl
Local time: Thu, 2012-11-15 08:21:39 CET Universal time: Thu, 2012-11-15 07:21:39 UTC RTC time: Thu, 2012-11-15 07:21:39 Timezone: Europe/Paris NTP enabled: no NTP synchronized: no RTC in local TZ: no
Horloge matérielle / système
Il existe deux horloges distinctes:
- l'horloge matérielle (RTC), celle du bios.
- l'horloge système.
UTC / Locale
Par défaut, sous Arch Linux, l'horloge matérielle est considérée comme étant réglée sur UTC, c'est le réglage recommandé. Si vous utilisez un autre système d'exploitation ou distribution, assurez-vous d'avoir la même configuration.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation\RealTimeIsUniversalavec comme valeur 1. Cela dit, Windows XP ou Vista SP1 aurait un bug qui réinitialiserait cette valeur après mise en veille ou hibernation.
Vous pouvez forcer la gestion de l'horloge matérielle en heure locale avec :
timedatectl set-local-rtc 1 # 0 pour la remettre sur UTC
timedatectl --adjust-system-clock set-local-rtc 1
Régler
Pour régler la date et l'heure :
timedatectl set-time '2012-11-13 20:29:40'
Dérive
L'horloge matérielle est plus ou moins précise, ce qui peut engendrer une dérive par rapport au temps exact. Pour contrôler cette dérive, vous pouvez utiliser la commande hwclock
en lançant de manière régulière (dans une tâche cron ou à l'extinction par exemple) :
hwclock --adjust
Cette commande a pour but de calculer le décalage subit par l'horloge matérielle par rapport à l'horloge système afin de minimiser ce dernier.
Vous pouvez aussi utiliser des outils tel que ntp ou systemd-timesyncd pour synchroniser votre horloge avec des serveurs de temps.
Fuseau horaire
GNU/Linux et donc Arch Linux utilisent le fichier /etc/localtime
pour connaître le fuseau horaire en fonction.
Vous pouvez lister les différents fuseaux disponibles (/usr/share/zoneinfo/*
) avec la commande :
timedatectl list-timezones
Pour configurer votre fuseau horaire, il vous suffit que /etc/localtime
pointe vers le bon fichier :
timedatectl set-timezone Europe/Paris
Synchronisation du temps
Le Network Time Protocol (NTP) est un protocole permettant de synchroniser les horloges des systèmes informatiques sur des réseaux de données à commutation de paquets et à latence variable. Les implémentations suivantes de NTP sont disponibles pour Arch Linux :
- Chrony — Un client et un serveur itinérants conçus spécifiquement pour les systèmes qui ne sont pas en ligne en permanence.
- ConnMan — Un gestionnaire de réseau léger prenant en charge NTP.
- Network Time Protocol daemon — L'implémentation de référence du protocole, dont l'utilisation est particulièrement recommandée sur les serveurs de temps. Il peut également ajuster la fréquence d'interruption et le nombre de ticks par seconde pour diminuer la dérive de l'horloge système, et provoquera la re-synchronisation de l'horloge matérielle toutes les 11 minutes.
- ntpclient — Un client NTP simple en ligne de commande.
- NTPsec — Un dérivé de NTPd, axé sur la sécurité.
- https://ntpsec.org/ || ntpsecAUR
- OpenNTPD — Partie du projet OpenBSD et implémente à la fois un client et un serveur.
- sntp — Un client SNTP fourni avec NTPd. Il remplace ntpdate et est recommandé dans les environnements sans serveur.
- systemd-timesyncd — Un simple daemon SNTP qui n'implémente qu'un côté client, se concentrant uniquement sur l'interrogation de l'heure depuis un serveur distant. Il devrait être plus qu'approprié pour la plupart des installations.