Recherche de site Web

Commande ntpdate introuvable : solution


La commande ntpdate a été obsolète et supprimée des distributions Linux modernes. Si vous rencontrez l'erreur « commande ntpdate introuvable » sur les systèmes Debian ou Ubuntu Linux, ce guide vous montre comment synchroniser l'heure de votre système en utilisant les remplacements modernes : systemd-timesyncd et chrony.

$ ntpdate
bash: ntpdate: command not found

Vous pouvez également voir l'erreur suivante lorsque vous essayez d'activer la synchronisation NTP :

$ timedatectl set-ntp true
Failed to set ntp: NTP not supported

Dans ce tutoriel, vous apprendrez :

  • Pourquoi ntpdate a été déprécié et supprimé
  • Comment utiliser systemd-timesyncd pour la synchronisation automatique de l'heure
  • Comment utiliser chrony comme alternative à ntpdate
  • Comment effectuer une synchronisation manuelle de l'heure ponctuelle

Exigences Logiciel

Résumé de l'article : La commande ntpdate n'est plus disponible sur Debian 13+ et Ubuntu 24.04+. Utilisez systemd-timesyncd ou chrony à la place.

ÉtapeCommande/Action
1. Installer timesyncd (Debian 13)
sudo apt install systemd-timesyncd
2. Activer la synchronisation NTP
sudo timedatectl set-ntp true
3. Vérifier l'état de synchronisation
systemctl status systemd-timesyncd

Pourquoi ntpdate a-t-il été supprimé ?

LE SAVIEZ-VOUS ?
La commande ntpdate a été dépréciée par le projet NTP il y a des années et a maintenant été complètement supprimée de Debian 13 (Trixie) et n’est disponible que comme paquet de transition sur Ubuntu 24.04. Les principales raisons de sa suppression incluent : conception à usage unique (ntpdate ne règle l’heure qu’une seule fois et se termine, plutôt que de maintenir continuellement l’heure exacte), absence de correction de dérive (il ne peut pas compenser la dérive de l’horloge entre les synchronisations), conflit avec les démons (ntpdate entre en conflit avec les démons NTP en cours d’exécution comme ntpd), et existence de meilleures alternatives (systemd-timesyncd et chrony offrent une fonctionnalité supérieure).

Vérifiez quels packages NTP sont installés

Avant de continuer, vérifiez si systemd-timesyncd ou chrony est déjà installé sur votre système :

$ dpkg -l | grep -E "systemd-timesyncd|chrony"

Si aucun des paquets n'apparaît dans la sortie, vous devrez en installer un. Utilisez systemd-timesyncd pour une solution légère adaptée à la plupart des systèmes, ou chrony pour des fonctionnalités plus avancées et une meilleure gestion des connexions réseau peu fiables.

Utilisation de systemd-timesyncd

