Dlaczego systemowe nie ustawia mojego czasu systemowego?

1

Używam Arch Linux. Ostatnio, po włączeniu komputera, czas systemowy jest ustawiony na 1:00 1 stycznia 1970 r. - prawdopodobnie godzina 1:00 pochodzi ze zmiany strefy czasowej.

Czy ktoś ma jakieś pomysły, dlaczego systemd nie ustawia poprawnie mojego czasu systemowego?

Jakieś użyteczne wyjście (myślę) ...

[root@alex-desktop network.d]# timedatectl status
      Local time: Sun 2013-06-09 16:33:04 BST
  Universal time: Sun 2013-06-09 15:33:04 UTC
        RTC time: Sun 2013-06-09 15:18:50
        Timezone: Europe/London (BST, +0100)
     NTP enabled: yes
NTP synchronized: no
 RTC in local TZ: no
      DST active: yes
 Last DST change: DST began at
                  Sun 2013-03-31 00:59:59 GMT
                  Sun 2013-03-31 02:00:00 BST
 Next DST change: DST ends (the clock jumps one hour backwards) at
                  Sun 2013-10-27 01:59:59 BST
                  Sun 2013-10-27 01:00:00 GMT
Alex Chamberlain
źródło
1
Więc kto zgłasza zły czas? To, co pokazujesz, jest prawidłową datą.
terdon
Naprawdę nie rozumiem twojego problemu. Według timedatectl status polecenie wszystko wygląda dobrze. Czy czas resetowania występuje przy każdym ponownym uruchomieniu?
Nicolas
Wysłałem polecenie po naprawieniu go ... oops. Czas systemowy jest nieprawidłowy po każdym restarcie.
Alex Chamberlain

Odpowiedzi:

0

Miałem podobny problem z Raspberry Pi (który widocznie nie ma RTC ), więc albo używasz podobnego urządzenia, które również go nie ma (mało prawdopodobne), albo twój komputer jest nieco starszy i bateria RTC, aka Bateria CMOS uciekł.

Zgodnie z Twoim timedatectl status masz już włączony protokół NTP, który powinien wysyłać zapytania do serwera czasu i ustawiać czas dla Ciebie. Jednak wydaje się, że nie działa, jeśli nie masz połączenia z Internetem, gdy czas jest uruchamiany podczas uruchamiania komputera, co może się zdarzyć, jeśli korzystasz z sieci WLAN i połączenie trwa długo.

Ostatecznie moim rozwiązaniem było dodanie zadania cron dla roota ( su -c "crontab -e" ) biegać ntpd -s raz na minutę, aby wymusić sprawdzanie czasu, tak:

# sync network time every minute (this is sad)
* * * * *               ntpd -s

Problem rozwiązany.

Ntpd strona podręcznika ntpd.conf wspomina a minpoll opcja, która może być rzekomo używana do sprawdzania ntpd tak często, jak 8 sekund. Jest to oczywiście ponad 9000 razy lepsze i zaktualizuję swoją odpowiedź, jeśli to działa zgodnie z oczekiwaniami.

sinisterstuf
źródło