A Raspberry Pi-ben nincs hardveróra. Hogyan kényszeríthetem az NTPD-t, hogy minden indítás után frissítse a dátumot és az időt?

Raspbian fut és a Raspberry Pi a egy Ethernet kábelt.

Megjegyzések

  • Az enyém már ezt csinálja a doboz. Milyen diszkót használ?
  • Raspbian Wheezy
  • A @Thorb Pi csatlakozik az Ethernet kábelhez / dhcp-hez. Indítás után egyszerűen nem kap érvényes dátumot, eltart egy ideig (10–45 perc)
  • Pár perc múlva automatikusan megteszi. Győződjön meg arról, hogy a Nemzeti Óránál a Time.nist.gov mesterórát használta a leírás szerint. itt: raspberrypi.stackexchange.com/questions/68811/…
  • Úgy tűnik, hogy nem az ember még mindig kielégítően válaszolt erre a kérdésre – azaz hogyan kell szinkronizálni az időt az NTP-n keresztül egy rendszerindítás után (azaz újraindítás nélkül).

Válasz

Utána körülnézve ez a módszer nekem bevált. Mint tudják, a Raspberry Pi 3 alapértelmezés szerint le van tiltva az NTP-vel. Tehát csak ennek beírásával engedélyezni fogja az NTP támogatást:

sudo timedatectl set-ntp True 

Ellenőrizze az eredményt a timedatectl status

Figyelmeztetés esetén előfordulhat, hogy a sudo timedatectl set-local-rtc true parancsot is futtatnia kell.

Megjegyzések

  • Köszönöm, ez végül kisegített, és a korábbi válaszok ellenére is a helyes útnak tűnik.
  • Ez a legjobb válasz, nagyon sokat segített nekem. A ‘ sudo ‘ használatával elkerülheti a jelszó beírását (hasznos az azt futtató szkripteknél). Mi a célja a másodperc parancsnak? set-local-rtc

válasz

Végezzen egy apt-get install ntpdate .

ntpdate akkor fog futni, amikor egy Ethernet interfész előkerül, és beállítja az időt egy ntp szerverről (lásd: /etc/default/ntpdate).

Ha az ntpd fut, az ntpdate nem tesz semmit, azonban a ntpdate a indításkor – tehát ennek ki kell derülnie az indításkor az idő beállítására, amennyiben van Ethernet kapcsolat.

Megjegyzések

  • a Raspbian állomány mindez már megvan.
  • @scruss az enyém nem ‘ t. (2013-02-09 wheezy rasbian)
  • Az enyémnek sem volt, manuálisan kellett csinálnia.
  • Ha helyesen van beállítva, akkor automatikusan megteszi – bár ez néhány percet igénybe vehet.
  • Linux raspberrypi 4.14.30-v7+ #1102 SMP Mon Mar 26 16:45:49 BST 2018 armv7l GNU/Linux nem volt ‘ ez sem.

Válasz

Ha az órád távol van, akkor a következő módon kell kényszerítened az ntp-t a szinkronizálásra:

sudo /etc/init.d/ntp stop sudo ntpd -q -g sudo /etc/init.d/ntp start 

Megjegyzések

  • A ” sudo: ntpd: parancsot nem találta ”
  • ntpd kell telepítve van a parancs használatához
  • telepítve van , nem vagyok olyan tudatlan 🙂
  • Látogasson el a raspberrypi.stackexchange.com/questions/47542/… ? Részleteket tettem közzé ott.
  • Ez abszolút megoldotta a problémámat, de ideiglenesnek találtam, amíg újra nem indítottam. Végül hibát fogtam el a leállítás során, amely nem tudta ‘ frissíteni a hwclock-ot, mert a hw órának volt egy jövőbeli dátuma (fogalmam sincs, hogy történt ez). De a megoldás a hwclock frissítési erő volt. Ez kényszerítette a hamis hardveróra frissítését, majd indításkor az idő legalább közel volt az aktuálishoz, így az ntp ‘ feladatát normálisan megtehette.

Válasz

Ha az időzónát a raspi-config mezőbe állítja, a Raspberry Pi automatikusan frissíti a indításkor töltött idő, ha csatlakozik az internethez.

  1. sudo raspi-config
  2. Válassza a Internationalisation Options
  3. Válasszon I2 Change Timezone
  4. Válassza ki földrajzi területét
  5. Válassza ki a legközelebbi várost
  6. Válassza a Finish
  7. Válassza az Yes lehetőséget az újraindításhoz

Megjegyzések

  • ez nekem jól sikerült
  • I2 Change Timezone opció nem ‘ t már létezik
  • létezik, legalábbis a Raspbian Buster-ben.
  • ” Nemzetköziesítési lehetőségek ” az most ” lokalizációs beállítások ”
  • ” legközelebbi város ” nem a megfelelő módszer. ki kell választania azt a várost, ahová az időzónája tartozik, amely lehet a legközelebbi, vagy sem …

