Website-Suche

ntpdate-Befehl nicht gefunden: Lösung


Der Befehl ntpdate ist veraltet und wurde aus modernen Linux-Distributionen entfernt. Wenn Sie auf Debian- oder Ubuntu-Linux-Systemen auf den Fehler „ntpdate command not found“ stoßen, zeigt Ihnen diese Anleitung, wie Sie die Systemzeit mit den modernen Ersatzprogrammen systemd-timesyncd und chrony synchronisieren können.

$ ntpdate
bash: ntpdate: command not found

Sie können auch den folgenden Fehler sehen, wenn Sie versuchen, die NTP-Synchronisierung zu aktivieren:

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

In diesem Tutorial lernen Sie:

  • Warum ntpdate veraltet war und entfernt wurde
  • Wie man systemd-timesyncd für die automatische Zeitsynchronisation verwendet
  • Wie man chrony als Alternative zu ntpdate verwendet
  • Wie man eine einmalige manuelle Zeitsynchronisation durchführt

Softwareanforderungen

Zusammenfassung des Artikels: Der ntpdate-Befehl ist auf Debian 13+ und Ubuntu 24.04+ nicht mehr verfügbar. Verwenden Sie stattdessen systemd-timesyncd oder chrony.

SchrittBefehl/Aktion
1. Installieren Sie timesyncd (Debian 13)
sudo apt install systemd-timesyncd
2. NTP-Synchronisation aktivieren
sudo timedatectl set-ntp true
3. Synchronisierungsstatus prüfen
systemctl status systemd-timesyncd

Warum wurde ntpdate entfernt?

WUSSTEN SIE SCHON?
Der ntpdate-Befehl wurde vom NTP-Projekt vor Jahren veraltet erklärt und wurde nun vollständig aus Debian 13 (Trixie) entfernt und ist nur noch als Übergangspaket auf Ubuntu 24.04 verfügbar. Die Hauptgründe für seine Entfernung sind: Einmal-Design (ntpdate stellt die Zeit nur einmal ein und beendet sich, anstatt die genaue Zeit kontinuierlich zu pflegen), keine Driftkorrektur (es kann das Abweichen der Uhr zwischen den Synchronisationen nicht ausgleichen), Konflikt mit Daemons (ntpdate steht im Konflikt mit laufenden NTP-Daemons wie ntpd) und bessere Alternativen existieren (systemd-timesyncd und chrony bieten überlegene Funktionalität).

Überprüfen Sie, welche NTP-Pakete installiert sind

Bevor Sie fortfahren, prüfen Sie, ob systemd-timesyncd oder chrony bereits auf Ihrem System installiert ist:

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

Wenn keines der Pakete in der Ausgabe aufgeführt ist, müssen Sie eines davon installieren. Verwenden Sie systemd-timesyncd für eine leichte Lösung, die für die meisten Systeme geeignet ist, oder chrony für fortgeschrittene Funktionen und eine bessere Handhabung unzuverlässiger Netzwerkverbindungen.

Verwendung von systemd-timesyncd

Der systemd-timesyncd-Dienst bietet automatische Zeitsynchronisierung. Er ist ein leichter NTP-Client, der für die meisten Systeme geeignet ist.

  1. systemd-timesyncd installieren: Installieren Sie das Paket, wenn es auf Ihrem System noch nicht vorhanden ist.

    $ sudo apt install systemd-timesyncd
  2. NTP-Synchronisierung aktivieren: Aktivieren Sie die automatische Zeitsynchronisierung.

    $ sudo timedatectl set-ntp true
  3. Synchronisationsstatus überprüfen: Überprüfen Sie, ob der Zeitdienst ausgeführt wird und mit NTP-Servern verbunden ist.

    $ systemctl status systemd-timesyncd

    Suchen Sie nach „aktiv (läuft)“ und der „Status“-Zeile, die den kontaktierten NTP-Server anzeigt.

  4. Sofortige Synchronisierung erzwingen: Wenn Sie die Zeit sofort synchronisieren müssen, starten Sie den Timesyncd-Dienst neu.

    $ sudo systemctl restart systemd-timesyncd

DEBIAN-BENUTZER
Auf Debian-Systemen ohne konfiguriertes sudo verwenden Sie su -, um root zu werden, bevor Sie privilegierte Befehle ausführen, oder setzen Sie su -c "Befehl" vor die Befehle.

Verwendung von Chrony

Wenn Sie erweiterte NTP-Funktionen benötigen, ist chrony eine ausgezeichnete Alternative. Es bewältigt unterbrochene Netzwerkverbindungen besser und kann auch als NTP-Server fungieren.

  1. Chrony installieren: Installieren Sie das Chrony-Paket mit Ihrem Paketmanager.

    $ sudo apt install chrony
  2. Dienst starten und aktivieren: Stellen Sie sicher, dass chrony beim Booten automatisch startet.

    $ sudo systemctl enable --now chrony
  3. Synchronisierungsquellen überprüfen: Überprüfen Sie, dass chrony mit NTP-Servern verbunden ist.

    $ chronyc sources -v

  4. Sendungsstatus überprüfen: Detaillierte Synchronisierungsinformationen anzeigen.

    $ chronyc tracking

INSTALLATIONSHINWEISE
Die Installation von chrony deaktiviert automatisch systemd-timesyncd, um Konflikte zwischen den beiden Zeitsynchronisierungsdiensten zu verhindern.

