LINUX:Date et heure

De WIKI sur Linux (ADB)
Aller à la navigation Aller à la recherche

retour au menu de Linux


But

Le réglage de la date et de l'heure sont importantes et pour certaines applications, il est impérative qu'elles soient synchrones entre les différentes machines. Nous allons passer en revue quelques points importants à configurer.


Service Chrony

Historique

Anciennement on réglait la date et l'heure dans le BIOS et c'est elle qui faisait foi. Cette configuration existe toujours et permet un mise à l'heure grossière. Actuellement on utilise l'heure donnée par un ensemble de serveurs de temps mondiaux qui servent de référence. Par ce moyen, on est sûr que toutes nos machines ont la même heure et la bonne.

Anciennement on utilisait le service NTP qui travaillait comme serveur et client mais sous Fedora, le service Chrony est préféré. Il est installé d'office.


Configuration

Le fichier de configuration est "/etc/chrony.conf" et si nécessaire "/etc/chrony.key".

Normalement, il n'y a rien à faire. Il faut par contre vérifier de temps à autre s'il y a une nouvelle version de ce fichier ajoutée lors des mises à jour. Si le fichier "/etc/chrony.conf.rpmnew" est présent, après vérification, remplacez le fichier "/etc/chrony.conf" par celui-ci.

Assurez-vous que l'option "pool" en début de fichier est bien configurée surtout si vous utilisez un adressage IP fixe. Dans mon cas, elle se présente comme suit:


pool 2.fedora.pool.ntp.org iburst

Elle définit un ensemble de serveurs de temps de référence.


Activation et lancement

Pour activer et lancer ce service, on exécute les commandes suivants classiques des services:

systemctl enable chronyd.service
systemctl start chronyd.service

et pour le relancer:

systemctl restart chronyd.service

Il est normalement activé dès l'installation.


Firewall

Cette récupération de l'heure nécessite un accès en sortie vers Internet. Il faut que cet accès soit ouvert dans notre Firewall:

-A OUTPUT -p tcp -m tcp --dport 123 -j ACCEPT
-A OUTPUT -p udp -m udp --dport 123 -j ACCEPT


Vérification

La commande suivante permet de vérifier le bon fonctionnement:

chronyc sources -a -v

qui donne par exemple:


  .-- Source mode  '^' = server, '=' = peer, '#' = local clock.
 / .- Source state '*' = current best, '+' = combined, '-' = not combined,
| /             'x' = may be in error, '~' = too variable, '?' = unusable.
||                                                 .- xxxx [ yyyy ] +/- zzzz
||      Reachability register (octal) -.           |  xxxx = adjusted offset,
||      Log2(Polling interval) --.      |          |  yyyy = measured offset,
||                                \     |          |  zzzz = estimated error.
||                                 |    |           \
MS Name/IP address         Stratum Poll Reach LastRx Last sample
===============================================================================
^* ntp.ulyssis.student.kule>     2   6   377    48   -279us[ -338us] +/- 8158us
^- webserver.discosmash.com      3   6   377    47  +1358us[+1358us] +/-   68ms
^- dns-rec-2-brudie.belnet.>     2   6   377    48   +164us[ +105us] +/-   44ms
^- ntp.rack66.net                2   6   377    48   +147us[ +147us] +/-   37ms

Ces quatre dernières lignes nous l'assurent.


Réglage

C'est bien de récupérer l'heure mais il faut que le paramétrage du système soit adéquat.


Statut

La commande suivante permet d'afficher quelques informations utiles:

timedatectl status

qui donne par exemple:


               Local time: lun 2023-05-22 12:31:16 CEST
           Universal time: lun 2023-05-22 10:31:16 UTC
                 RTC time: lun 2023-05-22 10:31:16
                Time zone: Europe/Brussels (CEST, +0200)
System clock synchronized: yes
              NTP service: active
          RTC in local TZ: no


Time Zone

Je suis en Belgique; j'utilise donc le fuseau horaire de Bruxelles en Europe (4ème ligne). Suivant l'heure affichée, on remarque que nous sommes en horaire d'été avec deux heures de décalage (CEST) (première ligne) (CEST, +0200) (4ème ligne) par rapport à l'heure de référence (UTC) (seconde ligne).


Si ce n'est pas le cas, il faut adapter ce fuseau horaire.

On peut lister les différentes zones de temps disponibles et leurs noms avec la commande suivante:

timedatectl list-timezones | grep "Europe/Brussels"

qui donne après filtrage:


Europe/Brussels

Il puise cette liste en consultant l'arborescence des fichiers présents sous le répertoire "/usr/share/zoneinfo".


On adapte ce fuseau horaire avec la commande:

timedatectl set-timezone Europe/Brussels

Cette opération met à jour le lien suivant entre le fichier "/etc/localtime" et le fichier de référence de notre fuseau horaire.


ls -al /etc/localtime


lrwxrwxrwx. 1 root root 37 5 aoû 2020 localtime -> ../usr/share/zoneinfo/Europe/Brussels



retour au menu de Linux