Ceci est une ancienne révision du document !
systemd intègre un service de synchronisation du temps local via un client sntp (unité timesyncd). Le client possède peu d'options de paramétrages, il est simple à mettre en œuvre. Il fonctionnera très bien sur un hôte relié en permanence au réseau (comme un serveur ou une station de travail régulièrement connecté). Cependant sur des hôtes connectés occasionnellement, d'autres programmes comme chrony pourraient être mieux adaptés.
Pour afficher l'état:
timedatectl status
Pour configurer le serveur ou du pool de référence, modifier le fichier de configuration /etc/systemd/timesyncd.conf. Dans la section [TIME] définir la variable NTP avec l'IP ou l'URL du serveur:
[Time] NTP=ntp.localdomain
Redémarrer le service pour prendre en compte les modifications:
systemctl restart systemd-timesyncd.service
Une fois l' unité activée, le temps local va se synchroniser graduellement avec le serveur de référence. Si toutefois la dérive est trop importante il faudra:
Arrêter le service:
timedatectl set-ntp false
Définir le temps local manuellement:
timedatectl set-time "2020-05-27 18:13:00"
Redémarrer le service
timedatectl set-ntp true
Vérifier l'état de la synchronisation via journalctl et timedatectl
journalctl -u systemd-timesyncd.service
Afficher le status:
timedatectl Local time: mer. 2020-05-27 18:14:04 CEST Universal time: mer. 2020-05-27 16:14:04 UTC RTC time: mer. 2020-05-27 16:14:04 Time zone: Europe/Paris (CEST, +0200) System clock synchronized: yes systemd-timesyncd.service active: yes RTC in local TZ: no
Le retour indique sur les dernières lignes que la Time Zone est bien configurée, le temps local et correct, le système est synchrone avec le serveur de temps et le service est bien actif.
Lister les time zones disponibles:
timedatectl list-timezones
A partir de la liste, définir une time zone pour la machine:
timedatectl set-timezone Europe/Paris
La RTC pour Real Time Clock est l'horloge matérielle, le composant spécialisé qui fournit le temps au système local. Les différents systèmes d'exploitation ne la configurent pas de la même manière:
La commande timedatectl status produit deux lignes indiquant comment est configurée la RTC:
Local time: lun. 2021-06-28 11:15:09 CEST Universal time: lun. 2021-06-28 09:15:09 UTC RTC time: lun. 2021-06-28 09:15:09 Time zone: Europe/Paris (CEST, +0200) System clock synchronized: yes NTP service: active RTC in local TZ: no
La dernière ligne RTC in local TZ: no
est la valeur normale, elle indique bien que la RTC n'est pas configurée sur le temps local (fuseau Europe/Paris). Dans cet exemple la RTC vaut 09:15:09
(3ième ligne) ce qui correspond au temps UTC ou Zulu.