9
juin
2020
Fuseau horaire Linux, synchronisation de l'horloge de l'ordinateur via le protocole NTP
10:18

Fuseau horaire Linux, synchronisation de l'horloge de l'ordinateur via le protocole NTP

9 juin 2020 10:18

Le fuseau horaire du système est sélectionné lors de l'installation de la distribution. À l'avenir, vous pourrez configurer la synchronisation de l'heure (protocole NTP) pour une heure plus précise et organiser l'affichage des informations sur d'autres fuseaux horaires. Par exemple, quand c’est le matin à Moscou, c’est la nuit profonde dans le centre des États-Unis. Cet article explique comment améliorer la synchronisation de l'heure, définir le fuseau horaire et afficher l'heure des autres fuseaux horaires à l'écran.

Présentation

Le service de temps sous Linux peut être exploité de deux manières, qui ne s'excluent pas mutuellement :

  • client (synchronise l'heure de ce PC avec d'autres serveurs d'heure exacte)
  • serveur (pour la distribution précis temps vers d’autres ordinateurs du réseau).

J'envisage un service client ponctuel.

Objectifs :
a) obtenir une précision temporelle élevée (moins de 0,5 seconde) sur l'ordinateur local
b) mettre en œuvre l'affichage de l'heure dans différents fuseaux horaires.

Plan d'action :

  1. Mise en place
  2. Lancement
  3. Vérifier

Activation du client NTP

Pour synchroniser l'heure sur le réseau, vous devez installer un client ntp et l'utilitaire ntpdate :

su -
apt-get update
apt install ntp

Spécification du fuseau horaire

Tout d'abord, vous devez vérifier quel fuseau horaire est défini dans le système.

ls -l /etc/localtime

Pour Moscou, Saint-Pétersbourg et la partie européenne de la Fédération de Russie, un lien s'affichera :

/etc/localtime -> /usr/share/zoneinfo/Europe/Moscow

c'est vrai. Mais vous pouvez reconfigurer votre ordinateur sur un fuseau horaire différent (si le PC a déménagé dans une autre région).

Sous Linux Mint, le programme de changement de fuseau horaire s'appelle time-admin (qui doit être exécuté avec les droits de superutilisateur su). Ce programme est également disponible dans le menu "Démarrer" - "Options" - "Date et Heure".
Programme d'administration du temps

Vous pouvez également modifier le fuseau horaire à l'aide de la ligne de commande. Voyons d’abord quels fuseaux horaires existent, par exemple en Europe :

ls /usr/share/zoneinfo/Europe/

Amsterdam Busingen Kiev Monaco Sarajevo Vaduz
Andorre Chisinau Kirov Moscou Saratov Vatican
Astrakhan Copenhague Kiev Nicosie Simferopol Vienne
Athènes Dublin Lisbonne Oslo Skopje Vilnius
Belfast Gibraltar Ljubljana Paris Sofia Volgograd
Belgrade Guernesey Londres Podgorica Stockholm Varsovie
Berlin Helsinki Luxembourg Prague Tallinn Zagreb
_Bratislava Île_deMan Madrid Riga Tirane Zaporozhye
Bruxelles Istanbul Malte Rome Tiraspol Zurich
Bucarest Jersey Mariehamn Samara Ulyanovsk
Budapest Kaliningrad Minsk Saint-Marin Oujgorod
maintenant, nous établissons un lien symbolique doux, par exemple, vers Minsk :

Nous regardons le fuseau horaire actuel

ls -l /etc/localtime

Le texte "/etc/localtime -> /usr/share/zoneinfo/Europe/Moscou"

Nous changeons le fuseau horaire, par exemple, en Minsk (par exemple uniquement) :

sudo ln -sf /usr/share/zoneinfo/Europe/Minsk /etc/localtime

Configuration de la synchronisation de l'heure

Pour que le client ntp fonctionne, les conditions suivantes sont requises : la présence du fichier de configuration /etc/ntp.conf

autorisation de lancer le client ntp et de lancer directement le client.

  1. Fichier de configuration /etc/ntp.conf

    driftfile /var/lib/ntp/ntp.drift

    leapfile /usr/share/zoneinfo/leap-seconds.list

    statistics loopstats peerstats clockstats

    filegen loopstats file loopstats type day enable

    filegen peerstats file peerstats type day enable

    filegen clockstats file clockstats type day enable

    pool 0.ubuntu.pool.ntp.org iburst

    pool 1.ubuntu.pool.ntp.org iburst

    pool 2.ubuntu.pool.ntp.org iburst

    pool 3.ubuntu.pool.ntp.org iburst

    pool ntp.ubuntu.com

    restrict -4 default kod notrap nomodify nopeer noquery limited

    restrict -6 default kod notrap nomodify nopeer noquery limited

    restrict 127.0.0.1

    restrict ::1

    restrict source notrap nomodify noquery

  2. Le démarrage du service client NTP est autorisé par défaut.

Vous pouvez, mais il n'est pas nécessaire de donner des commandes

 systemctl enable ntp
 systemctl start ntp
 systemctl status ntp

Pour que le service relise la configuration mise à jour (si vous avez modifié le fichier /etc/ntp.conf), vous devez exécuter

sudo systemctl restart ntp

Surveillance du client de synchronisation horaire

ntpq -pw

Une liste des serveurs NTP avec lesquels le client effectue la synchronisation de l'heure sera affichée. (Vous devez attendre la fin de la sortie du programme).

Comment connaître l'écart de temps entre l'ordinateur local et le serveur de temps distant

Utilisation de l'utilitaire ntpq.

Ou horloge différente

su -
apt-get update
apt install iputils-clockdiff

Connaître l'écart horaire par rapport à un autre ordinateur - serveur NTP :

sudo clockdiff 130.149.17.21

ou

sudo clockdiff 1.ru.pool.ntp.org

On peut voir que l'écart, c'est-à-dire l'imprécision du temps PC est de 34 millisecondes :

..................................................

host=130.149.17.21 rtt=34(0)ms/34ms delta=-1ms/-1ms Tue Jun 9 11:38:44 2020

En comparant avec un autre serveur, la situation est la même, l'écart est de 35 ms :

clockdiff 91.206.16.3

..................................................

host=91.206.16.3 rtt=35(0)ms/35ms delta=0ms/0ms Tue Jun 9 11:44:57 2020

Il faut garder à l'esprit que clockdiff ne prend pas en compte les délais du réseau (ping), il permet uniquement de comparer l'heure avec un autre ordinateur sans prendre en compte le délai des paquets sur le réseau.

La commande affiche une valeur d'écart plus précise

ntpq -p

ou

ntpq -pw

où la différence (offset +- gigue) est visible en quelques millisecondes seulement.

Une autre façon de connaître l'écart temporel

https://time.is

Affichage de l'heure mondiale à l'écran

Programme d'heure mondiale (heure mondiale) pour l'environnement de bureau Xfce vous permet de créer une horloge avec l'heure de plusieurs fuseaux horaires.
Installation du programme GlobalTime :

sudo apt install xfce4-datetime-plugin

Sources :



Publications connexes