Einmalige manuelle Synchronisierung

Wenn Sie eine einmalige Synchronisation durchführen müssen, ähnlich wie sie ntpdate bereitgestellt hat, haben Sie zwei Möglichkeiten:

Verwendung von chronyd mit dem -q-Flag

Diese Methode fragt NTP-Server ab und stellt die Zeit einmal ein, dann beendet sie sich, ähnlich wie das Verhalten von ntpdate. Beachten Sie, dass Sie den chrony-Dienst zuerst stoppen müssen, falls er läuft:

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

Verwendung von systemd-timesyncd

Erzwingen Sie eine sofortige Synchronisation, indem Sie den Dienst neu starten:

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

Fehlerbehebung

Die Einheit systemd-timesyncd.service konnte nicht gefunden werden

Wenn Sie diesen Fehler beim Überprüfen des Dienststatus sehen, ist systemd-timesyncd nicht installiert:

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

Installieren Sie das Paket, um dies zu lösen:

$ sudo apt install systemd-timesyncd

Serverabfrage fehlgeschlagen: Der Name org.freedesktop.timesync1 wurde nicht bereitgestellt

Dieser Fehler erscheint, wenn versucht wird, den Zeit-Synchronisationsstatus zu überprüfen, ohne dass systemd-timesyncd installiert ist:

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

Systemd-timesyncd installieren und aktivieren:

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

Fehler beim Einstellen von NTP: NTP wird nicht unterstützt

Dieser Fehler tritt auf, wenn kein NTP-Client-Dienst installiert oder ausgeführt wird:

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

Installieren und aktivieren Sie systemd-timesyncd, um dies zu beheben:

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

Versuchen Sie dann erneut, die NTP-Synchronisierung zu aktivieren.

Zeit wird immer noch nicht synchronisiert

Überprüfen Sie die Netzwerkverbindung zu NTP-Servern und prüfen Sie die Firewall-Einstellungen. NTP verwendet den UDP-Port 123:

$ sudo ufw allow 123/udp

Fehler beim Aktivieren der Einheit: Weigerung, auf verknüpfter Einheitsdatei chronyd.service zu arbeiten

Dieser Fehler tritt auf, wenn versucht wird, den Chrony-Dienst mit chronyd anstelle von chrony zu aktivieren:

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

Verwenden Sie stattdessen chrony als Servicenamen:

$ sudo systemctl enable --now chrony

Ein anderer chronyd läuft möglicherweise bereits

Dieser Fehler tritt auf, wenn versucht wird, eine einmalige Synchronisation mit chronyd -q durchzuführen, während der Chrony-Dienst bereits läuft:

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

Stoppen Sie zuerst den Chrony-Dienst, bevor Sie die einmalige Synchronisierung ausführen:

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

Fazit

Der Fehler „ntpdate-Befehl nicht gefunden“ wird auf modernen Debian- und Ubuntu-Systemen erwartet, da ntpdate veraltet ist und entfernt wurde. Die empfohlenen Ersatzlösungen sind systemd-timesyncd für Desktop-Systeme und chrony für Server oder Systeme mit intermittierender Netzwerkverbindung. Beide Alternativen bieten eine überlegene Zeit-Synchronisierung im Vergleich zum veralteten ntpdate-Befehl.

Für weitere Informationen zu NTP und Zeitsynchronisierung konsultieren Sie die offizielle Chrony-Dokumentation.

Häufig gestellte Fragen

  1. Kann ich ntpdate noch auf Debian 13 oder Ubuntu 24.04 installieren? Auf Debian 13 (Trixie) wurde das ntpdate-Paket vollständig aus den Repositories entfernt und ist nicht zur Installation verfügbar. Auf Ubuntu 24.04 existiert ein Übergangspaket, das jedoch nur auf ntpsec-ntpdate weiterleitet. Es wird empfohlen, stattdessen systemd-timesyncd oder chrony zu verwenden.
  2. Was ist der Unterschied zwischen systemd-timesyncd und chrony? Der systemd-timesyncd ist ein leichter SNTP-Client, der für die meisten Desktop-Systeme geeignet ist. Chrony ist eine vollständige NTP-Implementierung, die Netzwerkunterbrechungen besser handhabt, eine genauere Zeitsynchronisation bietet und als NTP-Server fungieren kann. Verwenden Sie Chrony für Server oder Systeme, die hohe Präzision erfordern.
  3. Wie überprüfe ich, ob meine Systemzeit synchronisiert ist? Führen Sie systemctl status systemd-timesyncd aus und suchen Sie in der Ausgabe nach “active (running)”. Die Zeile “Status” zeigt an, welcher NTP-Server kontaktiert wurde. Sie können auch timedatectl status ausführen und nach “Systemuhr synchronisiert: ja” suchen.
  4. Warum schlägt timedatectl set-ntp true mit „NTP wird nicht unterstützt“ fehl? Dieser Fehler tritt auf, wenn kein NTP-Clientdienst installiert oder ausgeführt wird. Installieren Sie systemd-timesyncd mit sudo apt install systemd-timesyncd und aktivieren Sie ihn dann mit sudo systemctl enable --now systemd-timesyncd, bevor Sie den timedatectl-Befehl erneut ausführen.