Tâche #37069
Scénario #36953: 2.9.0 paquet eole-server et ntpdate
étude
100%
Historique
#1 Mis à jour par Ludwig Seys il y a 7 mois
- Statut changé de Nouveau à À valider
- % réalisé changé de 0 à 100
Lors d’un upgrade-auto (EOLE scribe 2.8.1 → 2.9), le paquet ntpdate a été désinstallé, puis purgé.
Logs APT/DPKG :
/var/log/dpkg.log:2025-09-04 15:12:51 remove ntpdate:amd64 1:4.2.8p15+dfsg-1ubuntu2 <none> /var/log/dpkg.log:2025-09-04 15:18:34 purge ntpdate:amd64 1:4.2.8p15+dfsg-1ubuntu2 <none>
en cause :
/tmp/Upgrade-Auto/post_upgrade/20-purge_packages apt purge -y ~c # (purge tous les paquets déjà en état rc)
Il est bien déprécié !
Package: ntpdate Depends: netbase, libc6 (>= 2.34), libssl3 (>= 3.0.0~~alpha1) Description-fr: client for setting system time from NTP servers (deprecated) Description-md5: 130a5677fa1358ddd81dff4fc2738d51
ntpdate est déprécié sur Ubuntu/Debian récents, au profit de chrony ou systemd-timesyncd. Il peut donc être retiré lors d’un dist-upgrade/autoremove. Le hook ne fait que purger ce qui a déjà été retiré.
Des services/scripts internes appellent /usr/sbin/ntpdate via l’unité systemd :
/lib/systemd/system/ntpdate.service ExecStart=/usr/sbin/ntpdate -v $NTPOPTIONS $NTPSERVERS
analyse usage ntpdate => if-up
root@scribe:~# rgrep -nE '(^|/| )ntpdate(\s|$)' /etc /usr/local 2>/dev/null /etc/network/if-up.d/ntpdate:19:# Check whether ntpdate was removed but not purged; it's useless to wait for /etc/network/if-up.d/ntpdate:35:flock -n /run/lock/ntpdate /usr/sbin/ntpdate-debian -s $OPTS 2>/dev/null
Comment est utilisé ntpdate :
root@scribe:~# grep -RIn --include='*.service' -e ntpdate /{etc,lib,usr/lib}/systemd 2>/dev/null
/etc/systemd/system/sysinit.target.wants/ntpdate.service:3:ConditionPathExists=/etc/default/ntpdate
/etc/systemd/system/sysinit.target.wants/ntpdate.service:13:EnvironmentFile=/etc/default/ntpdate
/etc/systemd/system/sysinit.target.wants/ntpdate.service:14:ExecStart=/usr/sbin/ntpdate -v $NTPOPTIONS $NTPSERVERS
/lib/systemd/system/ntpdate.service:3:ConditionPathExists=/etc/default/ntpdate
/lib/systemd/system/ntpdate.service:13:EnvironmentFile=/etc/default/ntpdate
/lib/systemd/system/ntpdate.service:14:ExecStart=/usr/sbin/ntpdate -v $NTPOPTIONS $NTPSERVERS
/usr/lib/systemd/system/ntpdate.service:3:ConditionPathExists=/etc/default/ntpdate
/usr/lib/systemd/system/ntpdate.service:13:EnvironmentFile=/etc/default/ntpdate
/usr/lib/systemd/system/ntpdate.service:14:ExecStart=/usr/sbin/ntpdate -v $NTPOPTIONS $NTPSERVERS
root@scribe:~# systemctl is-active systemd-timesyncd chrony || true
active # => systemd-timesyncd actif
inactive # => pas de chrony
root@scribe:~# timedatectl timesync-status 2>/dev/null || true
Server: 91.189.91.157 (ntp.ubuntu.com)
Poll interval: 34min 8s (min: 32s; max 34min 8s)
Leap: normal
Version: 4
Stratum: 2
Reference: 84A36001
Precision: 1us (-24)
Root distance: 23.177ms (max: 5s)
Offset: +64us
Delay: 90.003ms
Jitter: 3.965ms
Packet count: 48
Frequency: +37,918ppm
root@scribe:~# systemctl is-enabled ntpdate || true
enabled
systemd unit activée
systemctl is-enabled ntpdate → enabled
Symlink : /etc/systemd/system/sysinit.target.wants/ntpdate.service
L’unité lance :
ExecStart=/usr/sbin/ntpdate -v $NTPOPTIONS $NTPSERVERS
Elle est déclenchée au boot (avant time-sync.target), si /etc/default/ntpdate existe (voir ConditionPathExists=).
hook ifup
Fichier : /etc/network/if-up.d/ntpdate
Il appelle : /usr/sbin/ntpdate-debian -s $OPTS
Il est lancé à la montée d’une interface par ifupdown (pas par systemd-networkd).
------------------------------ Conclusion ----------------------------
Conclusion : virer le service, le fichier de config et la partie ifup semble pertinent, peut-être avec un post_upgrade/15-ntpdate_cleanup ?
mais quid des scribe-2.9 (sans upgrade-auto) qui ont le même soucis (pas de paramètréage dans ifup mais le service existe) ? :
Action préconisée !
/etc/systemd/system/sysinit.target.wants/ntpdate.service
Action : supprimer (désactiver l’unité).
/usr/lib/systemd/system/ntpdate.service (ou /lib/systemd/system/...)
Action : supprimer.
/etc/default/ntpdate
Action : archiver/supprimer.L’unité ntpdate.service ne se lance que si ce fichier existe (ConditionPathExists=).
/etc/network/if-up.d/ntpdate
Action : archiver/supprimer.
/var/lib/systemd/deb-systemd-helper-enabled/... {ntpdate.service.dsh-also & sysinit.target.wants/ntpdate.service}
Action : supprimer
========= TEST ========
démarrage scribe 2.8.1, upgrade-auto
suppression manuel des fichiers ci-dessus
instance => pas d'erreur
maj-auto => pas d'erreur
reconfigure => pas d'erreur
reboot => pas d'erreur
#2 Mis à jour par Laurent Gourvenec il y a 6 mois
- Statut changé de À valider à En cours
#3 Mis à jour par Ludwig Seys il y a 6 mois
- Statut changé de En cours à À valider
#4 Mis à jour par Laurent Gourvenec il y a 2 mois
- Statut changé de À valider à Résolu
#5 Mis à jour par Joël Cuissinat il y a 2 mois
- Statut changé de Résolu à Fermé
- Restant à faire (heures) mis à 0.0