라즈베리 파이는 어디에서 시간을 얻습니까?


44

Raspberry Pi에서 시계 (시간대 제외)를 설정할 필요가 없습니다. 어디에서 시간을 받고 있습니까? 얼마나 정확한가요?


새로 설치하면 다양한 소스에서 시간을 확보 할 수 있습니다. 자세한 내용과 time.nist.gov로 변경해야하는 이유는 다음 Q & A를 참조하십시오. raspberrypi.stackexchange.com/questions/68811/…
SDsolar

답변:


45

Raspbian은 NTP 서버 ( "시간 서버") 에서 시간을 가져옵니다 .

Raspberry Pi를 완전히 분리하고 네트워크 케이블을 뽑은 다음 Raspberry Pi를 다시 시작하십시오. 날짜와 시간이 잘못되었음을 알 수 있습니다.

예를 들어, 같은 - 당신이 원하는 경우 / 당신은 실시간 클럭 (RTC)가 필요합니다, 인터넷에 연결하지 않고 재설정 할 수 없습니다에 날짜와 시간을 필요로 배터리를 사용하여 시간을 최신 상태로 유지합니다 - 시계를 실행합니다. 또한 컴퓨터가 전원이 공급되지 않을 때 시간을 유지하는 방법이기도합니다.

업데이트 위의 RTC 클록이 전력 손실 사이의 시간을 정확하게 유지하는 유일한 방법은 아니라는 점을 참고하십시오. GPS 모듈을 사용하여 GPIO 핀에 연결할 수도 있습니다.

정확도 시계의 시간이 다소 벗어나더라도 매우 정확합니다. 서버의 변경 사항이 로컬 시계에 점진적으로 적용되므로 자체 수정하는 데 최대 3 시간이 걸릴 수 있습니다. 네트워크 안정성은 정확도에 가장 큰 영향을 미칩니다. 예측할 수없는 네트워크 ( 3G 와 같은 무선 장치 )는 정확성을 매우 어렵게 만듭니다. 간단히 말해서 : 정확도는 꽤 좋으며 컴퓨터와 실제 시간 (NTP 서버와의 시간 차이)은 일반적으로 100ms 미만 입니다.


1
좋은 대답입니다. 하드웨어 시계에 대한 링크 감사합니다
Scoop

1
좋은 답변; NTP 프로토콜의 정확성을 언급함으로써 개선 될 수 있습니다.
Alex Chamberlain

@AlexChamberlain 고마워요, 나는 그것을 추가하려고했지만 완전히 마음이 미끄러졌습니다. 지금 추가했습니다.
Vincent P

Pi가 네트워크에 연결되어 있지만 지금은 30 분이 흐르고 있습니다. ntpd가 기본적으로 활성화되어 있습니까? 아니면 수동으로해야합니까?
andig

어쩌면 Raspberry Pi 3까지 2 개월 전에 구입했으며 NTP 시간 업데이트는 적어도 공식 Raspbian Jessie에서 망쳤습니다. 나는 그 문제로 세 개의 실을 열었고 모두가 우둔합니다. 문제를 해결하기 위해 시간을 보내기 위해 하드웨어 모듈을 구입해야했습니다.
피그말리온

21

Morgan의 대답은 문제를 해결하는 데 필요한 힌트를주었습니다.

  1. http://support.ntp.org/bin/view/Servers/NTPPoolServers로 이동
    하십시오. 지역을 선택하면 국가 및 서버 목록이 표시됩니다.

  2. /etc/ntp.conf 파일을 편집하십시오. 예 :

    sudo vim /etc/ntp.conf

    서버 목록을 웹 페이지에서 찾은 서버 목록으로 바꾸십시오. 예 :

    서버 0.dk.pool.ntp.org iburst
    서버 1.dk.pool.ntp.org iburst
    서버 2.dk.pool.ntp.org iburst
    서버 3.dk.pool.ntp.org iburst

    저장 및 종료.

  3. ntp 데몬을 다시 시작하십시오.

    sudo /etc/init.d/ntp 재시작

  4. 날짜가 정확한지 확인하십시오.


    6 월 20 일 13:39:20 CEST 2013

내 서버 중 하나에서 날짜가 즉시 변경되었습니다. 다른 하나에서는 몇 분 동안 기다려야했습니다.


2
영국 또는 다른 국가에 거주하는 경우 두 글자 국가 코드를 다음과 같이 변경할 수 있습니다. server 0.uk.pool.ntp.org iburst
Pierz

4 단계는 약 15 분이 지나야 비로소 효과가 없었습니다. 아니면 내가 도망 갔기 때문일 수도 ntpq -p있습니다. 내가 사용하고 있습니다 : "리눅스는 GNU / 리눅스 armv6l 9월 19일 영국 서머 타임 15시 25분 36초 2015 4.1.7+ # 817 선점 토 라즈베리 파이"와 "(위지) Raspbian GNU / 리눅스 7"
피터 모텐슨

아마도 hwclock또는 fake-hwclock방해하고 있습니다 (그러나 "/etc/rc.conf"부분이 오래되었습니다)
Peter Mortensen


