Raspberry Pi ใช้เวลากับ Raspbian รุ่นล่าสุดได้อย่างไร? ชุดนาฬิกาภายในจากเซิร์ฟเวอร์ NTP คืออะไร จะเกิดอะไรขึ้นเมื่อไม่มีเซิร์ฟเวอร์ NTP ให้ใช้งาน
จากโปรแกรมของฉันฉันพยายามที่จะตรวจสอบว่าเวลาได้รับการตั้งค่าจาก NTP และขอให้ผู้ใช้ตั้งถ้ามันไม่ได้
Raspberry Pi ใช้เวลากับ Raspbian รุ่นล่าสุดได้อย่างไร? ชุดนาฬิกาภายในจากเซิร์ฟเวอร์ NTP คืออะไร จะเกิดอะไรขึ้นเมื่อไม่มีเซิร์ฟเวอร์ NTP ให้ใช้งาน
จากโปรแกรมของฉันฉันพยายามที่จะตรวจสอบว่าเวลาได้รับการตั้งค่าจาก NTP และขอให้ผู้ใช้ตั้งถ้ามันไม่ได้
คำตอบ:
Raspbian มีโซลูชั่นซอฟต์แวร์สองตัวสำหรับการบอกเวลา ตั้งแต่NTPต้องการการเชื่อมต่อเครือข่ายและมันค่อนข้างไร้ประโยชน์ถ้า Raspberry Pi ของคุณไม่ได้เชื่อมต่อกับเครือข่ายก็ยังใช้ปลอม hwclock มันบันทึกนาฬิกาปัจจุบันเป็นระยะและโหลดเมื่อเริ่มต้น
pi@raspberrypi ~ $ cat /etc/fake-hwclock.data
2012-08-15 03:17:01
สิ่งนี้ไม่ถูกต้องมากนัก แต่จะขจัดปัญหาเวลาเดินทางย้อนกลับไปในปี 1970 หลังจากรีบูตแต่ละครั้ง
คุณสามารถบันทึกสถิติ NTP และแยกวิเคราะห์บันทึกจากโปรแกรมของคุณ
NTP /etc/ntp.conf
ตั้งค่าภูตจะถูกเก็บไว้ในแฟ้ม ไม่ใส่เครื่องหมายความคิดเห็นบรรทัดที่มีคำสั่งstatsdir
เพื่อเปิดใช้งานการบันทึกสถิติ NTP ntpd
ตรวจสอบให้แน่ใจว่าไดเรกทอรีอ้างอิงที่มีอยู่และสามารถเขียนได้สำหรับผู้ใช้
หากต้องการตรวจสอบเวลาที่กำหนดโดยเซิร์ฟเวอร์ NTP คุณสามารถลองใช้ ntpq -p คุณจะได้รับสิ่งนี้ *:
$ ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
*223.212.138.2 .MRS. 1 u 424 512 377 4.080 -4.551 21.857
+ts0.tttsc.nvm.e .GPS. 1 u 387 512 363 1.304 -7.563 28.405
+218.89.10.3 217.13.17.82 2 u 334 512 377 1.853 -4.562 19.474
'การเข้าถึง' จะเป็น> 0 ในบางแถวหากเซิร์ฟเวอร์ NTP ได้มาถึงแล้วจึงตั้งเวลา มันคือ 8 บิตเลื่อนแปดด้านพร้อมเช่น 0,1,3,7,17,37,77,177,377
หรือนี่ - คุณสามารถ grep 'stratum' <16 หรือ sync_ntp (ไม่ได้อยู่ใน RPi อย่างชัดเจน)
$ ntpq -c rl
associd=0 status=0615 leap_none, sync_ntp, 1 event, clock_sync,
version="ntpd 4.2.6p5@1.2349-o Mon Jul 18 09:22:49 UTC 2013 (1)",
processor="x86_64", system="Linux/2.6.32-431.29.2.el6.x86_64", leap=00,
stratum=4, precision=-21, rootdelay=40.242, rootdisp=315.102,
refid=192.168.1.123,
reftime=d82131cd.fbb96c5e Thu, Nov 27 2014 13:14:53.983,
clock=d82138e6.fd03bdd1 Thu, Nov 27 2014 13:45:10.988, peer=61770, tc=9,
mintc=3, offset=5.214, frequency=52.475, sys_jitter=12.217,
clk_jitter=23.319, clk_wander=1.373
$
อีกทางหนึ่ง (ฉันคิดว่า ntpstat ไม่สามารถใช้งานได้ทันทีบน RPi)
$ ntpstat
synchronised to NTP server (192.168.1.123) at stratum 4
time correct to within 310 ms
polling server every 512 s
และใช้รหัสทางออกเช่นกันที่นี่http://www.cyberciti.biz/faq/linux-unix-bsd-is-ntp-client-working/ยอมรับว่าไม่ใช่ RPi เฉพาะ ...
* ที่อยู่เซิร์ฟเวอร์เวลาไม่ใช่ของจริง
การจับเวลานั้นมีอยู่ในซอฟต์แวร์ทั้งหมด หากไม่ใช้ NTP จะไม่มีการจับเวลา
หากคุณต้องการตรวจสอบว่านาฬิกาได้รับการตั้งค่าหรือไม่เพียงใช้date
เพื่อดูว่ามันแสดงให้เห็นถึงยุค Unix หรือไม่ซึ่งเป็นสิ่งที่ Pi จะใช้เป็นค่าเริ่มต้น
fake-hwclock
อาจจะไม่ได้อยู่ใน Arch ฟังดูเหมือนขนหัวลุกชนิดหนึ่งจะไม่สนใจ