Zainstalowałem kilka dni temu Manjaro 0.8.7.1 ze środowiskiem Xfce. Wszystko działa świetnie poza wskazaniem systemowego zegara - pokazuje on czas przesunięty o 2 godziny do przodu tj. zamiast np. 10.00 mam 12.00. Polecenie
timedatectl status
zwraca:
Local time: czw 2013-09-19 11:00:23 CEST
Universal time: czw 2013-09-19 09:00:23 UTC
RTC time: czw 2013-09-19 09:00:23
Timezone: Europe/Warsaw (CEST, +0200)
NTP enabled: yes
NTP synchronized: yes
RTC in local TZ: no
DST active: yes
Last DST change: DST began at
nie 2013-03-31 01:59:59 CET
nie 2013-03-31 03:00:00 CEST
Next DST change: DST ends (the clock jumps one hour backwards) at
nie 2013-10-27 02:59:59 CEST
nie 2013-10-27 02:00:00 CET
Polecenie
ps -A | grep ntpd
daje:
974 ? 00:00:00 ntpd
Synchronizacja czasu z serwerem działa, ale dopiero po 10 minutach od startu systemu. Czy można jakoś skrócić ten czas do np. 1 minuty? Czy to zależy od serwera, z którego się korzysta? Używałem wcześniejszych wersji Manjaro z Xfce i tam nie było problemu z wyświetlanym czasem.
Może dopiero po 10 min od włączenia masz dostęp do sieci? Chociaż nie, pewnie być to zauważył. Ale moim zdaniem nie tędy droga, albo masz źle ustawioną strefę czasową albo źle ustawiony zegar systemowy, stąd ta różnica w zegarze.
Jak widać powyżej, strefa czasowa jest ustawiona na Europe/Warsaw. Co do zegara, to wszystko jest OK w Windows, Ubuntu, Fedora i wszystkich innych - poza tą wersją Manjaro.
Pamiętam, że też miałem taki problem. Zgodnie z ogólnymi zaleceniami przekonfigurowałem komputer (i równoległego Windowsa), żeby chodził w UTC, ale zegar (w sensie appletu w pasku zadań) automatycznie bierze czas lokalny. Pomogło mi skopiowanie pliku /usr/share/zoneinfo/UTC do /etc/ i zmiana nazwy na localtime (stary plik lepiej zbackupować). Teraz wszystkie trzy zegary (sprzętowy, lokalny i UTC) mają jedną, poprawną, wartość.
Dziękuję Wam za odpowiedzi. Zastosowałem sposób podany przez @Frankfurterium i działa. Teraz mam tak:
[tomek@x54h ~]$ timedatectl status
Local time: czw 2013-09-19 20:13:49 UTC
Universal time: czw 2013-09-19 20:13:49 UTC
RTC time: czw 2013-09-19 20:13:49
Timezone: n/a (UTC, +0000)
NTP enabled: yes
NTP synchronized: yes
RTC in local TZ: no
DST active: n/a
cat /etc/adjtime
cat: /etc/adjtime: Nie ma takiego pliku ani katalogu
cat /etc/ntp.conf
# With the default settings below, ntpd will only synchronize your clock.
#
# For details, see:
# - the ntp.conf man page
# - http://support.ntp.org/bin/view/Support/GettingStarted
# - https://wiki.archlinux.org/index.php/Network_Time_Protocol_daemon
# Associate to public NTP pool servers; see http://www.pool.ntp.org/
#server 0.pool.ntp.org
#server 1.pool.ntp.org
#server 2.pool.ntp.org
# Only allow read-only access from localhost
restrict default noquery nopeer
restrict 127.0.0.1
restrict ::1
# Location of drift file
driftfile /var/lib/ntp/ntp.drift
server 127.127.1.0 # local clock
fudge 127.127.1.0 stratum 10
server tempus1.gum.gov.pl iburst
server tempus2.gum.gov.pl iburst
hwclock && date
czw, 19 wrz 2013, 20:20:47 -0.500569 sekund
czw, 19 wrz 2013, 20:20:47 UTC
hwclock -D
hwclock z pakietu util-linux 2.23.2
Używany interfejs: /dev interface to clock.
Przyjęto, że zegar sprzętowy przechowuje czas UTC.
Oczekiwanie na przeskok zegara...
...wyłapano przeskok zegara
Czas odczytany z zegara sprzętowego: 2013-09-19 20:21:39
Czas zegara sprzętowego: 2013-09-19 20:21:39 = 1379622099 sekund po 1969
czw, 19 wrz 2013, 20:21:39 -0.519012 sekund
ls -l /etc/localtime
-rw-r--r-- 1 root root 118 19.09.2013 20:10 /etc/localtime
Z tego co widzę nie miałeś pliku /etc/localtime, utworzyłeś z poradą Frankfurterium , chociaż według Arch Wiki powinien on być tylko symlink, u mnie jest tak:
Plik /etc/localtime był wcześniej. To właśnie był symlink do /usr/share/zoneinfo/Europe/Warsaw - i nie działało dobrze. Podmieniłem go plikiem wskazanym przez @Frankfurterium i teraz jest dobrze.
Pewnie związane to z tym będzie że ja mam zegar sprzętowy ustawiony jako localtime:
hwclock z pakietu util-linux 2.23.2
Używany interfejs: /dev interface to clock.
Ostatnia korekta niedokładności wykonana 1337518040 sekund po 1969
Ostatnia kalibracja wykonana 1337518040 sekund po 1969
Zegar sprzętowy przechowuje czas lokalny
Przyjęto, że zegar sprzętowy przechowuje czas lokalny.
U ciebie jest UTC, pamiętam właśnie że miałem podobny problem tylko że rozwiązałem go ustawienie zegara sprzętowego w localtime.
Linux wymaga wielkiej miłości Wyobraźcie sobie, że po tych wszystkich manewrach zauważyłem, że 15 minut po włączeniu kompa czas zostaje cofnięty o 2 godziny i zegarek spóźnia się o te 2h :o . Pomogło (tak mi się wydaje, bo już jest 20’ po załadowaniu systemu i czas jest nadal prawidłowy) wyłączenie demona ntpd
Podejrzewam, że dałoby się to zrobić w któryś z tych albo innych podobnie cywilizowanych sposobów, ale przeniesienie pliku było pierwsze w Google’u i od razu zadziałało