그리고 5 분 종료 후 5 분이 지났습니다 ( ntpq -p차이는 없었습니다).
피터 Mortensen

14

fake-hwclock패키지 가 있으면 시계가 재설정되지 않도록 타임 스탬프 저장 트릭도 수행합니다. 장치가 꺼져있는 동안에는 시간이 걸리지 않으므로 지연됩니다. 내부 시계도 켜져있을 때 약간 표류합니다.

인터넷에 연결되어 있거나 서버와 LAN으로 연결되어 있고 ntp (ntpd / ntpdate)를 실행하면 다른 답변에서 지적한 것처럼 네트워크를 통해 시간을 얻을 수 있습니다. 동기화되면 정말 정확합니다. 온라인 서버는 또한 "세계 시간"에 대한 합의를 제공합니다.


에 대한 흥미로운 fake-hwclock. 기계가 꺼져있을 때 누군가 시계를 멈추고 싶은 이유는 무엇입니까? 그 유스 케이스를 생각할 수 없습니다. 있습니까?
Scoop

2
@Scoop 대안이 시간을 잊어 버렸기 때문에 재설정됩니다. 이 카운트가 : 꺼져있는 경우에도 전진 계속 확인 시간을 만들어 모든 기록 된 타임 스탬프 시계를 "동결"미래 등을 보낸 것으로 표시하게됩니다
XTL

1
ntp 또는 다른 방법으로 시계를 설정해도 여전히 작동하며 fake-hwclock은 부팅 및 종료시에만 실행됩니다.
XTL

1
대한 fake-hwclock아치 리눅스를 사용 archplusplus.co.uk/post/40202081414/...
levinalex

2
이 패키지는 이제 Raspbian에 기본으로 설치되어있는 것 같습니다.
Pierz

11

Raspberry Pi에는 비용 효율성을위한 통합 실시간 시계 (RTC)가 없습니다. "RTC (실시간 시계)가없는 이유는 무엇입니까?"라는 질문을 참조하십시오. 에 공식 FAQ . 그것은 당신이 라즈베리 파이를 분리하면 시간이 손실된다는 것을 의미합니다. 전원을 다시 켜면 1970 년 1 월 1 일 (일명 Unix epoch )로 시간이 초기화됩니다 .

Raspberry Pi는 컴퓨터 간 클럭 동기화 프로토콜 인 NTP 를 사용하여 네트워크를 통해 시간을 설정 합니다. 이 프로토콜은 인터넷을 통해 컴퓨터가 동일한 시간을 갖도록하기 위해 널리 사용되며 일부 기계는 원자 시계 를 사용한 시간 계산 전용이기 때문에 매우 안정적 입니다.

ntpd부팅 시간을 시작한 데몬 (백그라운드의 소프트웨어)이며 NTP 프로토콜을 사용하여 시간을 동기화합니다. ntpd파일로 구성 할 수 있습니다 /etc/ntp.conf. 예를 들어, 여기서 시간을 요청하도록 서버를 설정할 수 있습니다.


마지막 기억이 안나요? 나는 일주일 전에 Raspberry Pi를 종료하고 date이제 그 주된 날짜와 어제와 오늘의 가동 시간에서 몇 시간을 더 보여줍니다 (어제는 오늘 다시 시작한 후). (2015 년 중반에 해당하는 라즈 비아 어).
피터 Mortensen

실행 cat /etc/fake-hwclock.data하면 마지막으로 시간이 fake-hwclock절약 된 것을 볼 수 있습니다 (분명히 종료 시간에). fake-hwclock실제 시계를 모방하기 위해 RPi에서 사용됩니다. 인터넷에 연결하지 않았거나 ntpd시간을 업데이트 하지 않고 RPi를 부팅했다고 생각합니다 . 당신은 그것을 확인할 수 있습니까?
Morgan Courbet

5

Raspbian Stretch : NTP는 기본적으로 설치되지 않습니다

Raspbian Stretch와 약간의 변경이 있었던 것으로 보입니다. 즉, ntp는 더 이상 설치되지 않습니다. Running dpkg -l | grep ntp은 아무것도 반환하지 않습니다.

분명히 Stretch ntp는 시스템화를 위해 응용 프로그램을 포기했습니다 . man timesyncd구성 설정에 대한 세부 사항 은 항목을 확인하십시오 . timesyncd여전히 ntp 서버를 사용하여 시간을 업데이트하십시오. 이러한 서버를 수동으로 구성하려는 경우 /etc/systemd/timesyncd.conf파일 에서 구성 할 수 있습니다 .


1
편집을 수행 한 후에는 서비스를 다시 시작한 sudo systemctl restart timesyncdjournalctl -u timesyncd -f회사 방화벽으로 인해 로그가 포트를 차단 하는지 확인하십시오 . 이러한 경우 제공된 회사 ntp 서버 URL을 사용하십시오.
typelogic

데몬의 정확한 이름은 다음 systemd-timesyncd과 같습니다. 재시작 명령은 다음과 같습니다.systemctl restart systemd-timesyncd
chb

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.