Dzienny dryf zegara o kilka minut

11

W ostatnich tygodniach każdego ranka zauważyłem, że mój zegar będzie opóźniony o 2-3 minuty. Zauważyłem, że otwarcie okna dialogowego „Data i czas” w Preferencjach systemowych spowoduje ponowne zsynchronizowanie zegara z serwerami czasu Apple. Używam OS X 10.7.4 Lion na 8,2 MacBooku Pro.

Co może być przyczyną tego braku automatycznej ponownej synchronizacji?

EDYCJA: Porównałem mój /etc/ntp.confplik do peera, który również ma Lion, i zauważyliśmy, że mój plik zawiera:

0000000: 7365 7276 6572 2074 696d 652e 6170 706c  server time.appl
0000010: 652e 636f 6d2e 0a                        e.com..

podczas gdy jego miał:

0000000: 7365 7276 6572 2074 696d 652e 6170 706c  server time.appl
0000010: 652e 636f 6d                             e.com

Jego ostatnia data modyfikacji to połowa 2010 roku, podczas gdy moja była ostatnio modyfikowana zaledwie tydzień lub dwa lata temu (mniej więcej w momencie, gdy problem się zaczął?). Z pewnością nie edytowałem ręcznie pliku. Być może powiązane?

EDYCJA 2: Zauważyłem, że jeśli zmienię serwer czasu w „Data i godzina” na powiedzmy Azję, mój /etc/ntp.confplik stanie się:

0000000: 7365 7276 6572 2074 696d 652e 6173 6961  server time.asia
0000010: 2e61 7070 6c65 2e63 6f6d 2e0a            .apple.com..

w komplecie ze znakiem końcowym 0x2e. Wygląda więc na to, że OS X dodaje końcowe. automatycznie, ale nowy system Lion nie zawiera tej końcowej postaci. Nadal nie jestem pewien, czy wpływa to na synchronizację.

EDYCJA 3: Minęły 24 godziny, odkąd zmieniłem serwer czasu na „Apple Asia”, a następnie z powrotem na „Apple Americas” - brak przesunięcia czasu. Dziwaczny.

noffle
źródło
Tylko ogólny komentarz ... Myślałem, że zegar komputera powinien zachować lepszy czas, bez konieczności ciągłej ponownej synchronizacji z serwerem czasu? Mój komputer stacjonarny jest ustawiony na resynchronizację raz w tygodniu, ale nie traci zauważalnego czasu w tym okresie. Wiele lat temu, kiedy zwykłem serwisować komputery, powolny zegar systemowy był często wynikiem awarii baterii litowej ?!
MrWhite

Odpowiedzi:

6

Wygląda na to, że niektóre znaki specjalne zostały wstawione na końcu (szczególnie część 0x2e, która reprezentuje prosty .), a OS X interpretuje to teraz jako część nazwy serwera. Aby to naprawić, po prostu uruchom

sudo echo server time.apple.com > /etc/ntp.conf
sudo chown root:wheel /etc/ntp.conf

z terminalu.

Co do tego, dlaczego masz ten problem, nie mam pojęcia.

nohillside
źródło
Podejrzewałem tak samo. Edytowałem już plik, aby nie zawierał znaku 0x2e, i zrestartowałem, i w zasadzie czekam, aby zobaczyć, czy ponownie zgromadzę znaczący dryf. Mimo to chciałbym wiedzieć, jak to się mogło stać i dlaczego otwarcie „Data i czas” powoduje, że najwyraźniej nie używa pliku ntp.conf do ponownej synchronizacji?
noffle
1
Zmiana serwera z „Data i godzina” prawdopodobnie również rozwiązałaby ten problem. Otwarcie panelu bez żadnych zmian nie powoduje aktualizacji pliku konfiguracji.
nohillside
Podczas zmiany serwera czasu za pomocą okna dialogowego „Data i czas” OS X zmienia ntp.confplik tak, aby zawierał znak 0x2e i końcowy znak nowej linii. Nie sądzę, że to jest przyczyna.
noffle
Ach, kiedy zmieniam nazwę serwera za pomocą „Data i godzina”, pojawia się ciąg dalszy. także. Wygląda więc na problem z lwem.
nohillside
2

Ponieważ (eksperymentalnie) wprowadziłem następującą zmianę, przestałem mieć problemy z przesunięciem zegara, mimo /etc/ntp.confże zawartość pliku nie zmienia się technicznie:

Otwórz Date & Timeokno ustawień, zmień serwer czasu z Apple Americas/U.S. (time.apple.com)na, Apple Asia (time.asia.apple.com)a następnie z powrotem na Apple Americas/U.S. (time.apple.com). Odtąd moje codzienne przesunięcie czasu przestało występować.

To raczej niezadowalająca odpowiedź - chciałbym zmienić wybraną odpowiedź, jeśli ktoś wymyśli prawdziwą, podstawową przyczynę.

noffle
źródło
Chociaż nie jest to ostateczna odpowiedź, zdarzało się, że pliki .plist ulegały uszkodzeniu i powodowały różnego rodzaju problemy, które pozornie zostały naprawione poprzez dokonanie „radykalnej” zmiany preferencji, a następnie powrót do „normalności”. Wymusza to ponowne zapisanie pliku .plist, zastępując uszkodzone bity.
IconDaemon