Dem Raspberry Pi fehlt eine Hardware-Uhr. Wie erzwinge ich, dass NTPD unmittelbar nach jedem Start Datum und Uhrzeit aktualisiert?
Ich verwende Raspbian und der Raspberry Pi ist über ein Ethernet- Kabel verbunden.
Dem Raspberry Pi fehlt eine Hardware-Uhr. Wie erzwinge ich, dass NTPD unmittelbar nach jedem Start Datum und Uhrzeit aktualisiert?
Ich verwende Raspbian und der Raspberry Pi ist über ein Ethernet- Kabel verbunden.
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 jedoch ntpdate
vor dem ntpd
Booten ausgeführt. Dies sollte also funktionieren, um die Zeit beim Booten festzulegen, solange eine Ethernet-Verbindung besteht.
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:
sudo /etc/init.d/ntp stop
sudo ntpd -q -g
sudo /etc/init.d/ntp start
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
.
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 startenI2 Change Timezone
Option gibt es nicht mehr
Siehe 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
/sbin/iptables -t mangle -I POSTROUTING 1 -o wlan0 -p udp --dport 123 -j TOS --set-tos 0x00
in die Datei
/etc/rc.local
vor der Ausfahrt 0 Linie. Als nächstes starten und prüfen.
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
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 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.
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:
$ cat /etc/os-release
PRETTY_NAME="Raspbian GNU/Linux 9 (stretch)"
NAME="Raspbian GNU/Linux"
VERSION_ID="9"
VERSION="9 (stretch)"
ID=raspbian
ID_LIKE=debian
HOME_URL="http://www.raspbian.org/"
SUPPORT_URL="http://www.raspbian.org/RaspbianForums"
BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs"
In den Protokollen timedatectl
war nichts ntp
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
:
$ 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 4.2.8p10@1.3728-o 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 4.2.8p10@1.3728-o 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...
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.
sudo date -s "$(wget -qSO- --max-redirect=0 google.com 2>&1 | grep Date: | cut -d' ' -f5-8)Z"
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).
sudo gedit /etc/rc.local
CREDITS: