Meins macht das schon aus der Box. Welche Disto benutzt du?
Gerben
Raspbian Wheezy
Alessandro Da Rugna
funktioniert so wie es ist, irgendwie
lenik
1
@Thorb Pi ist mit Ethernet-Kabel / DHCP verbunden. Es wird einfach kein gültiges Datum nach dem Booten vergeben, es dauert eine Weile (10 bis 45 Minuten)
Alessandro Da Rugna
1
Dies geschieht automatisch nach ein paar Minuten. Stellen Sie sicher, dass Sie die Master-Uhr beim National Bureau of Standards time.nist.gov wie hier beschrieben eingestellt haben: raspberrypi.stackexchange.com/questions/68811/…
SDsolar
Antworten:
40
Mach ein apt-get install ntpdate.
ntpdatewird ausgeführt, wenn eine Ethernet-Schnittstelle gestartet wird, und stellt die Zeit von einem NTP-Server ein (siehe /etc/default/ntpdate).
Wenn ausgeführt ntpdwird, führt ntpdate keine Aktionen aus, wird jedoch ntpdatevor dem ntpdBooten ausgeführt. Dies sollte also funktionieren, um die Zeit beim Booten festzulegen, solange eine Ethernet-Verbindung besteht.
Dies war absolut die Lösung für mein Problem, aber ich fand es vorübergehend, bis ich neu startete. Irgendwann habe ich beim Herunterfahren einen Fehler festgestellt, dass die Uhr nicht aktualisiert werden konnte, da die Uhr ein zukünftiges Datum hatte (keine Ahnung, wie das passiert ist). Aber die Lösung war eine Hwclock-Update-Kraft. Das erzwang das Update auf die gefälschte Hardware-Uhr und beim Booten lag die Zeit zumindest in der Nähe der aktuellen, so dass ntp seine Arbeit normal erledigen konnte.
Piwaf
34
Nach der Suche hat diese Methode für mich funktioniert. Wie Sie wissen, ist NTP auf dem Raspberry Pi 3 standardmäßig deaktiviert. Wenn Sie dies einfach eingeben, wird die NTP-Unterstützung aktiviert:
sudo timedatectl set-ntp True
Prüfe Ergebnis mit timedatectl status
Im Falle einer Warnung müssen Sie möglicherweise auch rennen sudo timedatectl set-local-rtc true.
Danke, das hat mir endlich geholfen und scheint der richtige Weg zu sein, trotz vorheriger Antworten.
CharlieS
1
Das ist die beste Antwort, hat mir sehr geholfen. Sie können 'sudo' verwenden, um die Eingabe Ihres Passworts zu vermeiden (nützlich für Skripte, die es ausführen). Was ist der Zweck des Sekundenbefehls? set-local-rtc
Arad
12
Wenn Sie die Zeitzone im raspi-configRaspberry Pi einstellen, wird die Uhrzeit beim Booten automatisch aktualisiert, wenn eine Verbindung zum Internet besteht.
ntpd sendet IP / UDP-Pakete mit dem ToS-Feld 0xc0. Das ist also ziemlich ähnlich zu dem anderen Problem, das ich (und viele andere) mit Raspberry Pi3 habe, wenn es über eine interne Wi-Fi-Schnittstelle betrieben wird.
Der Rasberry Pi meines Sohnes hat die Time-out-of-the-Box nicht aktualisiert, und nachdem ich alle obigen Vorschläge ausprobiert hatte, konnte ich ihn manuell, aber nicht automatisch aktualisieren lassen. Nachdem ich auch anderswo erfolglos nachgesehen hatte, stellte ich fest, dass in der mit dem Rasberry Pi gelieferten Datei ntp.conf die folgenden Zeilen auskommentiert waren:
#restrict 127.0.0.1
#restrict ::1
ich benutzte
sudo nano /etc/ntp.conf
im terminal zum editieren der ntp conf datei soll nun sein:
# Local users may interrogate the ntp server more closely.
restrict 127.0.0.1
restrict ::1
Das hat das Problem für uns gelöst. Es wird sowohl mit dem WLAN- als auch mit dem Ethernet-Kabel aktualisiert. Ich weiß nicht, ob es mit WiFi aktualisiert werden würde, ohne die oben vorgeschlagene Änderung an rc.local vorzunehmen, da ich diese Änderung bereits vorgenommen und nicht rückgängig gemacht habe, als ich die oben genannte Lösung gefunden habe.
Ich fand die timedatectlAnwendung, um mir zu helfen, wenn ich ein ähnliches Problem hatte. Es ist standardmäßig installiert und '--help' gibt einen ziemlich guten und einfachen Überblick über die Verwendung des Tools.
Hinweis: Stellen Sie sicher, dass Ihre Zeitzone richtig eingestellt ist, was auch mit diesem Tool möglich ist.
Dies ist der Ansatz, den ich letztendlich eingeschlagen habe. Viele dieser Antworten schienen auf Dinge hinzudeuten, die ich auf meinem Raspian-System nicht überprüft habe:
In den Protokollen timedatectlwar nichts ntpvermerkt, was darauf hinwies, dass etwas unternommen wurde oder dass die Netzwerkkarte in Betrieb war oder dass NTPD sogar installiert / konfiguriert wurde.
Am Ende habe ich nur folgendes zu meinem hinzugefügt /etc/rc.local:
$ cat /etc/rc.local
logger "Beginning force syncing NTP..."
service ntp stop
ntpd -gq
service ntp start
logger "Finished force syncing NTP..."
Und installiert ntp:
$ sudo apt-get install ntp
Was dazu führt, ist /var/log/syslog:
Aug 5 09:10:20 pi-hole ntp[526]: Starting NTP server: ntpd.
Aug 5 09:10:20 pi-hole ntpd[555]: proto: precision = 1.458 usec (-19)
Aug 5 09:10:20 pi-hole ntpd[555]: Listen and drop on 0 v6wildcard [::]:123
Aug 5 09:10:20 pi-hole ntpd[555]: Listen and drop on 1 v4wildcard 0.0.0.0:123
Aug 5 09:10:20 pi-hole ntpd[555]: Listen normally on 2 lo 127.0.0.1:123
Aug 5 09:10:20 pi-hole ntpd[555]: Listen normally on 3 eth0 192.168.1.85:123
Aug 5 09:10:20 pi-hole ntpd[555]: Listen normally on 4 lo [::1]:123
Aug 5 09:10:20 pi-hole ntpd[555]: Listen normally on 5 eth0 [fe80::f5ea:7663:4ec:784d%2]:123
Aug 5 09:10:20 pi-hole ntpd[555]: Listening on routing socket on fd #22 for interface updates
Aug 5 09:10:21 pi-hole ntpd[555]: ntpd exiting on signal 15 (Terminated)
Aug 5 09:10:21 pi-hole ntp[661]: Stopping NTP server: ntpd.
Aug 5 09:10:21 pi-hole ntpd[674]: ntpd [email protected] Sat Mar 10 18:03:33 UTC 2018 (1): Starting
Aug 5 09:10:21 pi-hole ntpd[674]: Command line: ntpd -gq
Aug 5 09:10:21 pi-hole ntpd[674]: proto: precision = 0.625 usec (-21)
Aug 5 09:10:21 pi-hole ntpd[674]: Listen and drop on 0 v6wildcard [::]:123
Aug 5 09:10:21 pi-hole ntpd[674]: Listen and drop on 1 v4wildcard 0.0.0.0:123
Aug 5 09:10:21 pi-hole ntpd[674]: Listen normally on 2 lo 127.0.0.1:123
Aug 5 09:10:21 pi-hole ntpd[674]: Listen normally on 3 eth0 192.168.1.85:123
Aug 5 09:10:21 pi-hole ntpd[674]: Listen normally on 4 lo [::1]:123
Aug 5 09:10:21 pi-hole ntpd[674]: Listen normally on 5 eth0 [fe80::f5ea:7663:4ec:784d%2]:123
Aug 5 09:10:21 pi-hole ntpd[674]: Listening on routing socket on fd #22 for interface updates
Aug 5 09:10:34 pi-hole ntpd[674]: Soliciting pool server 198.98.57.16
Aug 5 09:10:35 pi-hole ntpd[674]: Soliciting pool server 74.82.59.149
Aug 5 09:10:36 pi-hole ntpd[674]: Soliciting pool server 23.131.160.7
Aug 5 09:10:36 pi-hole ntpd[674]: Soliciting pool server 52.37.26.163
Aug 5 09:10:36 pi-hole ntpd[674]: Soliciting pool server 204.2.134.163
Aug 5 09:10:36 pi-hole ntpd[674]: Soliciting pool server 96.126.100.203
Aug 5 09:10:36 pi-hole ntpd[674]: Soliciting pool server 199.223.248.101
Aug 5 09:10:36 pi-hole ntpd[674]: Soliciting pool server 66.228.42.59
Aug 5 09:10:36 pi-hole ntpd[674]: Soliciting pool server 208.75.89.4
Aug 5 09:10:37 pi-hole ntpd[674]: Soliciting pool server 204.2.134.164
Aug 5 09:10:37 pi-hole ntpd[674]: Soliciting pool server 104.236.116.147
Aug 5 09:10:38 pi-hole ntpd[674]: Soliciting pool server 204.9.54.119
Aug 5 09:10:48 pi-hole ntpd[674]: ntpd: time set +6.769186 s
Aug 5 09:10:49 pi-hole ntpd[853]: ntpd [email protected] Sat Mar 10 18:03:33 UTC 2018 (1): Starting
Aug 5 09:10:49 pi-hole ntpd[853]: Command line: /usr/sbin/ntpd -p /var/run/ntpd.pid -g -u 111:114
Aug 5 09:10:49 pi-hole ntp[844]: Starting NTP server: ntpd.
Aug 5 09:10:49 pi-hole ntpd[856]: proto: precision = 0.625 usec (-21)
Aug 5 09:10:49 pi-hole ntpd[856]: Listen and drop on 0 v6wildcard [::]:123
Aug 5 09:10:49 pi-hole ntpd[856]: Listen and drop on 1 v4wildcard 0.0.0.0:123
Aug 5 09:10:49 pi-hole ntpd[856]: Listen normally on 2 lo 127.0.0.1:123
Aug 5 09:10:49 pi-hole ntpd[856]: Listen normally on 3 eth0 192.168.1.85:123
Aug 5 09:10:49 pi-hole ntpd[856]: Listen normally on 4 lo [::1]:123
Aug 5 09:10:49 pi-hole ntpd[856]: Listen normally on 5 eth0 [fe80::f5ea:7663:4ec:784d%2]:123
Aug 5 09:10:49 pi-hole ntpd[856]: Listening on routing socket on fd #22 for interface updates
Aug 5 09:10:49 pi-hole root: Finished force syncing NTP...
Funktioniert nicht mit minimalem Raspbian: Failed to start ntp.service: Unit ntp.service not found.Und ntpd gibt es auch nicht. Der Pi gewinnt definitiv Zeit. (Ich prüfe dies, weil meine HTTPS-Locken ohne -k fehlschlagen, wenn sie zuvor ausgeführt wurden)
Steven Lu
@StevenLu - Ich aktualisiere die A'er, um auch die Installation von ntp einzuschließen.
Slm
@StevenLu -apt-get install ntp
slm
1
Sie müssen ntp nicht verwenden, um das Problem zu lösen. Es gibt ein Skript, das das Datum von einem Server liest, und Sie müssen nur das Datum als Ergebnis dieses Skripts festlegen (Ihr Raspberry Pi muss mit dem Internet verbunden sein). Dann müssen Sie diesen Befehl beim Start ausführen.
Schritt 1: Rufen Sie das Datum von einem Server ab.
Antworten:
Mach ein
apt-get install ntpdate
.ntpdate
wird ausgeführt, wenn eine Ethernet-Schnittstelle gestartet wird, und stellt die Zeit von einem NTP-Server ein (siehe/etc/default/ntpdate
).Wenn ausgeführt
ntpd
wird, führt ntpdate keine Aktionen aus, wird jedochntpdate
vor demntpd
Booten ausgeführt. Dies sollte also funktionieren, um die Zeit beim Booten festzulegen, solange eine Ethernet-Verbindung besteht.quelle
Linux raspberrypi 4.14.30-v7+ #1102 SMP Mon Mar 26 16:45:49 BST 2018 armv7l GNU/Linux
hatte es auch nicht.Wenn Ihre Uhr weit entfernt ist, müssen Sie möglicherweise die Synchronisierung von ntp erzwingen, indem Sie folgende Schritte ausführen:
quelle
Nach der Suche hat diese Methode für mich funktioniert. Wie Sie wissen, ist NTP auf dem Raspberry Pi 3 standardmäßig deaktiviert. Wenn Sie dies einfach eingeben, wird die NTP-Unterstützung aktiviert:
Prüfe Ergebnis mit
timedatectl status
Im Falle einer Warnung müssen Sie möglicherweise auch rennen
sudo timedatectl set-local-rtc true
.quelle
Wenn Sie die Zeitzone im
raspi-config
Raspberry Pi einstellen, wird die Uhrzeit beim Booten automatisch aktualisiert, wenn eine Verbindung zum Internet besteht.sudo raspi-config
Internationalisation Options
I2 Change Timezone
Finish
Yes
um jetzt neu zu startenquelle
I2 Change Timezone
Option gibt es nicht mehrSiehe Forenbeitrag Die Uhrzeit wird auf Pi 3 und mit dem offiziellen Dongle nicht synchronisiert .
ntpd sendet IP / UDP-Pakete mit dem ToS-Feld 0xc0. Das ist also ziemlich ähnlich zu dem anderen Problem, das ich (und viele andere) mit Raspberry Pi3 habe, wenn es über eine interne Wi-Fi-Schnittstelle betrieben wird.
Fügen Sie als Problemumgehung den Befehl hinzu
in die Datei
vor der Ausfahrt 0 Linie. Als nächstes starten und prüfen.
quelle
Die Uhrzeit sollte bereits aktualisiert sein. Der NTPD-Server sollte direkt nach der Auslagerungsdatei und vor der SSHD gestartet werden.
Überprüfen Sie Ihre Datei /etc/ntp.conf, um sicherzustellen, dass sie konfiguriert ist.
Es sollte mindestens ein Server aufgelistet sein. Ich benutze time.nrc.ca für meinen Server.
Die Handbuchseite für ntp.conf finden Sie hier: http://linux.die.net/man/5/ntp.conf
quelle
Der Rasberry Pi meines Sohnes hat die Time-out-of-the-Box nicht aktualisiert, und nachdem ich alle obigen Vorschläge ausprobiert hatte, konnte ich ihn manuell, aber nicht automatisch aktualisieren lassen. Nachdem ich auch anderswo erfolglos nachgesehen hatte, stellte ich fest, dass in der mit dem Rasberry Pi gelieferten Datei ntp.conf die folgenden Zeilen auskommentiert waren:
ich benutzte
im terminal zum editieren der ntp conf datei soll nun sein:
Das hat das Problem für uns gelöst. Es wird sowohl mit dem WLAN- als auch mit dem Ethernet-Kabel aktualisiert. Ich weiß nicht, ob es mit WiFi aktualisiert werden würde, ohne die oben vorgeschlagene Änderung an rc.local vorzunehmen, da ich diese Änderung bereits vorgenommen und nicht rückgängig gemacht habe, als ich die oben genannte Lösung gefunden habe.
quelle
Ich fand die
timedatectl
Anwendung, um mir zu helfen, wenn ich ein ähnliches Problem hatte. Es ist standardmäßig installiert und '--help' gibt einen ziemlich guten und einfachen Überblick über die Verwendung des Tools.Hinweis: Stellen Sie sicher, dass Ihre Zeitzone richtig eingestellt ist, was auch mit diesem Tool möglich ist.
quelle
Dies ist der Ansatz, den ich letztendlich eingeschlagen habe. Viele dieser Antworten schienen auf Dinge hinzudeuten, die ich auf meinem Raspian-System nicht überprüft habe:
In den Protokollen
timedatectl
war nichtsntp
vermerkt, was darauf hinwies, dass etwas unternommen wurde oder dass die Netzwerkkarte in Betrieb war oder dass NTPD sogar installiert / konfiguriert wurde.Am Ende habe ich nur folgendes zu meinem hinzugefügt
/etc/rc.local
:Und installiert
ntp
:Was dazu führt, ist
/var/log/syslog
:quelle
Failed to start ntp.service: Unit ntp.service not found.
Und ntpd gibt es auch nicht. Der Pi gewinnt definitiv Zeit. (Ich prüfe dies, weil meine HTTPS-Locken ohne -k fehlschlagen, wenn sie zuvor ausgeführt wurden)apt-get install ntp
Sie müssen ntp nicht verwenden, um das Problem zu lösen. Es gibt ein Skript, das das Datum von einem Server liest, und Sie müssen nur das Datum als Ergebnis dieses Skripts festlegen (Ihr Raspberry Pi muss mit dem Internet verbunden sein). Dann müssen Sie diesen Befehl beim Start ausführen.
Schritt 1: Rufen Sie das Datum von einem Server ab.
Schritt 2: Führen Sie den Befehl beim Start aus, indem Sie ihn zur Datei hinzufügen
/etc/rc.local
(Worked on Ubuntu 16.04).CREDITS:
1- https://askubuntu.com/a/655528/572294
2- https://askubuntu.com/a/1199/572294
quelle
Ich verwende Folgendes für das Standard-Image, um die Zeit zu synchronisieren, ohne zusätzliche Pakete zu installieren:
quelle