Válasz

Fórumbejegyzés megtekintése Idő nem szinkronizálódik a Pi 3-on és a hivatalos hardverkulccsal .

ntpd IP / UDP csomagokat bocsát ki a A ToS mező értéke 0xc0. Tehát ez meglehetősen hasonlít a Raspberry Pi3-mal kapcsolatos problémámhoz, amelyet nekem (és még sokan mások) a Wi-Fi belső interfészen keresztül üzemeltetnek.

Megkerülő megoldásként adja hozzá a

/sbin/iptables -t mangle -I POSTROUTING 1 -o wlan0 -p udp --dport 123 -j TOS --set-tos 0x00 

a fájlba

/etc/rc.local 

a 0-as kilépés előtt. Ezután indítsa újra és ellenőrizze.

Megjegyzések

  • Ugyanaz a probléma merült fel, mint az XMas-hoz kapott RPi3 telepítése, és megoldotta a problémámat. Remek !!!

Válasz

Ez a kérdés nyilvánvalóan ” valamilyen okból újrahasznosított “, ezért helyénvalónak tűnik néhány régi válasz újrahasznosítása is 🙂

Az év most 2021 …

Ezt a kérdést 2013-ban tették fel. ntpd a Raspbian terjesztésben szereplő időmérő szoftver volt (wheezy) . Ez azonban megváltozott a stretch terjesztéssel 2017-ben, amikor a systemd-timesyncd váltotta fel a ntpd helyet. A változás okait és a technikai kompromisszumok egy részét ebben a régi válaszban tárgyaltuk azok számára, akiket érdekelnek ilyen dolgok.

Az itt feltett kérdés tekintetében a jelenlegi környezet talán legkiemelkedőbb pontja (post- systemd) ez: Ha úgy dönt, hogy a (z) ntpd terméket telepíti a jelenlegi Raspbian-terjesztése alá, akkor tudja, hogy systemd-timesyncd helyesen fog cselekedni ” “! Ellenőrzi, hogy vannak-e más NTP démonok, és ennek megfelelően állítja be viselkedését; egyszerűen működik . A parancssorba beírva mindent elolvashat róla.

$ systemctl cat systemd-timesyncd 

Vegye figyelembe az utolsó sorokat:

# ne futtassa a Timesyncd fájlt, ha újabb NTP démon van telepítve
ConditionFileIsExecutable =! / usr / sbin / ntpd
ConditionFileIsExecutable =! / usr / sbin / openntpd
ConditionFileIsExecutable =! / Usr / sbin / chronyd
ConditionFileIsExecutable =! / Usr / sbin / VBoxService

Más szavakkal: systemd-timesyncd ellenőrzi, hogy az alternatív időszolgáltatások bármelyike fut-e a rendszerén, és ha igen, akkor udvariasan elhalasztja őket az időmérési szolgáltatások biztosításáért.

” kényszeríteni a ” ntpd frissítést a rendszerindítás után ?!

Ez volt az OP kérdése. A válasz (2021-ben) nem változott: Ezt nem szükséges megtenni egyetlen RPi rendszeren sem – hacsak valaki nem változtatta meg az alapértelmezett konfigurációt ! Ezt a következőképpen ellenőrizheti:

 $ 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  

Két elemet vegyen figyelembe:

  1. System clock synchronized: yes
  2. NTP service: active

Az 1. tétel azt mondja, hogy a rendszer órája szinkronizálva van az alapértelmezett időforrással, a 2. tétel pedig majdnem igaz abban az értelemben, hogy az RPi alapértelmezés szerint a SNTP protokollt használja a NTP ( REF ); azaz ez azt jelenti, hogy az RPi-nek van időforrása, és használja.

Úgy gondolom, hogy mindez szükséges egy aktuális dátumválasz 2021-re , kivéve ezt: olvassa el az man timedatectl részt, ha többet szeretne megtudni a képességeiről, vagy ha a TLDR ennek az oldalnak megfelelő összefoglalója van.

Megjegyzések

  • A rendszer óra szinkronban van: nem
  • @Arrow_Raider: Yer ‘ pont lényege ???

Válasz

Már frissítenie kell az időt. Az NTPD szervernek közvetlenül a cserefájl után és az SSHD előtt kell elindulnia.

Ellenőrizze az /etc/ntp.conf fájlt, hogy megbizonyosodjon róla, hogy konfigurálva van.

Legalább egy szervert fel kell sorolnia. A time.nrc.ca fájlt használom a szerverem számára.

Az ntp.conf kézikönyv oldala itt található: http://linux.die.net/man/5/ntp.conf

Válasz

A fiam Rasberry Pi nem frissíti az időt a dobozból, és megpróbálja az összes fenti javaslatot elérhettem, hogy manuálisan frissítsem, de nem automatikusan. Végül, miután sikertelenül máshova néztem, azt tapasztaltam, hogy az ntp.A Rasberry Pi-hez kapott conf fájl a következő sorokat kommentálta:

#restrict 127.0.0.1 #restrict ::1 

Használtam

sudo nano /etc/ntp.conf 

a terminálon az ntp conf fájl szerkesztéséhez:

# Local users may interrogate the ntp server more closely. restrict 127.0.0.1 restrict ::1 

Ez megoldotta számunkra a problémát. A WiFi és az Ethernet kábellel egyaránt frissül. Nem tudom, hogy frissül-e a WiFi-vel a fent javasolt rc.local változtatás nélkül, mivel mire megtaláltam a fenti megoldást, már elvégeztem ezt a változást, és nem vontam vissza.

Válasz

Úgy találtam, hogy a timedatectl alkalmazás segítségemre volt, amikor hasonló problémám volt. alapértelmezés szerint telepítve van, és a “–help” elég jó és egyszerű áttekintést nyújt az eszköz használatáról.

Megjegyzés: ellenőrizze, hogy az időzónája megfelelően van-e beállítva, amire ez az eszköz is képes.

Válasz

A probléma megoldásához nem kell az ntp-t használni. Van egy szkript, amely a dátumot kiolvassa egy szerverről, és csak a szkript eredményének kell beállítania a dátumot (a Raspberry Pi-t csatlakoztatnia kell az internethez). Ezután indításkor futtatnia kell a parancsot.

1. lépés: A dátum lekérése egy szerverről.

sudo date -s "$(wget -qSO- --max-redirect=0 google.com 2>&1 | grep Date: | cut -d" " -f5-8)Z" 

2. lépés: Indításkor futtassa a parancsot úgy, hogy hozzáadja a /etc/rc.local fájlhoz (az Ubuntu 16.04-en működött).

sudo gedit /etc/rc.local 

HITELEK:

1- https://askubuntu.com/a/655528/572294

2- https://askubuntu.com/a/1199/572294

Megjegyzések

  • Előfordulhat, hogy nem kell használnia a ntp de meg kell. ‘ jobb, gyorsabb, pontosabb és az ipari szabvány. Ne ‘ ne alkosson saját furcsa dolgokat, ha jó szabványok léteznek.
  • Ez nem sokat segít ‘ ha a RasPi a hét minden napján, 24 órán át fut.

Válasz

Hasonló problémám volt, amikor a Pi nem szinkronizált . Ezen megoldások egyike sem működött. Kiderült, hogy a hálózati környezetem blokkolta az NTP portot (123). Számomra a megoldást

sudo apt install htpdate 

vették: https://www.raspberrypi.org/forums/viewtopic.php?t=222236

Amely a rendszer óráját frissíti HTTP hívásokkal. ez a megközelítés, amelyet végül alkalmaztam. Úgy tűnt, hogy ezek közül a válaszok közül sok olyan dolgot jelzett, amelyet éppen nem néztek meg, amikor megnéztem a Raspian rendszeremet:

$ 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" 

Semmi sem jelent meg a naplókban, jelezve hogy timedatectl bármit csinált, vagy hogy ntp szinkronizálta a hálózati kártya felfelé állapotát, vagy hogy az NTPD-t még telepítették / konfigurálták is.

Végül csak hozzáadtam ezt a /etc/rc.local -hez:

$ cat /etc/rc.local logger "Beginning force syncing NTP..." service ntp stop ntpd -gq service ntp start logger "Finished force syncing NTP..." 

És telepítettem ntp:

$ sudo apt-get install ntp 

Ebből az következik, hogy /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... 

Megjegyzések

  • Nem működnek ‘ minimális raspbian-on: Failed to start ntp.service: Unit ntp.service not found. És az ntpd nem létezik ‘ sem. A Pi mindenképpen időt nyer. (Én ‘ ezt azért keresem, mert a HTTPS-fürtjeim -k nélkül sikertelenek, ha azt megelőzően futtatom)
  • @StevenLu – I ‘ ll frissítse az A ‘ ert, hogy tartalmazza az ntp telepítését is.
  • @StevenLu – apt-get install ntp

Válasz

Az alábbiakat használom az alapértelmezett képen az idő szinkronizálásához további csomagok telepítése nélkül:

timedatectl set-local-rtc 0 timedatectl set-ntp 1 timedatectl status 

Válasz

Ezt valahol az interwebeken találtam. Úgy tűnik, hogy működik a Buster-en:

sudo timedatectl set-ntp false && sudo timedatectl set-time "$(date --iso-8601=seconds | cut -d "+" -f1 | tr T " ")" && sudo timedatectl set-ntp true 

Nem vagyok biztos benne, hogy a köztes parancs (set-time) valóban szükséges.

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük