De Raspberry Pi heeft geen hardwareklok. Hoe dwing ik NTPD om de datum / tijd onmiddellijk na elke keer opstarten bij te werken?
Ik “m running Raspbian en de Raspberry Pi is verbonden met een Ethernet -kabel.
Reacties
- De mijne doet dat al vanuit de box. Welke disto gebruik je?
- Raspbian Wheezy
- @Thorb Pi is verbonden met ethernetkabel / dhcp. Het krijgt gewoon geen geldige datum na het opstarten, het duurt even (10 tot 45 minuten)
- Het zal het automatisch doen, na een paar minuten. Zorg ervoor dat je het hebt ingesteld om de Master Clock te gebruiken bij het National Bureau of Standards, time.nist.gov zoals beschreven hier: raspberrypi.stackexchange.com/questions/68811/…
- Het lijkt erop dat er geen men heeft deze vraag nog naar tevredenheid beantwoord – dwz hoe u de tijd synchroniseert via NTP na een boot (dwz zonder opnieuw opstarten).
Answer
Na rondkijken, deze methode werkte voor mij. Zoals je weet, heeft de Raspberry Pi 3 NTP standaard uitgeschakeld. Dus door dit gewoon te typen, wordt de NTP-ondersteuning ingeschakeld:
sudo timedatectl set-ntp True
Controleer het resultaat met timedatectl status
In het geval van een waarschuwing, moet u mogelijk ook sudo timedatectl set-local-rtc true
uitvoeren.
Reacties
- Bedankt, dit heeft me eindelijk geholpen, en het lijkt de juiste manier te zijn, ondanks eerdere antwoorden.
- Dat is het beste antwoord, het heeft me veel geholpen. U kunt ‘ sudo ‘ gebruiken om te voorkomen dat u uw wachtwoord moet typen (handig voor scripts die het uitvoeren). Wat is het doel van het secondencommando? set-local-rtc
Antwoord
Doe een apt-get install ntpdate
.
ntpdate
wordt uitgevoerd wanneer een Ethernet-interface wordt geopend, en stelt de tijd in vanaf een ntp-server (zie /etc/default/ntpdate
).
Als ntpd
actief is, zal ntpdate niets doen, maar ntpdate
zal eerder worden uitgevoerd dan ntpd
bij het opstarten – dus dit zou moeten zijn om de tijd bij het opstarten in te stellen zolang er een Ethernet-verbinding is.
Opmerkingen
- voorraad Raspbian zal dit allemaal al hebben.
- @scruss mine didn ‘ t. (09-02-2013 wheezy rasbian)
- De mijne deed het ook niet, moest het handmatig doen.
- Als het correct is ingesteld, zal het automatisch gebeuren – hoewel het een paar minuten kan duren.
-
Linux raspberrypi 4.14.30-v7+ #1102 SMP Mon Mar 26 16:45:49 BST 2018 armv7l GNU/Linux
heeft ‘ het ook niet.
Antwoord
Als uw klok ver weg staat, moet u wellicht ntp forceren om te synchroniseren door:
sudo /etc/init.d/ntp stop sudo ntpd -q -g sudo /etc/init.d/ntp start
Opmerkingen
- Het geeft een foutmelding ” sudo: ntpd: commando niet gevonden ”
- ntpd moet geïnstalleerd om het commando te gebruiken
- Het is geïnstalleerd, ik ben niet zo onwetend 🙂
- Kunt u raspberrypi.stackexchange.com/questions/47542/… ? Ik heb daar details gepost.
- Dit was absoluut de oplossing voor mijn probleem, maar ik vond het tijdelijk totdat ik opnieuw opstartte. Uiteindelijk kreeg ik een foutmelding bij het afsluiten dat het ‘ de hwclock niet kon updaten omdat de hw-klok een toekomstige datum had (geen idee hoe dat gebeurde). Maar de oplossing was een update-kracht van hwclock. Dat dwong de update naar de nep-hardwareklok en bij het opstarten was de tijd op zijn minst dicht bij de huidige tijd, zodat ntp het normaal ‘ s taak kon doen.
Answer
Als u de tijdzone instelt in raspi-config
, zal de Raspberry Pi automatisch de tijd bij het opstarten, indien verbonden met internet.
-
sudo raspi-config
- Selecteer
Internationalisation Options
- Selecteer
I2 Change Timezone
- Selecteer uw geografische gebied
- Selecteer uw dichtstbijzijnde stad
- Selecteer
Finish
- Selecteer
Yes
om nu opnieuw op te starten
Opmerkingen
- dit werkte goed voor mij
-
I2 Change Timezone
optie werkt niet ‘ t bestaat niet meer - Het bestaat, althans in Raspbian Buster.
- ” Internationaliseringsopties ” is heet nu ” Lokalisatie-opties ”
- ” dichtstbijzijnde stad ” is niet de juiste manier. u moet de stad selecteren waar uw tijdzone thuishoort, deze kan de dichtstbijzijnde zijn of niet …
Antwoord
Zie forumbericht Tijd synchroniseert niet op Pi 3 en met officiële dongle .
ntpd zendt IP / UDP-pakketten uit met de ToS-veld ingesteld op 0xc0. Dus dat is vrij gelijkaardig aan het andere probleem dat ik (en vele anderen) heb met Raspberry Pi3 bij gebruik via een interne Wi-Fi-interface.
Voeg als tijdelijke oplossing de opdracht toe
/sbin/iptables -t mangle -I POSTROUTING 1 -o wlan0 -p udp --dport 123 -j TOS --set-tos 0x00
naar het bestand
/etc/rc.local
voor de regel met uitgang 0. Start vervolgens opnieuw op en controleer.
Opmerkingen
- Ik had hetzelfde probleem als toen ik de RPi3 installeerde die ik voor XMas had, en jij loste mijn probleem op. Geweldig !!!
Antwoord
Deze vraag is blijkbaar ” gerecycled ” om de een of andere reden, en daarom lijkt het gepast om ook enkele oude antwoorden te recyclen 🙂
Het jaar is nu 2021 …
Deze vraag werd gesteld in 2013. ntpd
was de tijdregistratiesoftware die was opgenomen in de Raspbian-distributie op dat moment (wheezy
) . Dat veranderde echter met de stretch
distributie in 2017 toen systemd-timesyncd
ntpd
verving. De redenen voor deze wijziging en enkele technische afwegingen werden besproken in dit oude antwoord voor degenen die in dergelijke dingen geïnteresseerd zijn.
Met betrekking tot de vraag hier, misschien wel het meest opvallende punt in de huidige omgeving (post- systemd
) is dit: als u besluit ntpd
onder uw huidige Raspbian-distributie te installeren, weet dan dat systemd-timesyncd
zal ” het juiste doen “! Het controleert op de aanwezigheid van andere NTP-daemons en past zijn gedrag dienovereenkomstig aan; het werkt gewoon . U kunt er alles over lezen door dit op de opdrachtregel in te voeren:
$ systemctl cat systemd-timesyncd
Let op de laatste paar regels:
# draai geen timesyncd als we een andere NTP-daemon hebben geïnstalleerd
ConditionFileIsExecutable =! / usr / sbin / ntpd
ConditionFileIsExecutable =! / usr / sbin / openntpd
ConditionFileIsExecutable =! / Usr / sbin / chronyd
ConditionFileIsExecutable =! / Usr / sbin / VBoxService
Met andere woorden: systemd-timesyncd
controleert of een van deze alternatieve tijdservices actief is op uw systeem, en als dat het geval is, stelt het hen beleefd uit voor het leveren van uw tijdregistratieservices.
” forceer ” ntpd
om te updaten na opstarten ?!
Dit was het OP “s vraag. Het antwoord (in 2021) is niet “gewijzigd: Het zou niet nodig moeten zijn om dit op een RPi-systeem te doen – tenzij iemand de standaardconfiguratie heeft gewijzigd ! U kunt dit als volgt verifiëren:
$ timedatectl Local time: Wed 2021-01-13 00:25:33 GMT Universal time: Wed 2021-01-13 00:25:33 UTC RTC time: n/a Time zone: Europe/London (GMT, +0000) System clock synchronized: yes NTP service: active RTC in local TZ: no
Let op twee items:
-
System clock synchronized: yes
-
NTP service: active
Item 1. vertelt u dat uw systeemklok is gesynchroniseerd met wat de standaard tijdbron ook is, en item 2. is bijna waar omdat RPi standaard het SNTP
-protocol gebruikt in plaats van NTP
( REF ); dwz dit betekent dat RPi een tijdsbron heeft en deze gebruikt.
Ik denk dat dit alles is wat nodig is voor een up-to- datumantwoord voor 2021 , behalve dit: lees man timedatectl
voor meer informatie over de mogelijkheden, of als TLDR deze pagina een behoorlijke samenvatting heeft.
Reacties
- Systeemklok gesynchroniseerd: nee
- @Arrow_Raider: Yer ‘ punt is ???
Antwoord
De tijd zou al moeten worden bijgewerkt. De NTPD-server moet net na het wisselbestand en vóór SSHD starten.
Controleer uw /etc/ntp.conf-bestand om er zeker van te zijn dat het geconfigureerd is.
Het moet minstens één server vermelden. Ik gebruik time.nrc.ca voor mijn server.
De handmatige pagina voor ntp.conf is hier: http://linux.die.net/man/5/ntp.conf
Antwoord
De Rasberry Pi van mijn zoon zou de tijd niet automatisch updaten en na het proberen alle bovenstaande suggesties kon ik ervoor zorgen dat het handmatig werd bijgewerkt, maar niet automatisch.Tenslotte, na ook zonder succes ergens anders te hebben gezocht, ontdekte ik dat de ntp.conf-bestand dat bij de Rasberry Pi werd geleverd, bevatte de volgende regels:
#restrict 127.0.0.1 #restrict ::1
Ik gebruikte
sudo nano /etc/ntp.conf
in de terminal om het ntp conf-bestand nu te bewerken:
# Local users may interrogate the ntp server more closely. restrict 127.0.0.1 restrict ::1
Dat loste het probleem voor ons op. Het wordt bijgewerkt met zowel de wifi- als de ethernetkabel. Ik weet niet of het zou updaten met wifi zonder de hierboven voorgestelde wijziging naar rc.local, want tegen de tijd dat ik de bovenstaande oplossing vond, had ik die wijziging al aangebracht en heb ik deze niet ongedaan gemaakt.
Answer
Ik vond de timedatectl
applicatie om me te helpen als ik een soortgelijk probleem had. Het is standaard geïnstalleerd en “–help” geeft een redelijk goed en eenvoudig overzicht van het gebruik van de tool.
Opmerking: zorg ervoor dat uw tijdzone correct is ingesteld, wat deze tool ook kan doen.
Answer
U hoeft geen ntp te gebruiken om het probleem op te lossen. Er is een script dat de datum van een server leest en je hoeft alleen de datum in te stellen als het resultaat van dat script (je Raspberry Pi moet verbonden zijn met internet). Vervolgens moet je dat commando uitvoeren bij het opstarten.
Stap1: Haal de datum op van een server.
sudo date -s "$(wget -qSO- --max-redirect=0 google.com 2>&1 | grep Date: | cut -d" " -f5-8)Z"
Stap 2: Voer het commando uit bij het opstarten door het toe te voegen aan het bestand /etc/rc.local
(Werkte aan Ubuntu 16.04).
sudo gedit /etc/rc.local
CREDITS:
1- https://askubuntu.com/a/655528/572294
2- https://askubuntu.com/a/1199/572294
Reacties
- Het kan zijn dat je
ntp
maar dat zou je moeten doen. Het ‘ is beter, sneller, nauwkeuriger en voldoet aan de industriestandaard. Verzin geen ‘ je eigen rare dingen als er goede standaarden bestaan. - Het helpt niet veel ‘ als je RasPi 24/7 draait.
Antwoord
Ik had een soortgelijk probleem met een Pi die niet synchroniseerde . Geen van deze oplossingen werkte. Blijkt dat mijn netwerkomgeving de NTP-poort (123) blokkeerde. De oplossing voor mij was
sudo apt install htpdate
overgenomen van: https://www.raspberrypi.org/forums/viewtopic.php?t=222236
Die de systeemklok bijwerkt via HTTP-oproepen.
Antwoord
Dit is de aanpak die ik uiteindelijk heb gekozen. Veel van deze antwoorden leken dingen aan te duiden die gewoon niet klopten toen ik naar mijn Raspian-systeem keek:
$ 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"
Ik had niets dat in de logboeken verscheen die aangaven dat timedatectl
iets deed, of dat ntp
aan het synchroniseren was in de up-status van de NIC, of dat NTPD zelfs geïnstalleerd / geconfigureerd was.
Uiteindelijk heb ik dit alleen maar toegevoegd aan mijn /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..."
en geïnstalleerd ntp
:
$ sudo apt-get install ntp
Wat resulteert in /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...
Reacties
- Werkt niet ‘ op minimale raspbian:
Failed to start ntp.service: Unit ntp.service not found.
En ntpd bestaat ook niet ‘ t. De Pi wint uiteindelijk zeker tijd. (Ik ‘ ben hier naar aan het onderzoeken omdat mijn HTTPS-curls mislukken zonder -k als ze daarvoor worden uitgevoerd) - @StevenLu – I ‘ Ik werk de A ‘ er bij om ook de installatie van ntp op te nemen.
- @StevenLu –
apt-get install ntp
Answer
Ik gebruik het volgende op de standaardafbeelding om de tijd te synchroniseren zonder extra pakketten te installeren:
timedatectl set-local-rtc 0 timedatectl set-ntp 1 timedatectl status
Antwoord
Ik heb dit ergens op de interwebs gevonden. Lijkt te werken op Buster:
sudo timedatectl set-ntp false && sudo timedatectl set-time "$(date --iso-8601=seconds | cut -d "+" -f1 | tr T " ")" && sudo timedatectl set-ntp true
Ik “weet niet zeker of het tussenliggende commando (set-time
) echt is nodig.