Le service systemd-timesyncd fournit une synchronisation automatique de l'heure. C'est un client NTP léger adapté à la plupart des systèmes.

  1. Installer systemd-timesyncd : Installez le paquet s'il n'est pas déjà présent sur votre système.

    $ sudo apt install systemd-timesyncd
  2. Activer la synchronisation NTP : Activer la synchronisation automatique de l'heure.

    $ sudo timedatectl set-ntp true
  3. Vérifier l'état de synchronisation : Vérifiez que le service de synchronisation de l'heure est en cours d'exécution et connecté aux serveurs NTP.

    $ systemctl status systemd-timesyncd

    Cherchez « active (en cours d'exécution) » et la ligne « Statut » indiquant le serveur NTP contacté.

  4. Forcer la synchronisation immédiate : si vous devez synchroniser l'heure immédiatement, redémarrez le service timesyncd.

    $ sudo systemctl restart systemd-timesyncd

UTILISATEURS DE DEBIAN
Sur les systèmes Debian sans sudo configuré, utilisez su - pour devenir root avant d'exécuter des commandes privilégiées, ou préfixez les commandes avec su -c "commande".

Utilisation de Chrony

Si vous avez besoin de fonctionnalités NTP plus avancées, chrony est une excellente alternative. Il gère mieux les connexions réseau intermittentes et peut également fonctionner comme serveur NTP.

  1. Installer chrony : Installez le paquet chrony en utilisant votre gestionnaire de paquets.

    $ sudo apt install chrony
  2. Démarrer et activer le service : Assurez-vous que chrony démarre automatiquement au démarrage.

    $ sudo systemctl enable --now chrony
  3. Vérifier les sources de synchronisation : Vérifiez que chrony est connecté aux serveurs NTP.

    $ chronyc sources -v

  4. Vérifier le statut du suivi : Voir des informations détaillées sur la synchronisation.

    $ chronyc tracking

CONSEILS D'INSTALLATION
L'installation de chrony désactivera automatiquement systemd-timesyncd pour éviter les conflits entre les deux services de synchronisation de l'heure.

Synchronisation manuelle unique

Si vous avez besoin d'effectuer une synchronisation unique similaire à ce que ntpdate fournissait, vous avez deux options :

Utiliser chronyd avec le drapeau -q

Cette méthode interroge les serveurs NTP et règle l'heure une seule fois, puis se termine, similaire au comportement de ntpdate. Notez que vous devez d'abord arrêter le service chrony s'il est en cours d'exécution :

$ sudo systemctl stop chrony
$ sudo chronyd -q 'server pool.ntp.org iburst'

Utilisation de systemd-timesyncd

Forcer une synchronisation immédiate en redémarrant le service :

$ sudo systemctl restart systemd-timesyncd
$ systemctl status systemd-timesyncd

Dépannage

Impossible de trouver l'unité systemd-timesyncd.service

Si vous voyez cette erreur lors de la vérification de l'état du service, systemd-timesyncd n'est pas installé :

$ systemctl status systemd-timesyncd
Unit systemd-timesyncd.service could not be found.

Installez le paquet pour résoudre ceci :

$ sudo apt install systemd-timesyncd

Échec de la requête au serveur : Le nom org.freedesktop.timesync1 n'a pas été fourni

Cette erreur apparaît lorsqu'on essaie de vérifier l'état de la synchronisation de l'heure sans que systemd-timesyncd soit installé :

$ timedatectl timesync-status
Failed to query server: The name org.freedesktop.timesync1 was not provided by any .service files

Installez et activez systemd-timesyncd :

$ sudo apt install systemd-timesyncd
$ sudo systemctl enable --now systemd-timesyncd

Échec de la configuration de NTP : NTP non pris en charge

Cette erreur se produit lorsqu'aucun service client NTP n'est installé ou en cours d'exécution :

$ sudo timedatectl set-ntp true
Failed to set ntp: NTP not supported

Installez et activez systemd-timesyncd pour résoudre ceci :

$ sudo apt install systemd-timesyncd
$ sudo systemctl enable --now systemd-timesyncd

Puis réessayez d'activer la synchronisation NTP.

L'heure ne se synchronise toujours pas

Vérifiez la connectivité réseau vers les serveurs NTP et vérifiez les paramètres du pare-feu. NTP utilise le port UDP 123 :

$ sudo ufw allow 123/udp

Échec de l'activation de l'unité : Refus de fonctionner sur le fichier d'unité lié chronyd.service

Cette erreur se produit lors de la tentative d'activation du service chrony en utilisant chronyd au lieu de chrony :

$ sudo systemctl enable --now chronyd
Failed to enable unit: Refusing to operate on linked unit file chronyd.service

Utilisez chrony comme nom de service à la place :

$ sudo systemctl enable --now chrony

Un autre chronyd peut déjà être en cours d'exécution

Cette erreur se produit lors de la tentative d'exécution d'une synchronisation ponctuelle avec chronyd -q alors que le service chrony est déjà en cours d'exécution :

$ sudo chronyd -q 'server pool.ntp.org iburst'
Fatal error : Another chronyd may already be running (pid=3630), check /run/chrony/chronyd.pid

Arrêtez d'abord le service chrony avant d'exécuter la synchronisation unique :

$ sudo systemctl stop chrony
$ sudo chronyd -q 'server pool.ntp.org iburst'

Conclusion

L'erreur « ntpdate command not found » est prévue sur les systèmes Debian et Ubuntu modernes puisque ntpdate a été déprécié et supprimé. Les remplacements recommandés sont systemd-timesyncd pour les systèmes de bureau et chrony pour les serveurs ou les systèmes avec une connectivité réseau intermittente. Les deux alternatives offrent une synchronisation de l'heure supérieure comparée à l'ancienne commande ntpdate.

Pour plus d'informations sur NTP et la synchronisation de l'heure, consultez la documentation officielle de Chrony.

Questions Fréquemment Posées

  1. Puis-je encore installer ntpdate sur Debian 13 ou Ubuntu 24.04 ? Sur Debian 13 (Trixie), le paquet ntpdate a été complètement supprimé des dépôts et n'est pas disponible pour l'installation. Sur Ubuntu 24.04, un paquet de transition existe mais il se contente de rediriger vers ntpsec-ntpdate. Il est recommandé d'utiliser systemd-timesyncd ou chrony à la place.
  2. Quelle est la différence entre systemd-timesyncd et chrony ? Le systemd-timesyncd est un client SNTP léger adapté à la plupart des systèmes de bureau. Chrony est une implémentation complète de NTP qui gère mieux les interruptions réseau, fournit une précision temporelle plus élevée et peut agir en tant que serveur NTP. Utilisez chrony pour les serveurs ou les systèmes nécessitant une haute précision.
  3. Comment vérifier si l'heure de mon système est synchronisée ? Exécutez systemctl status systemd-timesyncd et cherchez « active (running) » dans la sortie. La ligne « Status » indiquera quel serveur NTP a été contacté. Vous pouvez également exécuter timedatectl status et vérifier « System clock synchronized: yes ».
  4. Pourquoi timedatectl set-ntp true échoue-t-il avec « NTP non pris en charge » ? Cette erreur se produit lorsqu'aucun service client NTP n'est installé ou en cours d'exécution. Installez systemd-timesyncd avec sudo apt install systemd-timesyncd, puis activez-le avec sudo systemctl enable --now systemd-timesyncd avant de relancer la commande timedatectl.