Ich verwende Ubuntu auf einem ARM-basierten Embedded-System, dem eine batteriegepufferte Echtzeituhr fehlt. Die Weckzeit liegt irgendwo im Jahr 1970. Daher verwende ich den NTP-Dienst, um die Zeit auf die aktuelle Zeit zu aktualisieren.
Ich habe der /etc/rc.localDatei die folgende Zeile hinzugefügt :
sudo ntpdate -s time.nist.gov
Nach dem Start dauert es jedoch noch einige Minuten, bis die Zeit aktualisiert ist. Während dieser Zeit kann ich nicht effektiv mit tarund arbeiten make.
Wie kann ich eine Aktualisierung der Uhr zu einem bestimmten Zeitpunkt erzwingen?
UPDATE 1: Das Folgende (danke an Eric und Stephan) funktioniert einwandfrei von der Kommandozeile aus, kann aber die Uhr beim Einfügen nicht aktualisieren /etc/rc.local:
$ date ; sudo service ntp stop ; sudo ntpdate -s time.nist.gov ; sudo service ntp start ; date
Thu Jan 1 00:00:58 UTC 1970
* Stopping NTP server ntpd [ OK ]
* Starting NTP server [ OK ]
Thu Feb 14 18:52:21 UTC 2013
Was mache ich falsch?
UPDATE 2: Ich habe versucht, den wenigen Vorschlägen zu folgen, die als Reaktion auf das erste Update eingegangen sind, aber nichts scheint die Aufgabe tatsächlich wie erforderlich zu erledigen. Folgendes habe ich versucht:
- Tauschen Sie den Server gegen aus
us.pool.ntp.org - Verwenden Sie explizite Pfade zu den Programmen
- Entfernen Sie den
ntpService insgesamt und lassen Sie nursudo ntpdate ...inrc.local - Entfernen Sie den
sudoaus dem obigen Befehl inrc.local
Unter Verwendung der obigen Einstellungen startet der Computer immer noch um 1970. Wenn Sie dies jedoch über die Befehlszeile tun, nachdem Sie sich (über ssh) angemeldet haben , wird die Uhr aktualisiert, sobald ich sie aufrufe ntpdate.
Das letzte, was ich tat, war, das zu entfernen rc.localund einen Anruf ntpdatein meine .bashrcAkte zu setzen. Dadurch wird die Uhr wie erwartet aktualisiert und die aktuelle Uhrzeit wird angezeigt, sobald die Eingabeaufforderung verfügbar ist.
Dies bedeutet jedoch , dass die Zeit nie aktualisiert wird, wenn der Computer eingeschaltet ist und kein Benutzer angemeldet ist. Ich kann den ntpDienst natürlich neu installieren , damit die Uhr innerhalb weniger Minuten nach dem Start aktualisiert wird, aber dann sind wir wieder auf Platz 1.
Gibt es einen Grund, warum das Platzieren des ntpdateBefehls in rc.localnicht die erforderliche Aufgabe ausführt, während dies in .bashrceinwandfrei funktioniert?
sudoIn /etc/rc.locale müssen keine Dateien verwendet werden. Sie werden bereits als root ausgeführt.
timedatectl, aber askubuntu.com/questions/832646/…
ntpdate -s ntp.ubuntu.com[1]: askubuntu.com/a/81301/130162