Configurer le client NTP sous Jessie avec Systemd
Un petit mémo comme je n’en ai pas fait depuis longtemps, car j’ai cherché quelques temps avant de trouver comment configurer correctement NTP sur ma Debian 8 Jessie avec Systemd. Ben oui, depuis Jessie, plus besoin de s’emmêler les pinceaux avec ntpd, ntp-date… Ici c’est Systemd qui gère.
Et il gère notamment grâce au service qui s’appelle systemd-timesyncd.service
, qui, par défaut, est inactif :
╭─guillaume@lab ~ ╰─$ sudo systemctl status systemd-timesyncd.service ● systemd-timesyncd.service - Network Time Synchronization Loaded: loaded (/lib/systemd/system/systemd-timesyncd.service; disabled) Active: inactive (dead) Docs: man:systemd-timesyncd.service(8) |
systemd-timesyncd
est un daemon conçu pour synchroniser l’horloge de nos machines préférées à travers le réseau. Sa particularité (et contrairement au NTP des version précédentes de Debian), c’est qu’il implémente uniquement la partie cliente de NTP, et se passe donc de toute la complexité de la partie serveur. Il n’est donc pas adapté si vous souhaitez distribuer l’heure à partir de votre machine.
Et pour voir l’état de l’horloge avec ce nouveau système, vous pouvez utiliser le bien nommé timedatectl
:
╭─guillaume@lab ~ ╰─$ sudo timedatectl Local time: mer. 2016-02-17 13:39:44 CET Universal time: mer. 2016-02-17 12:39:44 UTC RTC time: mer. 2016-02-17 12:39:44 Time zone: Europe/Paris (CET, +0100) NTP enabled: no NTP synchronized: no RTC in local TZ: no DST active: no Last DST change: DST ended at dim. 2015-10-25 02:59:59 CEST dim. 2015-10-25 02:00:00 CET Next DST change: DST begins (the clock jumps one hour forward) at dim. 2016-03-27 01:59:59 CET dim. 2016-03-27 03:00:00 CEST |
On voit donc ici que NTP n’est pas activé, ni synchronisé non plus.
Avant de démarrer le service, il va falloir dé-commenter la onzième ligne du fichier /etc/systemd/timesyncd.conf
:
[Time] Servers=0.debian.pool.ntp.org 1.debian.pool.ntp.org 2.debian.pool.ntp.org 3.debian.pool.ntp.org |
Sauvegardez. Il ne reste plus qu’à démarrer le service, et à l’activer au démarrage de la machine :
╭─guillaume@lab ~ ╰─$ sudo systemctl start systemd-timesyncd.service; sudo systemctl enable systemd-timesyncd.service Created symlink from /etc/systemd/system/sysinit.target.wants/systemd-timesyncd.service to /lib/systemd/system/systemd-timesyncd.service. |
Et le résultat quelques minutes plus tard :
╭─guillaume@lab ~ ╰─$ sudo systemctl status systemd-timesyncd.service ● systemd-timesyncd.service - Network Time Synchronization Loaded: loaded (/lib/systemd/system/systemd-timesyncd.service; disabled) Active: active (running) since mer. 2016-02-17 13:40:43 CET; 10s left Docs: man:systemd-timesyncd.service(8) Main PID: 17919 (systemd-timesyn) Status: "Using Time Server 213.199.225.30:123 (0.debian.pool.ntp.org)." CGroup: /system.slice/systemd-timesyncd.service └─17919 /lib/systemd/systemd-timesyncd févr. 17 13:40:43 home systemd-timesyncd[17919]: Using NTP server 213.199.225.30:123 (0.debian.pool.ntp.org). févr. 17 13:40:28 home systemd-timesyncd[17919]: interval/delta/delay/jitter/drift 32s/-14.864s/0.055s/0.000s/+0ppm ╭─guillaume@lab ~ ╰─$ sudo timedatectl Local time: mer. 2016-02-17 13:41:39 CET Universal time: mer. 2016-02-17 12:41:39 UTC RTC time: mer. 2016-02-17 12:41:54 Time zone: Europe/Paris (CET, +0100) NTP enabled: yes NTP synchronized: yes RTC in local TZ: no DST active: no Last DST change: DST ended at dim. 2015-10-25 02:59:59 CEST dim. 2015-10-25 02:00:00 CET Next DST change: DST begins (the clock jumps one hour forward) at dim. 2016-03-27 01:59:59 CET dim. 2016-03-27 03:00:00 CEST |
Alors, facile non ?
Cet article vous a plu ? Partagez-le sur les réseaux sociaux !




