Jak utrzymywany jest czas na Raspberry Pi dzięki najnowszej wersji Raspbian? Co ustawia zegar wewnętrzny z serwera NTP? Co się stanie, gdy nie będzie dostępny serwer NTP?
Z mojego programu próbuję ustalić, czy czas został ustawiony z NTP i poprosić użytkownika o ustawienie go, jeśli nie ma.
timekeeping
ntp
Chłopak
źródło
źródło
Odpowiedzi:
Raspbian ma dwa rozwiązania programowe do pomiaru czasu. Ponieważ NTP wymaga połączenia sieciowego i jest całkiem bezużyteczne, jeśli Raspberry Pi nie jest podłączony do sieci, wykorzystuje również fałszywy hwclock . Okresowo zapisuje bieżący zegar i ładuje go przy uruchomieniu.
Nie jest to zbyt dokładne, ale wyeliminuje problem podróży w czasie do 1970 roku po każdym ponownym uruchomieniu.
źródło
Możesz rejestrować statystyki NTP, a następnie analizować dzienniki ze swojego programu.
Ustawienia demona NTP są przechowywane w pliku
/etc/ntp.conf
. Odkomentowanie linii z dyrektywąstatsdir
umożliwiającą rejestrowanie statystyk NTP. Upewnij się, że katalog, do którego istnieje odwołanie, istnieje i jest możliwy do zapisu dla użytkownikantpd
.źródło
Aby sprawdzić, czy serwer NTP ustawił czas, możesz spróbować użyć ntpq -p, otrzymasz coś takiego: *
„Zasięg” będzie wynosił> 0 w pewnym rzędzie, jeśli serwer NTP został osiągnięty i tym samym ustawił czas. Jest to 8 bitów ósemkowych przesuwających się wzdłuż, tj. 0,1,3,7,17,37,77,177,377
Lub to - możesz grepować „warstwę” <16 lub sync_ntp (oczywiście nie jest to na RPi)
Alternatywnie (myślę, że ntpstat nie jest dostępny natychmiast na RPi)
i użyj kodów wyjścia również wyjaśnionych tutaj http://www.cyberciti.biz/faq/linux-unix-bsd-is-ntp-client-working/ co prawda nie dotyczy RPi ...
* Adresy serwera czasu nie są prawdziwe
źródło
Pomiar czasu odbywa się w oprogramowaniu. Bez korzystania z NTP nie ma pomiaru czasu.
Jeśli chcesz sprawdzić, czy zegar został ustawiony, po prostu użyj,
date
aby zobaczyć, czy pokazuje on epokę Uniksa, czyli domyślnie Pi.źródło
fake-hwclock
, to prawdopodobnie nie będzie ono na Arch. Brzmi jak rodzaj puchu, który Arch ignoruje.