Czy ktoś się zastanawiał jak nasz komputer lub też system operacyjny odmierza czas? Problem jest niebanalny, jakkolwiek niezauważalny, jeżeli korzysta się z jednego systemu. W przypadku wielu systemów na jednym komputerze jest to zawsze pewien zgrzyt.
Ale od początku. Zacznijmy od czasu sprzętowego. Z angielska Real Time Clock lub CMOS clock. Jest on ustawiony w naszym biosie. Czas ten ustawiamy z palca lub też system operacyjny stosownie go modyfikuje zapisując "właściwy". Oznacza to, że czas sprzętowy i czas systemowy, czyli ten odmierzany przez nasz software, mogą być różne. Czasami jest to źródłem nieporozumień. Jeżeli jest jeden system on zawsze wie jaki ustawić czas systemowy względem czasu sprzętowego. W przypadku wielu systemów może się okazać, że procedury ustawiania czasu są różne.
Przyjęła się taka umowa, że niezmienny jest czas uniwersalny UTC. Pozostałe czasy, mowa o czasach lokalnych, wyznaczane są w relacji do UTC z uwzględnieniem offsetu wynikającego z oddalenia od położenia zerowego. Tą samą konwencję stosują systemy unixowe - w tym (Mac) OS X, Linuksy i BSD. Czas sprzętowy z założenia jest czasem UTC. Czas systemowy jest czasem UTC z uwzględnieniem offsetu.
Do tej zasady nie stosują się windowsy. Czas jest zawsze czasem lokalnym. Przyjmijmy, że warszawskim. Warszawa jest w strefie czasowej UTC +1.
Co to oznacza w konsekwencji? Odpalamy windowsa mamy właściwy czas. Odpalamy na tym samym sprzęcie inny system unixowy - czas jest inny z dokładnością do godziny, dwóch w zależności od pory roku (a zmiana czasu ze względu na porę roku, to kolejna frustracja).
W linuksach zmiana standardu, czyli założenie, że czas sprzętowy jest czasem lokalnym, jest rzeczą bardzo prostą. Wystarczy w zbiorze (tekstowym)
/etc/default/rcS
dopisać linijkę
UTC=no