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.
-
sudo raspi-config
- Válassza a
Internationalisation Options
- Válasszon
I2 Change Timezone
- Válassza ki földrajzi területét
- Válassza ki a legközelebbi várost
- Válassza a
Finish
- 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:
-
System clock synchronized: yes
-
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.