Formation PUB110 : Linux, 2018 La ligne de commande Linux

2.4 Ajuster la date et l'heure sous Linux


Le travail sous Linux sera plus facile si la date et l'heure correspondent à votre réalité.

De plus, une mauvaise configuration de la date pourrait mener à toutes sortes de problèmes, par exemple des certificats SSL considérés invalides, ce qui empêche l'installation de certains logiciels ou paquets.

Dans cette fiche :

Informations actuelles

Pour voir les configurations actuelles de l'horloge, vous pouvez travailler avec la commande date.

Commande Linux

date

Vous obtiendrez un résultat du genre :

Résultat à l'écran

vendredi 3 décembre 2021, 08:53:09 (UTC-0500)

Pour obtenir plus d'informations, il est possible de travailler avec timedatectl.

Commande Linux

timedatectl

Vous obtiendrez un résultat du genre :

Résultat à l'écran

      Local time: ven 2021-12-03 08:53:23 EST

  Universal time: ven 2021-12-03 13:53:23 UTC

        RTC time: n/a

       Time zone: America/Toronto (EST, -0500)

 Network time on: yes

NTP synchronized: no

 RTC in local TZ: no

Ajuster la date - réponse courte

La date et l'heure du système peuvent être ajustés comme suit :

Terminal

sudo timedatectl set-time 'AAAA-MM-JJ HH:mm:ss'

ou encore :

Terminal

sudo date -s "AAAA-MM-JJ HH:mm:ss"

Ajuster la date - réponse plus élaborée

Les commandes précédentes ne fonctionnent pas ou vous désirez modifier également le fuseau horaire ou simplement vous désirez en savoir plus?

Cette section est pour vous!

Ajuster le fuseau horaire

Pour configurer le fuseau horaire, vous devez d'abord connaître les fuseaux existants.

Commande Linux

timedatectl list-timezones

Vous devez également connaître le fuseau actuellement configuré.

Ceci peut être réalisé à l'aide de timedatectl comme démontré plus haut ou encore à l'aide d'une de ces techniques qui donnent des informations complémentaires.

Commande Linux

cat /etc/timezone

Résultat à l'écran

America/Toronto

ou, si la variable d'environnement TZ existe :

Terminal

echo $TZ

Résultat à l'écran

America/Toronto

ou

Commande Linux

date +"%Z %z"

Résultat à l'écran

EST -0500

timedatectl

Il est possible de modifier le fuseau horaire directement à l'aide de la commande timedatectl :

Commande Linux

sudo timedatectl set-timezone America/Toronto

tzdata

Vous pouvez également configurer le fuseau horaire à l'aide de tzdata.

Le programme vous demandera votre emplacement et votre fuseau horaire puis ajustera automatiquement l'horloge pour vous.

Commande Linux

sudo dpkg-reconfigure tzdata

lien symbolique

Dans le système de fichiers, le fuseau horaire est configuré à l'aide d'un lien symbolique qui pointe vers le fichier du fuseau horaire souhaité.

Pour connaître la configuration actuelle :

Terminal

ls -l /etc/localtime

Résultat à l'écran

lrwxrwxrwx 1 root root 27 déc 3 09:07 /etc/localtime -> /usr/share/zoneinfo/Etc/UTC

Pour modifier ce lien :

Commande Linux

sudo ln -sf /usr/share/zoneinfo/America/Toronto /etc/localtime

Maintenant, vous obtiendrez ceci :

Résultat à l'écran

pi@raspberrypi:/usr/share/zoneinfo $ ls -l /etc/localtime
lrwxrwxrwx 1 root root 35 déc 3 09:13 /etc/localtime -> /usr/share/zoneinfo/America/Toronto

export

Le fuseau horaire peut également être obtenu en questionnant la variable d'environnement TZ, tel que démontré plus tôt.

Il est possible de modifier cette variable comme ceci. Notez que cette modification ne sera pas permanente sauf si vous entrez cette commande dans le fichier ~/.bashrc ou, plus globalement, dans le fichier /etc/environment.

Attention : cette technique a une portée plus réduite que les précédentes puisqu'elle n'affectera pas le lien symbolique. La commande date donnera le bon fuseau horaire mais avec timedatectl, le fuseau horaire demeurera inchangé.

Commande Linux

export TZ=America/Toronto

Ajuster la date et l'heure

Si, une fois le fuseau horaire ajusté, la date et/ou l'heure ne correspondent pas à la réalité, vous pouvez ajuster votre système à l'aide d'une de ces techniques.

date

Pour ajuster la date et l'heure avec la commande date :

Terminal

sudo date -s "AAAA-MM-JJ HH:mm:ss"

timedatectl

 Le même résultat peut être obtenu à l'aide de timedatectl :

Terminal

sudo timedatectl set-time 'AAAA-MM-JJ HH:mm:ss'

Notez que si vous obtenez le message « Failed to set time: Automatic time synchronization is enabled », vous devez désactiver le service NTP (Network Time Protocol) comme suit :

Terminal

sudo timedatectl set-ntp 0

Vous pourrez ensuite relancer la commande pour ajuster la date et l'heure.

Activer la synchronisation de l'horloge

Si, lorsque vous lancez la commande timedatectl, vous obtenez une ligne qui dit System clock synchronized: No, vous pouvez activer la synchronisation de l'horloge avec ces commandes :

Terminal

sudo apt install systemd-timesyncd
sudo timedatectl set-ntp true

Si vous ne parvenez pas à activer la synchronisation de l'horloge, vous pouvez rechercher une solution ici : https://askubuntu.com/questions/1046214/enable-system-clock-synchronization.

▼Publicité

Veuillez noter que le contenu de cette fiche vous est partagé à titre gracieux, au meilleur de mes connaissances et sans aucune garantie.
Merci de partager !
Soumettre