systemd-timesyncd (Français) - ArchWiki

Jump to content

État de la traduction: Cet article est la version francophone de Systemd-timesyncd. Date de la dernière traduction: 2022-10-03. Vous pouvez aider à synchroniser la traduction s'il y a eu des changements dans la version anglaise.

Related articles

- systemd-networkd (Français)
- systemd (Français)
- System time (Français)

Selon la liste de diffusion systemd :

  systemd-timesyncd est un daemon qui a été ajouté pour synchroniser l'horloge du système sur le réseau. Il implémente un client SNTP. Contrairement aux implémentations NTP telles que chrony ou le serveur de référence NTP, celui-ci n'implémente qu'un côté client, et ne s'embarrasse pas de toute la complexité de NTP, se concentrant seulement sur l'interrogation de l'heure d'un serveur distant et la synchronisation de l'horloge locale avec celui-ci. A moins que vous n'ayez l'intention de servir le NTP à des clients en réseau ou que vous vouliez vous connecter à des horloges matérielles locales, ce simple client NTP devrait être plus qu'approprié pour la plupart des installations. Le daemon fonctionne avec des privilèges minimaux, et a été connecté à networkd pour ne fonctionner que lorsque la connectivité réseau est disponible. Le daemon sauvegarde l'horloge actuelle sur le disque à chaque fois qu'une nouvelle synchronisation NTP a été acquise, et l'utilise pour corriger éventuellement l'horloge du système au démarrage, afin de s'adapter aux systèmes qui n'ont pas de RTC comme le Raspberry Pi et les appareils embarqués, et s'assurer que le temps progresse de façon monotone sur ces systèmes, même si ce n'est pas toujours correct. Pour utiliser ce daemon, un nouvel utilisateur système et un groupe "systemd-timesync" doivent être créés lors de l'installation de systemd.

## Configuration

Démarrez et activez `systemd-timesyncd.service`, qui est disponible via systemd.

Au démarrage, systemd-timesyncd lira le fichier de configuration de `/etc/systemd/timesyncd.conf`, qui ressemble à ceci :

    /etc/systemd/timesyncd.conf

    [Time]
    #NTP=
    #FallbackNTP=0.arch.pool.ntp.org 1.arch.pool.ntp.org 2.arch.pool.ntp.org 3.arch.pool.ntp.org
    #...

Pour ajouter des serveurs de temps ou modifier ceux qui sont fournis, décommentez la ligne correspondante et indiquez leur nom d'hôte ou leur adresse IP en les séparant par un espace. Par exemple, vous pouvez utiliser tous les serveurs fournis par le projet de pool NTP ou utiliser les serveurs par défaut d'Arch. (également fournis par le projet de pool NTP) :

    /etc/systemd/timesyncd.conf

    [Time]
    NTP=0.arch.pool.ntp.org 1.arch.pool.ntp.org 2.arch.pool.ntp.org 3.arch.pool.ntp.org
    FallbackNTP=0.pool.ntp.org 1.pool.ntp.org 0.fr.pool.ntp.org

Pour vérifier votre configuration:

    $ timedatectl show-timesync --all

    LinkNTPServers=
    SystemNTPServers=
    FallbackNTPServers=0.arch.pool.ntp.org 1.arch.pool.ntp.org 2.arch.pool.ntp.org 3.arch.pool.ntp.org
    ServerName=0.arch.pool.ntp.org
    ServerAddress=103.47.76.177
    RootDistanceMaxUSec=5s
    PollIntervalMinUSec=32s
    PollIntervalMaxUSec=34min 8s
    PollIntervalUSec=1min 4s
    NTPMessage={ Leap=0, Version=4, Mode=4, Stratum=2, Precision=-21, RootDelay=177.398ms, RootDispersion=142.196ms, Reference=C342F10A, OriginateTimestamp=Mon 2018-07-16 13:53:43 +08, ReceiveTimestamp=Mon 2018-07-16 13:53:43 +08, TransmitTimestamp=Mon 2018-07-16 13:53:43 +08, DestinationTimestamp=Mon 2018-07-16 13:53:43 +08, Ignored=no PacketCount=1, Jitter=0 }
    Frequency=22520548

Outre la configuration du daemon, les serveurs NTP peuvent également être fournis via une configuration [[Systemd-networkd (Français)#Section [NetDev]|systemd-networkd]] avec une option `NTP=` ou, de manière dynamique, via un serveur DHCP.

Le serveur NTP à utiliser est déterminé d'après les règles suivantes :

- Tout serveur NTP par interface obtenu à partir de la configuration de systemd-networkd.service(8) ou via DHCP est prioritaire.
- Les serveurs NTP définis dans `/etc/systemd/timesyncd.conf` seront ajoutés à la liste par interface lors de l'exécution et le daemon contactera les serveurs à son tour jusqu'à ce qu'il en trouve un qui réponde.
- Si aucune information sur le serveur NTP n'est obtenue après ces étapes, les noms d'hôtes ou adresses IP du serveur NTP définis dans `FallbackNTP=` seront utilisés.

Note: Le service écrit dans un fichier local `/var/lib/systemd/systemd/timesync/clock` à chaque synchronisation. Cet emplacement est codé en dur et ne peut pas être modifié. Cela peut être problématique pour l'exécution d'une partition racine en lecture seule ou pour essayer de minimiser les écritures sur une carte SD.

## Utilisation

Pour l' activer ou le démarrer lancez :

    # timedatectl set-ntp true

Le processus de synchronisation peut être sensiblement lent. Ce comportement est normal et vous devriez patienter un moment avant de considérer qu'il y a un problème. Pour vérifier l'état du service, utilisez :

    $ timedatectl status

                   Local time: Thu 2015-07-09 18:21:33 CEST
               Universal time: Thu 2015-07-09 16:21:33 UTC
                     RTC time: Thu 2015-07-09 16:21:33
                    Time zone: Europe/Amsterdam (CEST, +0200)
    System clock synchronized: yes
                  NTP service: active
              RTC in local TZ: no

Pour obtenir de plus amples informations sur le service, utilisez :

    $ timedatectl timesync-status

           Server: 103.47.76.177 (0.arch.pool.ntp.org)
    Poll interval: 2min 8s (min: 32s; max 34min 8s)
             Leap: normal
          Version: 4
          Stratum: 2
        Reference: C342F10A
        Precision: 1us (-21)
    Root distance: 231.856ms (max: 5s)
           Offset: -19.428ms
            Delay: 36.717ms
           Jitter: 7.343ms
     Packet count: 2
        Frequency: +267.747ppm

## Voir aussi

- Forum : systemd-timesyncd ne synchronise pas l'heure
- Forum : Utilisation de systemd-timesync au lieu de NTP
- Le code source de timesyncd sur GitHub
- systemd-timesyncd(8)
- timesyncd.conf(5)

Category:

- Network Time Protocol (Français)