रास्पबेरी पाई में हार्डवेयर घड़ी का अभाव है। मैं हर बूट के तुरंत बाद दिनांक / समय को अपडेट करने के लिए NTPD को कैसे मजबूर कर सकता हूँ?
मैं रास्पियन चला रहा हूं और रास्पबेरी पाई एक ईथरनेट केबल का उपयोग करके जुड़ा हुआ है ।
रास्पबेरी पाई में हार्डवेयर घड़ी का अभाव है। मैं हर बूट के तुरंत बाद दिनांक / समय को अपडेट करने के लिए NTPD को कैसे मजबूर कर सकता हूँ?
मैं रास्पियन चला रहा हूं और रास्पबेरी पाई एक ईथरनेट केबल का उपयोग करके जुड़ा हुआ है ।
जवाबों:
ए करें apt-get install ntpdate
।
ntpdate
ईथरनेट इंटरफ़ेस लाने पर चलेगा, और ntp सर्वर से समय सेट करें (देखें /etc/default/ntpdate
)।
यदि ntpd
चल रहा है, तो ntpdate कुछ भी नहीं करेगा, हालांकि बूटअप से ntpdate
पहले चलेगा ntpd
- इसलिए जब तक कोई ईथरनेट कनेक्शन न हो तब तक बूटअप पर समय निर्धारित करने के लिए यह काम करना चाहिए।
Linux raspberrypi 4.14.30-v7+ #1102 SMP Mon Mar 26 16:45:49 BST 2018 armv7l GNU/Linux
यह भी नहीं था
यदि आपकी घड़ी बंद है, तो आपको ntp को सिंक करने के लिए मजबूर करने की आवश्यकता हो सकती है:
sudo /etc/init.d/ntp stop
sudo ntpd -q -g
sudo /etc/init.d/ntp start
चारों ओर खोज करने के बाद, इस विधि ने मेरे लिए काम किया। जैसा कि आप जानते हैं, रास्पबेरी पाई 3 में डिफ़ॉल्ट रूप से एनटीपी अक्षम है। इसलिए इसे टाइप करने से, NTP समर्थन सक्षम हो जाएगा:
sudo timedatectl set-ntp True
के साथ परिणाम की जाँच करें timedatectl status
चेतावनी के मामले में, आपको sudo timedatectl set-local-rtc true
भी दौड़ना पड़ सकता है ।
यदि आप raspi-config
रास्पबेरी पाई में टाइम ज़ोन सेट करते हैं , तो इंटरनेट से कनेक्ट होने पर, बूट पर समय स्वचालित रूप से अपडेट हो जाएगा।
sudo raspi-config
Internationalisation Options
I2 Change Timezone
Finish
Yes
अब रिबूट करने के लिए चुनेंI2 Change Timezone
विकल्प किसी भी अधिक मौजूद नहीं है
फोरम पोस्ट देखें पी 3 पर और आधिकारिक डोंगल के साथ टाइम सिंक नहीं होता है ।
ntpd IP के साथ IP / UDP पैकेट उत्सर्जित करता है, जो 0xc0 पर सेट होता है। तो यह काफी हद तक I (और कई अन्य) के समान है, जब एक वाई-फाई आंतरिक इंटरफ़ेस पर संचालित होता है तो रास्पबेरी Pi3 के साथ होता है।
वर्कअराउंड के रूप में, कमांड जोड़ें
/sbin/iptables -t mangle -I POSTROUTING 1 -o wlan0 -p udp --dport 123 -j TOS --set-tos 0x00
फ़ाइल के लिए
/etc/rc.local
बाहर निकलने से पहले 0 लाइन। अगला, रिबूट और जांचें।
यह पहले से ही समय को अद्यतन करना चाहिए। NTPD सर्वर को स्वैप फ़ाइल के बाद और SSHD से पहले शुरू करना चाहिए।
सुनिश्चित करें कि यह कॉन्फ़िगर किया गया है अपनी /etc/ntp.conf फ़ाइल की जाँच करें।
इसे कम से कम एक सर्वर को सूचीबद्ध करना चाहिए। मैं अपने सर्वर के लिए time.nrc.ca का उपयोग करता हूं।
Ntp.conf के लिए मैनुअल पेज यहाँ है: http://linux.die.net/man/5/ntp.conf
मेरे बेटे का रसबेरी पाई बॉक्स से बाहर का समय अपडेट नहीं करेगा और ऊपर दिए गए सभी सुझावों को आज़माने के बाद मैं इसे मैन्युअल रूप से अपडेट करने के लिए प्राप्त कर सकता हूं लेकिन स्वचालित रूप से नहीं। अंत में सफलता के बिना कहीं और देखने के बाद, मैंने पाया कि ntp.conf फाइल जो रसबेरी पाई के साथ आई थी, उसमें निम्नलिखित पंक्तियां थीं:
#restrict 127.0.0.1
#restrict ::1
मैंनें इस्तेमाल किया
sudo nano /etc/ntp.conf
अब होने वाली ntp conf फ़ाइल को संपादित करने के लिए टर्मिनल में:
# Local users may interrogate the ntp server more closely.
restrict 127.0.0.1
restrict ::1
जिससे हमारे लिए समस्या हल हो गई। यह वाईफाई और ईथरनेट केबल दोनों के साथ अपडेट होता है। मुझे नहीं पता कि यह उपर्युक्त सुझाए गए rc.local में परिवर्तन के बिना वाईफाई के साथ अपडेट होगा, क्योंकि जब तक मुझे ऊपर का समाधान मिला, मैंने पहले ही उस बदलाव को कर दिया था और मैंने इसे पूर्ववत नहीं किया है।
यह वह तरीका है जिसे मैंने लेना शुरू किया। इन उत्तरों में से कई चीजों को इंगित करने के लिए प्रतीत होता है कि जब मैंने अपने रास्पियन सिस्टम को देखा तो बस बाहर की जाँच नहीं की:
$ 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"
मेरे पास कुछ भी नहीं था जो लॉग में दिखाई दे रहा था कि कुछ भी कर रहा था timedatectl
, या जो ntp
एनआईसी के ऊपर की स्थिति पर सिंक्रनाइज़ हो रहा था, या एनटीपीडी भी स्थापित / कॉन्फ़िगर किया गया था।
अंत में मैंने केवल इसे अपने साथ जोड़ा /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..."
और स्थापित ntp
:
$ sudo apt-get install ntp
जो इस में परिणाम /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.
और ntpd मौजूद नहीं है। पाई निश्चित रूप से समय हासिल करती है। (मैं इस पर गौर कर रहा हूं क्योंकि मेरे HTTPS कर्ल के बिना असफल हो जाते हैं जब उस से पहले चलाने के लिए)
apt-get install ntp
समस्या को हल करने के लिए आपको ntp का उपयोग करने की आवश्यकता नहीं है। एक स्क्रिप्ट है जो एक सर्वर से तारीख पढ़ती है और आपको उस स्क्रिप्ट का परिणाम होने के लिए केवल तारीख निर्धारित करनी होगी (आपके रास्पबेरी पाई को इंटरनेट से कनेक्ट करने की आवश्यकता है)। फिर, आपको स्टार्टअप पर उस कमांड को चलाने की आवश्यकता है।
Step1: किसी सर्वर से दिनांक प्राप्त करें।
sudo date -s "$(wget -qSO- --max-redirect=0 google.com 2>&1 | grep Date: | cut -d' ' -f5-8)Z"
Step2: स्टार्टअप पर कमांड को फाइल में जोड़कर चलाएं /etc/rc.local
(Ubuntu 16.04 पर काम किया गया)।
sudo gedit /etc/rc.local
क्रेडिट: