임베디드 Linux 시스템이 있습니다아니요따라서 RTC는 (현재) 출시일을 1970년 1월 1일로 간주합니다.
ntpd
다음과 같이 설치하고 부팅 했습니다 .
/usr/bin/ntpd -g
상당히 표준적인 것이 있습니다 /etc/ntp.conf
.
server 0.pool.ntp.org iburst
server 1.pool.ntp.org iburst
server 2.pool.ntp.org iburst
server 3.pool.ntp.org iburst
restrict default nomodify nopeer noquery limited kod
restrict 127.0.0.1
restrict [::1]
불행하게도 잠금을 달성하는 데 오랜 시간(때때로 120초 이상)이 걸립니다(즉, *
에 표시된 피어 ntpq -nc peers
).
동기화 시간을 최소화하기 위해 사용할 수 있는 다른 옵션은 무엇입니까?
관련 질문: 적절한 동기화 시간은 얼마입니까(합리적인 네트워크 연결 ping
시간이 약 16ms라고 가정 0.pool.ntp.org
)?
참고: 나는했다읽고 man 8 ntpd
있지만 man 5 ntp.conf
혼란스럽고 전문가의 조언이 필요합니다.
고쳐 쓰다:
의견을 보면 사용 사례에 대해 자세히 설명해야 할 것 같습니다.
- 내 임베디드 Linux 시스템은 다음과 같습니다아니요RTC가 있으므로 1970년 1월 1일에 깨어납니다.
ntpd
sysV init 스크립트로 시작했습니다 .start-stop-daemon -S -q -x /usr/sbin/ntpd -- -g
- 시스템 시간이 "상당히 가까운" 시점을 알아야 합니다("분" 범위가 아닌 몇 초 정도의 오차는 허용할 수 있음).
- 네트워크는 유선이거나 WiFi(또는 둘 다)일 수 있으므로 시작하는 데 많은 시간이 걸릴 수 있습니다.
- LAN이 작동 중이더라도 연결, NAT 또는 방화벽으로 인해 시간 서버에 액세스하는 데 문제가 있을 수 있습니다. 즉, 고정된 시간 동안 기다리는 것은 작동하지 않습니다(
ping
서버를 얻을 수 있더라도!). - 다양한 방법으로 "정확한" 시간을 얻을 수 있습니다
ntp
(예: 사용자가 날짜와 시간을 명시적으로 설정했는데 이는 크게 틀릴 수 있습니다!).
ntp
내 목표는 정보가 서버에서 검색되는 현재 시간에 관계없이 가능한 한 빨리 정보를 얻는 것입니다 (그래서 정보를 "신뢰"할 수 있음). 언급한 바와 같이, 1초 미만의 정확도는 필요하지 않지만, 물론 네트워크가 작동한다는 가정 하에 분이 올바른지 여부와 시기를 가능한 한 빨리 "확실히" 알아야 합니다.