Comment utiliser la commande timedatectl sous Linux
Agence web » Actualités du digital » Comment utiliser la commande timedatectl sous Linux

Comment utiliser la commande timedatectl sous Linux

Le Linux timedatectl La commande vous permet de définir l’heure, la date et le fuseau horaire de votre horloge système et de votre horloge en temps réel. Prenez un moment et nous vous montrerons comment tout cela fonctionne.

Tout est relatif

Le traitement du temps par votre ordinateur est l’une de ces choses que vous pourriez espérer être assez simple. Du moins, jusqu’à ce que vous commenciez à vous y pencher.

L’horloge système Linux compte le nombre de secondes depuis l’époque Unix. C’était à 00:00:00 le 1er janvier 1970, UTC. UTC signifie temps universel coordonné, mais on parle généralement de temps universel coordonné ou simplement de temps universel. C’est la norme de temps par laquelle le monde gère et régule le temps. Différents fuseaux horaires appliquent un décalage vers UTC pour obtenir leur heure locale. Certains fuseaux horaires sont en avance sur UTC et d’autres en retard.

L’horloge système des ordinateurs Linux est basée sur un logiciel. Évidemment, il ne peut pas fonctionner lorsque l’ordinateur est éteint. Une autre horloge, une horloge matérielle en temps réel alimentée par batterie, est capable de fonctionner lorsque l’ordinateur est éteint. Son but est d’indiquer à l’horloge système l’heure qu’il est à chaque démarrage de Linux. Sauf si l’accès à un serveur NTP (Network Time Protocol) est possible.

Les serveurs NTP sont des serveurs qui fournissent des informations temporelles précises aux ordinateurs qui en font la demande. Si vous démarrez votre ordinateur ou votre ordinateur portable et qu’il n’y a pas d’accès à Internet ou qu’il n’a pas été configuré pour utiliser des serveurs NTP, l’horloge en temps réel est utilisée pour amorcer l’horloge système au lieu d’un serveur NTP.

L’horloge système est toujours en UTC. Toute application qui a besoin d’acquérir l’heure locale doit :

  • Accéder à l’horloge système et obtenir l’UTC
  • Sachez dans quel fuseau horaire il se trouve et appliquez le bon décalage
  • Prendre en compte si l’heure d’été est en vigueur

La conversion de l’UTC à l’heure locale est effectuée par l’application, et non par l’horloge système. Ou, plus précisément, la conversion est effectuée par les bibliothèques d’heure et de date auxquelles l’application est liée. C’est pourquoi il est vital que votre ordinateur sache de quel fuseau horaire il s’agit, quelle heure UTC est, combien de secondes se sont écoulées depuis l’époque Unix et si l’heure d’été est en vigueur.

Sur les distributions Linux basées sur systemd, nous utilisons le timedatectl commande pour voir ou modifier ces paramètres et valeurs.

Premiers pas avec timedatectl

Pour voir les données et l’heure actuelles et d’autres valeurs, utilisez le timedatectl commande avec le status opérateur.

timedatectl status

La sortie de la commande timedatectl à l'aide de l'opérateur d'état

En fait, vous pouvez supprimer le statut et vous obtiendrez toujours la même sortie.

timedatectl

La sortie de la commande timedatectl sans opérateur

Les deux ensembles de sortie montrent :

  • Heure locale: L’heure à laquelle l’ordinateur pense qu’il est, selon son fuseau horaire.
  • Temps universel: L’heure UTC.
  • Heure RTC: L’heure utilisée par l’horloge en temps réel. Habituellement, il s’agit de l’UTC.
  • Fuseau horaire: Informations concernant le fuseau horaire configuré.
  • Horloge système synchronisée: Si l’horloge système est synchronisée avec un serveur NTP.
  • Service NTP: si le service NTP de l’ordinateur est actif.
  • RTC dans la zone géographique locale: indique si l’horloge en temps réel utilise l’heure locale au lieu de l’UTC.

Vous pouvez voir combien de fuseaux horaires le timedatectl commande prend en charge en tapant :

timedatectl list-timezones | wc -l

Compter les fuseaux horaires timedatectl

C’est bien plus qu’il n’y a de fuseaux horaires dans le monde. Si nous dirigeons la sortie vers grep et filtrez les entrées pour « Amérique » et dirigez-les vers lessnous pouvons faire défiler une liste plus gérable.

timedatectl list-timezones | grep "America/" | less

Filtrage des fuseaux horaires américains avec grep

En examinant cette liste, vous verrez que « l’Amérique » est considérée comme ayant son sens le plus large possible. La deuxième chose que vous remarquerez est que la plupart des entrées ne sont pas des fuseaux horaires réels.

Liste des fuseaux horaires "américains" en moins

Réglage du fuseau horaire

Si vous parcourez la liste non filtrée des fuseaux horaires pris en charge par timedatectl vous verrez des lieux ainsi que des fuseaux horaires. Pour définir un fuseau horaire, vous pouvez le spécifier par son nom comme EST ou GMT, ou vous pouvez choisir un emplacement dans le même fuseau horaire que vous, comme Londres ou New York.

La réinitialisation de votre fuseau horaire n’est pas quelque chose que vous ferez souvent, mais peut-être avez-vous déménagé ou travaillez-vous pendant un certain temps et souhaitez localiser votre ordinateur portable. Si vous devez réinitialiser votre fuseau horaire, choisissez un emplacement dans le fuseau horaire que vous souhaitez utiliser.

Nous allons régler cet ordinateur sur l’heure des Rocheuses, qui correspond au même fuseau horaire qu’Edmonton. Nous verrons ensuite comment les paramètres ont changé.

timedatectl set-timezone "America/Edmonton"
timedatectl

Nouveaux paramètres de fuseau horaire et d'heure

Notre fuseau horaire a été modifié, notre heure locale a changé et notre décalage par rapport à UTC a augmenté.

EN RELATION: Comment utiliser les tubes sous Linux

Réglage manuel de l’heure et de la date

Bien qu’il soit possible de régler manuellement l’heure et la date, vous n’en aurez généralement pas besoin. L’utilisation de la synchronisation de l’heure et de NTP est le meilleur moyen de conserver l’heure et la date exactes de votre ordinateur. Si vous essayez de modifier la date ou l’heure de vos ordinateurs, vous obtiendrez probablement une erreur vous indiquant que la synchronisation de l’heure est en cours d’utilisation.

timedatectl set-time 10:30:00

Message d'erreur car la synchronisation de l'heure est en vigueur

Utilisez cette commande pour désactiver le service de synchronisation de l’heure :

sudo systemctl stop systemd-timesyncd.service

Vous pouvez régler l’heure, la date ou les deux à l’aide du timedatectl opérateur à temps fixe. les dates sont dans l’ordre année-mois-jour AAAA-MM-JJ, et l’heure est dans l’ordre heures-minutes-secondes HH:MM:SS. Nous allons régler l’heure et la date avec cette commande :

timedatectl set-time "2022-01-30 10:30:00"

Nous vérifierons ensuite que les modifications ont eu lieu, en utilisant timedatectl.

timedatectl

Réglage manuel de l'heure et de la date

La date et l’heure ont changé. Notez également que l’ordinateur utilise une fausse heure UTC. Nous sommes également informés que l’horloge système n’est pas synchronisée et que le service NTP est inactif.

Si vous avez accès à Internet, dès que vous restaurez le service de synchronisation de l’heure, l’heure est récupérée et tous les détails sont correctement réinitialisés.

sudo systemctl start systemd-timesyncd.service
timedatectl

Redémarrage du service NTP et restauration des valeurs d'heure correctes

RTC : UTC ou LTZ ?

Il est possible que votre horloge en temps réel soit réglée sur l’heure de votre fuseau horaire local au lieu de l’UTC, ce qui est possible, mais déconseillé. Si vous effectuez la modification, vous verrez un avertissement sur les effets désastreux que cela pourrait avoir sur votre système à l’avenir.

La raison de vous montrer cette méthode est que vous pourriez rencontrer une machine où ils ont des problèmes étranges avec leurs paramètres d’heure. Voici comment remettre l’horloge en temps réel sur UTC.

Tout d’abord, nous devrons le régler sur le fuseau horaire local.

timedatectl set-local-rtc 1

Ensuite, nous demanderons timedatectl pour son statut.

timedatectl

Le réglage de l'horloge en temps réel sur le fuseau horaire local et l'avertissement qui l'accompagne

Je pense qu’ils ont clairement exprimé leurs sentiments.

Pour restaurer l’horloge en temps réel sur UTC, utilisez cette commande :

timedatectl set-local-rtc 0

Réglez-le et oubliez-le

Sauf si vous avez fait une erreur lors de l’installation de votre distribution Linux, ou si vous déménagez, il n’y a généralement aucune raison de modifier les paramètres de votre système et les horloges en temps réel.

Réglez l’horloge système sur votre fuseau horaire, l’horloge en temps réel sur UTC et assurez-vous que votre système interroge un serveur de protocole horaire réseau. C’est l’état par défaut après la plupart des installations.

S’ils sont tous définis, les systèmes horaires de votre ordinateur s’occuperont d’eux-mêmes.

EN RELATION: Comment synchroniser l’heure de votre serveur Linux avec les serveurs de temps réseau (NTP)

★★★★★