라즈베리 파이는 어떻게 시간이 유지됩니까?


17

최신 Raspbian 릴리스를 사용하여 Raspberry Pi를 어떻게 유지합니까? NTP 서버에서 내부 시계를 설정하는 것은 무엇입니까? 사용 가능한 NTP 서버가 없으면 어떻게됩니까?

내 프로그램에서 NTP에서 시간이 설정되어 있는지 확인하고 사용자에게 시간을 설정하도록 요청하려고합니다.



4
time.now <2010 년보다 작 으면 시간이 설정되지 않습니다. 다른 것을 알 필요가 없습니다. 전원을 꺼도 시간이 절약되지 않으며 UNIX / POSIX 사양에 따라 1970 년이됩니다. 시간이 정확하지 않은지 확인하려면 NTP를 쿼리하고 현지 시간을 비교해야합니다. 시간 서버에 요청하지 않고 시간이 동기화되지 않았는지 확인할 수 없습니다.
Piotr Kula

4
RPi가 마지막 종료 시간부터 현재 시간을 설정하므로 time.now <2010이 작동하지 않으면 그렇기 때문에 필요한 경우이 동작을 비활성화 할 수 있도록 시간이 어떻게 설정되어 있는지 알고 싶습니다.
Guy

pumkin-이 질문은 내부 시계의 드리프트와 어떤 관련이 있습니까?
Guy

1
어쩌면이 질문의 제목은이 질문들 사이의 겹침을 피하기 위해 더 구체적이어야합니다.
XTL

답변:


22

Raspbian에는 시간 관리를위한 두 가지 소프트웨어 솔루션이 있습니다. 이후 NTP는 네트워크 연결이 필요하고 그것은 당신의 라즈베리 파이가 네트워크에 연결되어 있지 않은 경우 꽤 쓸모, 그것은 또한 사용 가짜 hwclock과를 . 현재 시계를 주기적으로 저장하고 시작시로드합니다.

pi@raspberrypi ~ $ cat /etc/fake-hwclock.data 
2012-08-15 03:17:01

이것은 정확하지는 않지만 재부팅 할 때마다 1970 년으로 돌아가는 시간 문제를 제거합니다.


좋은 추측 Jivings! :-)
Piotr Kula

@ asalamon74 : fake-hwclock을 비활성화하는 방법을 추가 할 수 있습니까 아니면 제거해야합니까?
Guy

2

NTP 통계를 기록한 다음 프로그램에서 로그를 구문 분석 할 수 있습니다.

NTP 데몬 설정은 file에 저장됩니다 /etc/ntp.conf. statsdirNTP 통계 로깅을 가능하게 하는 지시문 으로 주석 처리를 제거 하십시오. 참조 된 디렉토리가 존재하고 user에 대해 쓰기 가능한지 확인하십시오 ntpd.


1

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

NTP 서버에 도달하여 시간을 설정하면 일부 행에서 '도달'이> 0이됩니다. 0,1,3,7,17,37,77,177,377을 따라 8 비트 8 진수 슬라이딩입니다.

또는 이것은- 'stratum'<16 또는 sync_ntp를 grep 할 수 있습니다 (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
$

또는 (RPP에서 ntpstat를 즉시 사용할 수 없다고 생각합니다)

$ 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 특정을 ...

* 시간 서버 주소는 실제가 아닙니다


-1

타임 키핑은 모두 소프트웨어에 있습니다. NTP를 사용하지 않으면 타임 키핑이 없습니다.

시계가 설정되어 있는지 확인 date하려면 Unix epoch가 표시되는지 확인하십시오. 이것은 Pi의 기본값입니다.


2
잘못되었습니다. RPi는 네트워크 연결이 없을 때 마지막 종료 시간부터 현재 시간을 설정합니다. 따라서 시계는 항상 정확한 시간보다 약간 빠른 임의 시간이며, 유닉스 시대는 아닙니다.
Guy

2
그것은 내 파이에서 사실이 아닙니다. 네트워크 연결없이 부팅하면 시간이 획기적입니다. 지금 이걸 볼 수 있습니다.
Jivings

2
아마도 배포판에 따라 다릅니다.
Alex Chamberlain

1
@AlexChamberlain는 이상한 불일치가있는 것 같습니다.
Jivings

1
@Jivings Raspbian에라는 소프트웨어가 fake-hwclock있다면 아마도 Arch에 있지 않을 것입니다. 아치가 무시하는 일종의 보풀처럼 들립니다.
Alex Chamberlain
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.