Ahududu Pi bir donanım saati yoksundur. NTPD'yi her açılıştan hemen sonra tarih / saati güncellemeye nasıl zorlarım?
Koşuyorum Raspbian ve Ahududu Pi bir kullanılarak bağlandığında Ethernet kablosu.
Ahududu Pi bir donanım saati yoksundur. NTPD'yi her açılıştan hemen sonra tarih / saati güncellemeye nasıl zorlarım?
Koşuyorum Raspbian ve Ahududu Pi bir kullanılarak bağlandığında Ethernet kablosu.
Yanıtlar:
Bir yap apt-get install ntpdate
.
ntpdate
Ethernet arayüzü açıldığında çalışır ve saati bir ntp sunucusundan ayarlar (bkz. /etc/default/ntpdate
).
Eğer ntpd
çalışıyorsa, ntpdate şey yapmaz, ancak ntpdate
öncesinde çalışacak ntpd
açılışında - bu yüzden bu kadar uzun bir Ethernet bağlantısı var olarak açılışında zamanını ayarlamak için dışarı çalışmalıdır.
Linux raspberrypi 4.14.30-v7+ #1102 SMP Mon Mar 26 16:45:49 BST 2018 armv7l GNU/Linux
o da yoktu.
Saatiniz kapalıysa, ntp'yi aşağıdakileri yaparak senkronize etmeye zorlamanız gerekebilir:
sudo /etc/init.d/ntp stop
sudo ntpd -q -g
sudo /etc/init.d/ntp start
Etrafta aradıktan sonra bu yöntem benim için çalıştı. Bildiğiniz gibi, Ahududu Pi 3 NTP'yi varsayılan olarak devre dışı bırakmıştır. Bu nedenle, sadece şunu yazarak, NTP desteği etkinleştirilecektir:
sudo timedatectl set-ntp True
Sonucunu kontrol et timedatectl status
Uyarı durumunda da koşmanız gerekebilir sudo timedatectl set-local-rtc true
.
raspi-config
Ahududu Pi'deki Saat Dilimi ayarını yaparsanız , internete bağlı olmanız durumunda açılıştaki saati otomatik olarak güncelleyeceksiniz.
sudo raspi-config
Internationalisation Options
I2 Change Timezone
Finish
Yes
Şimdi yeniden başlatmak için seçinI2 Change Timezone
seçenek artık mevcut değil
Forum gönderisine bakın Time Pi 3'te ve resmi dongle ile eşitlenmiyor .
ntpd , ToS alanı 0xc0 olarak ayarlanmış durumdayken IP / UDP paketleri yayar. Bu, bir Wi-Fi dahili arayüzü üzerinden kullanıldığında Raspberry Pi3 ile olan diğer sorunlara (ve diğerleri) oldukça benzer.
Çözüm olarak, komutu ekleyin
/sbin/iptables -t mangle -I POSTROUTING 1 -o wlan0 -p udp --dport 123 -j TOS --set-tos 0x00
dosyaya
/etc/rc.local
Çıkış 0 satırından önce. Ardından, yeniden başlatın ve kontrol edin.
Zaten zamanı güncelliyor olmalı. NTPD sunucusu, takas dosyasının hemen ardından ve SSHD'den önce başlamalıdır.
Yapılandırıldığından emin olmak için /etc/ntp.conf dosyanızı kontrol edin.
En az bir sunucuyu listelemelidir. Sunucum için time.nrc.ca kullanıyorum.
Ntp.conf için kılavuz sayfası burada: http://linux.die.net/man/5/ntp.conf
Oğlumun Rasberry Pi, kutunun dışında kalan zamanı güncellemeyecekti ve yukarıdaki tüm önerileri denedikten sonra, manuel olarak güncellemesini sağlayabilirim ancak otomatik olarak değil. Sonunda, başka bir yere de başarı olmadan baktıktan sonra, Rasberry Pi ile birlikte gelen ntp.conf dosyasının aşağıdaki satırları yorumladığını gördüm:
#restrict 127.0.0.1
#restrict ::1
kullandım
sudo nano /etc/ntp.conf
ntp conf dosyasını düzenlemek için terminalde şu şekilde olun:
# Local users may interrogate the ntp server more closely.
restrict 127.0.0.1
restrict ::1
Bu bizim için problemi çözdü. Hem WiFi hem de ethernet kablosu ile güncellenir. Yukarıda önerilen çözümü bulduğum gibi rc.local'da değişiklik yapmadan WiFi ile güncelleme yapıp yapamayacağımı bilmiyorum, yukarıdaki çözümü bulduğumda bu değişikliği yaptım ve geri almadım.
timedatectl
Benzer bir sorun yaşarken bana yardımcı olacak uygulamayı buldum . Varsayılan olarak yüklenir ve '--help', aracın nasıl kullanılacağına ilişkin oldukça iyi ve basit bir genel bakış sunar.
Not: Saat diliminizin bu aracın da yapabileceği şekilde ayarlandığından emin olun.
Yaklaştığım yaklaşım bu. Bu yanıtların çoğu, Raspian sistemime baktığımda henüz kontrol etmeyen şeyleri gösteriyor gibiydi:
$ 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"
Ben belirten günlüklerinde göründü ilgisi yoktu timedatectl
oldu yapıyor şey, ya da bu ntp
hatta yapılandırılmış / yüklendiği NIC durumuna kadar veya bu Ntpd üzerinde senkronize ediyor.
Sonunda sadece şunu ekledim /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..."
Ve yüklü ntp
:
$ sudo apt-get install ntp
Bunun içinde hangi sonuçlar var /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 4.2.8p10@1.3728-o 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 4.2.8p10@1.3728-o 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...
Failed to start ntp.service: Unit ntp.service not found.
Ve ntpd de yoktur. Pi sonunda zaman kazanır. (Buna bakıyorum çünkü HTTPS buklelerim bundan önce çalıştırıldığında -k olmadan başarısız oluyor)
apt-get install ntp
Sorunu çözmek için ntp kullanmanıza gerek yoktur. Bir sunucudan tarihi okuyan bir komut dosyası vardır ve tarihi yalnızca o komut dosyasının sonucu olarak ayarlamanız gerekir (Ahududu Pi'nizin internete bağlı olması gerekir). Ardından, başlangıçta bu komutu çalıştırmanız gerekir.
Adım 1: Tarihi bir sunucudan alın.
sudo date -s "$(wget -qSO- --max-redirect=0 google.com 2>&1 | grep Date: | cut -d' ' -f5-8)Z"
Adım 2: Komutu başlangıçta dosyaya ekleyerek çalıştırın /etc/rc.local
(Ubuntu 16.04'de çalıştı).
sudo gedit /etc/rc.local
KREDİ: