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.

  1. sudo raspi-config
  2. Selecteer Internationalisation Options
  3. Selecteer I2 Change Timezone
  4. Selecteer uw geografische gebied
  5. Selecteer uw dichtstbijzijnde stad
  6. Selecteer Finish
  7. 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:

  1. System clock synchronized: yes
  2. 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.

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *