Vadelma Pi: ltä puuttuu laitteistokello. Kuinka pakotan NTPD: n päivittämään päivämäärän ja kellonajan heti jokaisen käynnistyksen jälkeen?

Käytän Raspbian ja Raspberry Pi on kytketty Ethernet-kaapeli.

Kommentit

  • Minun on jo tehtävä se ulos Mitä distoa käytät?
  • Raspbian Wheezy
  • @Thorb Pi on liitetty ethernet-kaapelilla / dhcp: llä. Se ei yksinkertaisesti saa kelvollista päivämäärää käynnistämisen jälkeen, se kestää jonkin aikaa (10-45 minuuttia)
  • Se tekee sen automaattisesti muutaman minuutin kuluttua. Varmista, että olet asettanut sen käyttämään pääkelloa National Bureau of Standardsissa time.nist.gov kuvatulla tavalla täällä: raspberrypi.stackexchange.com/questions/68811/…
  • Näyttää siltä, että ei tähän kysymykseen on vielä vastattu tyydyttävästi – ts. kuinka synkronoida aika NTP: n kautta käynnistyksen jälkeen (ts. ilman uudelleenkäynnistystä).

Vastaa

Jälkeen etsii ympärilläni, tämä menetelmä toimi minulle. Kuten tiedätte, Raspberry Pi 3: ssa NTP on oletusarvoisesti pois käytöstä. Joten kirjoittamalla vain tämä, NTP-tuki otetaan käyttöön:

sudo timedatectl set-ntp True 

Tarkista tulos timedatectl status

Varoituksen sattuessa joudut ehkä suorittamaan myös sudo timedatectl set-local-rtc true.

Kommentit

  • Kiitos, tämä auttoi minua lopulta ja näyttää olevan oikea tapa edellisistä vastauksista huolimatta.
  • Se on paras vastaus, auttoi minua paljon. Voit käyttää ’ sudo ’ -toimintoa välttääksesi salasanasi kirjoittamisen (hyödyllinen sitä käyttäville komentosarjoille). Mikä on sekuntikomennon tarkoitus? set-local-rtc

vastaus

Tee apt-get install ntpdate .

ntpdate suoritetaan, kun Ethernet-liitäntä otetaan esiin, ja asettaa ajan ntp-palvelimelta (katso /etc/default/ntpdate).

Jos ntpd on käynnissä, ntpdate ei tee mitään, mutta ntpdate suoritetaan ennen ntpd käynnistyksen yhteydessä – joten tämän pitäisi toimia käynnistysajan asettamiseksi niin kauan kuin Ethernet-yhteys on olemassa.

Kommentit

  • varastossa Raspbianilla on jo kaikki tämä.
  • @scruss mine ei ’ t. (02.02.2013 wheezy rasbian)
  • Minun ei myöskään tarvinnut tehdä sitä manuaalisesti.
  • Jos se on asetettu oikein, se tehdään automaattisesti – vaikka se voi viedä muutaman minuutin.
  • Linux raspberrypi 4.14.30-v7+ #1102 SMP Mon Mar 26 16:45:49 BST 2018 armv7l GNU/Linux ei ’ ole sitä myöskään.

Vastaa

Jos kellosi on kaukana, sinun on ehkä pakotettava ntp synkronoimaan tekemällä näin:

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

Kommentit

  • Se palauttaa virheen ” sudo: ntpd: komentoa ei löydy ”
  • ntpd: n on oltava asennettu käyttämään komentoa
  • Se on asennettu, en ole niin tietämätön 🙂
  • Voisitko käydä osoitteessa raspberrypi.stackexchange.com/questions/47542/… ? Olen lähettänyt yksityiskohtia sinne.
  • Tämä oli ehdottomasti ratkaisu ongelmaan, mutta huomasin sen olevan väliaikainen, kunnes käynnistin uudestaan. Lopulta sain virheen sammutuksessa, että se ei voinut ’ päivittää hwclockia, koska hw-kellolla oli tulevaa päivämäärää (ei aavistustakaan kuinka se tapahtui). Mutta ratkaisu oli hwclock-päivitysvoima. Se pakotti päivityksen väärennettyyn laitteistokelloon ja käynnistyksen yhteydessä aika oli ainakin lähellä nykyistä, joten ntp pystyi tekemään sen ’ työssä normaalisti.

vastaus

Jos asetat aikavyöhykkeen kohtaan raspi-config, Vadelma Pi päivittää automaattisesti käynnistyksen aika, jos yhteys Internetiin.

  1. sudo raspi-config
  2. Valitse Internationalisation Options
  3. Valitse I2 Change Timezone
  4. Valitse maantieteellinen alue
  5. Valitse lähin kaupunki
  6. Valitse Finish
  7. Käynnistä uudelleen nyt valitsemalla Yes

kommentit

  • tämä toimi minulle hyvin
  • I2 Change Timezone vaihtoehto ei ’ t ovat enää olemassa
  • Se on olemassa, ainakin Raspbian Busterissa.
  • ” Kansainvälistämisvaihtoehdot ” on kutsutaan nyt ” Lokalisointivaihtoehdot ”
  • ” lähin kaupunki ” ei ole oikea tapa. sinun on valittava kaupunki, johon aikavyöhykkeesi kuuluu, mikä voi olla lähin tai ei …

vastaus

Katso foorumin viesti Aika ei synkronoi Pi 3: lla ja virallisella donglella .

ntpd lähettää IP / UDP-paketteja ToS-kentäksi asetettu 0xc0. Joten se on melko samanlainen kuin toinen asia, joka minulla (ja monilla muilla) on Raspberry Pi3: lla, kun sitä käytetään Wi-Fi-sisäisen käyttöliittymän kautta.

Lisää kiertotapana komento

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

tiedostoon

/etc/rc.local 

ennen exit 0 -riviä. Käynnistä seuraavaksi uudelleen ja tarkista.

Kommentit

  • Minulla oli sama ongelma kuin asensin XMasille saamani RPi3: n, ja sinä ratkaisit ongelmani. Hienoa !!!

Vastaus

Tämä kysymys on ilmeisesti ” kierrätetty ” jostain syystä, joten näyttää myös tarkoituksenmukaiselta kierrättää myös vanhoja vastauksia 🙂

Vuosi on nyt 2021 …

Tämä kysymys esitettiin vuonna 2013. ntpd oli kellonajan ohjelmisto, joka sisältyi Raspbian-jakeluun tuolloin (wheezy) . Se muuttui kuitenkin stretch -jakelulla vuonna 2017, kun systemd-timesyncd korvattiin ntpd. Tämän muutoksen syistä ja joistakin teknisistä kompromisseista keskusteltiin tässä vanhassa vastauksessa niille, jotka ovat kiinnostuneita tällaisista asioista.

Tässä esitetyn kysymyksen osalta ehkä kaikkein merkittävin kohta nykyisessä ympäristössä (post- systemd) on tämä: Jos päätät asentaa ntpd nykyiseen Raspbian-jakeluun, tiedä, että systemd-timesyncd tulee tekemään ” oikein ”! Se tarkistaa muiden NTP-demonien läsnäolon ja säätää käyttäytymistään vastaavasti; se vain toimii . Voit lukea kaiken kirjoittamalla tämän komentoriville:

$ systemctl cat systemd-timesyncd 

Huomaa muutama viimeinen rivi:

# älä suorita timesyncd-tiedostoa, jos meillä on asennettuna toinen NTP-demoni
ConditionFileIsExecutable =! / usr / sbin / ntpd
ConditionFileIsExecutable =! / usr / sbin / openntpd
ConditionFileIsExecutable =! / Usr / sbin / chronyd
ConditionFileIsExecutable =! / Usr / sbin / VBoxService

Toisin sanoen: systemd-timesyncd tarkistaa, onko jokin näistä vaihtoehtoisista aikapalveluista käynnissä järjestelmässäsi, ja jos on, se lykkää kohteliaasti heitä tarjoamaan ajanottopalvelusi.

” pakota ” ntpd päivittämään käynnistämisen jälkeen ?!

Tämä oli OP ”kysymys. Vastaus (vuonna 2021) ei ole muuttunut: Tätä ei tarvitse tehdä missään RPi-järjestelmässä – ellei joku ole muuttanut oletusasetuksia ! Voit tarkistaa tämän seuraavasti:

 $ 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  

Huomaa kaksi kohdetta:

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

Kohde 1. kertoo, että järjestelmän kello on synkronoitu oletusajasta riippumatta, ja kohta 2. on lähes true siinä, että RPi käyttää oletusarvoisesti protokollaa SNTP NTP ( REF ); Toisin sanoen RPi: llä on aikalähde, ja se käyttää sitä.

Luulen, että ”kaikki mitä tarvitaan ajantasaistamiseen päivämäärävastaus vuodelle 2021 , paitsi tämä: lue man timedatectl saadaksesi lisätietoja sen ominaisuuksista tai jos TLDR tällä sivulla on kunnollinen yhteenveto.

Kommentit

  • Järjestelmäkello synkronoitu: ei
  • @Arrow_Raider: Yer ’ kohta on ???

vastaus

Sen pitäisi jo päivittää aikaa. NTPD-palvelimen tulisi käynnistyä heti vaihtotiedoston jälkeen ja ennen SSHD: tä.

