9.5. Configurer l'horloge système

Cette section parle de la manière de configurer le service système systemd-timedated, qui configure l'horloge et le fuseau horaire système.

Si vous ne vous souvenez pas si l'horloge matérielle est configurée en UTC ou non, trouvez le en lançant la commande hwclock --localtime --show. Cela va afficher l'heure actuelle d'après l'horloge matérielle. Si l'heure correspond à celle de votre montre, alors votre horloge système est configurée à l'heure locale. Si la sortie de hwclock n'est pas l'heure locale, il y a des chances qu'elle soit configurée en UTC. Vérifiez cela en ajoutant ou retirant le bon nombre d'heures par rapport à l'heure affichée par hwclock. Par exemple si vous êtes dans le fuseau horaire MST, qui est aussi connu comme GMT -7, ajoutez 7 heures à l'heure locale.

systemd-timedated lit /etc/adjtime, et en fonction de ce qui est écrit dans le fichier, met l'horloge en UTC ou en heure locale.

Créez le fichier /etc/adjtime avec le contenu suivant si votre horloge matérielle est configurée en heure locale :

cat > /etc/adjtime << "EOF"
0.0 0 0.0
0
LOCAL
EOF

Si le fichier /etc/adjtime n'est pas présent au premier démarrage, systemd-timedated va considérer que l'horloge matérielle est configurée en UTC et ajuster le fichier en accord avec cela.

Vous pouvez également utiliser l'utilitaire timedatectl pour signaler à systemd-timedated si votre horloge matérielle est initialisée en UTC ou en temps local :

timedatectl set-local-rtc 1

timedatectl peut également être utilisé pour changer l'heure système et le fuseau horaire.

Pour changer l'heure actuelle du système, tapez :

timedatectl set-time YYYY-MM-DD HH:MM:SS

L'horloge matérielle sera également mise à jour en conséquence.

Pour changer de fuseau horaire, tapez:

timedatectl set-timezone TIMEZONE

Vous pouvez avoir une liste des fuseaux horaires disponibles en tapant :

timedatectl list-timezones
[Note]

Note

Remarquez que la commande timedatectl ne fonctionne pas dans l'environnement chroot. Elle ne peut être utilisée qu'après avoir démarré le système LFS avec systemd.

9.5.1. Synchronisation réseau du temps

Depuis la version 213, systemd livre un démon appelé systemd-timesyncd qui peut être utilisé pour synchroniser l'heure système avec les serveurs NTP distants.

Le démon n'est pas prévu pour remplacer le démon bien établit NTP, mais comme client du protocole SNTP qui peut être utilisé pour les tâches moins avancées et sur les systèmes à ressources limitées.

Depuis la version 216, le démon systemd-timesyncd est activé par défaut. Si vous voulez le désactiver, tapez la commande suivante :

systemctl disable systemd-timesyncd

Le fichier /etc/systemd/timesyncd.conf peut être utilisé pour changer les serveurs NTP avec lesquels systemd-timesyncd se synchronise.

Remarquez que lorsque l'horloge système est initialisée en temps local, systemd-timesyncd ne mettra pas à jour l'horloge système.