Projet

Général

Profil

Tâche #37069

Scénario #36953: 2.9.0 paquet eole-server et ntpdate

étude

Ajouté par Ludwig Seys il y a 7 mois. Mis à jour il y a environ un mois.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Début:
01/10/2022
Echéance:
% réalisé:

100%

Restant à faire (heures):
0.0

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

Formats disponibles : Atom PDF