06/03/2016 @ 18:27
plus simple sans system-d 😀
sudo vim /etc/ntp.conf
service ntp restart
(oui, ceci est un semi-troll, je peux pas blairer systemd)
07/03/2016 @ 15:10
C’est plus que du semi-troll là…
01/05/2016 @ 19:32
Ben non justement, c’est désormais plus simple avec systemd. Il suffit de faire timedatectl set-ntp true et c’est bon !!! Le service systemd-timesyncd.service est alors actif. Les gens qui ont refusé systemd ont choisi l’obsolescence. Même Debian a fini par basculer vers systemd en février 2014, il y a deux ans. Mets-toi à la page…
07/07/2016 @ 12:12
Salut,
J’ai suivi ton tutoriel sur ma Debian Jessie à la lettre.
J’ai bien :
systemctl status systemd-timesyncd.service
● systemd-timesyncd.service – Network Time Synchronization
Loaded: loaded (/lib/systemd/system/systemd-timesyncd.service; enabled)
Active: active (running) since jeu. 2016-07-07 12:07:49 CEST; 18s ago
Docs: man:systemd-timesyncd.service(8)
Main PID: 5166 (systemd-timesyn)
Status: « Using Time Server 178.33.111.47:123 (0.fr.pool.ntp.org). »
CGroup: /system.slice/systemd-timesyncd.service
└─5166 /lib/systemd/systemd-timesyncd
Mais quand j’essaye d’utiliser « timedatectl », j’ai une erreur :
# timedatectl
Failed to create bus connection: Aucun fichier ou dossier de ce type
05/09/2016 @ 09:37
Bonjour,
Une rapide recherche sur Google indique qu’il te manquerait peut-être le paquet
dbus
. Tente unapt-get install dbus
🙂14/09/2016 @ 23:12
Good article but :
You should read the doc and maybe wait for the strech (/usr/share/doc/systemd/changelog.Debian.gz :
…
* Add hwclock-save.service to sync the system clock to the hardware clock on
shutdown, to provide monotonic time for reboots. (Note: this is a hack for
jessie; the next Debian release will enable timesyncd by default).
(Closes: #755722)
)
Si ce n’est pas activé par défaut en Jessie c’est qu’il y a une raison bien précise.
25/08/2017 @ 15:31
Bonjour, merci pour ce tuto tres explicite !
j’ai neamoins le probleme suivant sur un RASPBERRY 3 : qd je fais un timedatectl, NTP synchro rest à NO alors que systemd-timesyncd est bien en status « connecting to time serveur… »
Donc mon hologe ne se met pas à jour.
Avez vous des pistes de reflexion à me proposer ???
merci d’avance
10/11/2017 @ 21:57
Bonsoir, merci pour ce super tuto !
Tout fonctionne à merveille pour moi
14/11/2017 @ 11:04
Bonjour,
Idem « XAV »,
Impossible de mettre à jour date et heure sur la Raspi3 !!!
26/09/2018 @ 09:15
Bonjour,
êtes vous sur que ceci fonctionne en filaire ?
Car lorsque je ping sur 0.debian.pool.ntp.org, le serveur répond.
Mais toujours pas de connection au serveur lors d’une demande status, celui-ci reste en
« connecting to time server …. »
Puis passe en « IDLE », et toujours pas de date and time mis à jour !!!