Tarkista /etc/ntp.conf -tiedostosi varmistaaksesi, että se on määritetty.

Siinä tulisi olla vähintään yksi palvelin. Käytän palvelimellani time.nrc.ca.

ntp.conf-käsikirja on täällä: http://linux.die.net/man/5/ntp.conf

Vastaa

Poikani Rasberry Pi ei päivittänyt aikaa laatikosta ja yrittänyt kaikki yllä olevat ehdotukset saisin sen päivittymään manuaalisesti, mutta ei automaattisesti. Lopuksi, kun etsin myös muualta ilman menestystä, huomasin, että ntp.Rasberry Pi: n mukana toimitetussa conf-tiedostossa kommentoitiin seuraavat rivit:

#restrict 127.0.0.1 #restrict ::1 

Käytin

sudo nano /etc/ntp.conf 

päätelaitteessa muokkaamaan ntp conf-tiedostoa nykyiseksi:

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

Se ratkaisi ongelman meille. Se päivittyy sekä WiFi- että Ethernet-kaapelilla. En tiedä, päivittyisikö se WiFi: llä ilman yllä ehdotettua rc.local-muutosta, sillä kun löysin yllä olevan ratkaisun, olin jo tehnyt muutoksen enkä ole kumoanut sitä.

Vastaus

Löysin timedatectl -sovelluksen auttamaan minua, kun minulla oli samanlainen ongelma. asennettu oletuksena ja ”–help” antaa melko hyvän ja yksinkertaisen yleiskuvan työkalun käytöstä.

Huomaa: varmista, että aikavyöhyke on asetettu oikein, mikä tämä työkalu voi myös tehdä.

Vastaus

Sinun ei tarvitse käyttää ntp: tä ongelman ratkaisemiseen. On skripti, joka lukee päivämäärän palvelimelta ja sinun tarvitsee asettaa päivämäärä vain kyseisen komentosarjan tulokseksi (Vadelma Pi on liitettävä Internetiin). Sitten sinun on suoritettava komento käynnistyksen yhteydessä.

Vaihe 1: Hae päivämäärä palvelimelta.

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

Vaihe 2: Suorita komento käynnistyksen yhteydessä lisäämällä se tiedostoon /etc/rc.local (toimi Ubuntu 16.04: ssä).

sudo gedit /etc/rc.local 

LUOTOT:

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

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

Kommentit

  • Et ehkä tarvitse käyttää ntp mutta sinun pitäisi. Se ’ on parempi, nopeampi, tarkempi ja alan standardi. Älkää ’ keksi omia outoja asioita, kunhan hyvät standardit ovat olemassa.
  • Se ei auta paljoa ’ jos RasPi on käynnissä ympäri vuorokauden.

Vastaa

Minulla oli samanlainen ongelma Pi: n kanssa, jota ei synkronoitu . Mikään näistä ratkaisuista ei toiminut. Osoittautui, että verkkoympäristöni estää NTP-portin (123). Ratkaisu minulle oli

sudo apt install htpdate 

otettu: https://www.raspberrypi.org/forums/viewtopic.php?t=222236

Mikä päivittää järjestelmän kellon HTTP-puheluiden sijaan.

Vastaa

on lähestymistapa, jonka päädyin käyttämään. Monet näistä vastauksista näyttivät osoittavan asioita, joita ei vain tarkistettu, kun katselin Raspian-järjestelmääni:

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

Minulla ei ollut mitään, mikä näkyi lokeissa että timedatectl oli tekemässä mitään tai ntp synkronoi verkkokortin ylös-tilassa tai että NTPD oli jopa asennettu / määritetty.

Lopulta lisäsin vain tämän /etc/rc.local -kansioon:

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

Ja asensin ntp:

$ sudo apt-get install ntp 

Mistä tämä johtuu /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... 

Kommentit

  • Ei toimi ’ ei toimi vähäisessä raspbianissa: Failed to start ntp.service: Unit ntp.service not found. Ja ntpd ei ole olemassa ’. Pi ehdottomasti saa aikaa. (Olen ’ m tutkimassa tätä, koska HTTPS-käpristykseni epäonnistuvat ilman -k-toimintoa ennen sitä suoritettua)
  • @StevenLu – I ’ ll päivitä A ’ er sisällyttämään myös ntp: n asennus.
  • @StevenLu – apt-get install ntp

Vastaa

Käytän seuraavia oletuskuvassa synkronoimaan aikaa asentamatta lisäpaketteja:

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

vastaus

Löysin tämän jostain verkkoverkoista. Vaikuttaa toimivan Busterissa:

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

En ole varma, onko välikomento (set-time) todella tarvitaan.

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *