Wojtek Tylkowski - Punktualny zegar systemowy
wojtek

Wojtek Tylkowski - strona domowa


Dzisiejsza data: , godzina:
Przyszedłeś tu ze strony ...

Facebook

O mnie    Teksty    Praca    Hobby    Zdjęcia   



PUNKTUALNY ZEGAR SYSTEMOWY


Punktualny zegar potrzebny jest wszędzie a co dopiero mówić o komputerze. Spóźniający się zegar systemowy może doprowadzić do szału każdego, a co dopiero mówić o sytuacji, gdy zegar spóźnia się codziennie o kilka godzin. W artykule opiszę podstawy używania i ustawiania zegara w systemie Linux.

Aby sprawdzić aktualną datę i godzinę na konsoli wystarczy wydać polecenie date. Wyświetli nam się aktualna godzina i data systemowa. Poleceniem date można zmieniać także aktualny czas. Zmiany te będą aktualne tylko do restartu komputera. Dlaczego? Otóż w Linuksie są 2 zegary: jeden sprzętowy (w BIOS-ie) a drugi systemowy (pracujący podczas pracy systemu. Polecenie date uaktualnia zegar systemowy, a więc ten “wirtualny”. Aby trwale zapsać aktualną datę w pamięci CMOS (trwałej) należy użyć polecenia clock -w (dostępne tylko z konta root-a). Normalnie przy starcie komputera zegar jest oczytywany z bios-u w skryptach startowych, a przy zamykaniu go – jest zapisywany do pamięci nieulotnej.

Ciekawą opcją programu clock jest poprawianie błędu systematycznego. Oznacza to, że jeśli mamy zegar w biosie zepsuty (np. codziennie spieszy się o 5 sekund) to możemy skorygować. W pliku /etc/adjtime możemy ustawić ile sekund ma dodawać /odejmować na dobę nasz zegar systemowy w porównaniu do zegara sprzętowego. Znajdują się tam trzy liczby – pierwsza oznacza jest poprawką w sekundach na dzień (jak zegar spieszy się o 5 sekund na dzien, to powinno tam być -5).

Następna liczba mówi kiedy clock był ostatnio użyty. Niestety w formacie “liczba sekund od 1. sytcznia 1970 roku, co jest mało czytelne. Trzecia liczba to liczba sekund która pozostała po ostatniej poprawce. Aby skorzystać z mechanizmu automatycznego “poprawiania” zegara systemowego wystarczy ustawić parametr w /etc/adjtime a następnie wydać polecenie clock -a.
Polecenie to należy wykonywać codziennie, np. umieścić codzienne uruchomienie w cronie lub anacronie,

Jeżeli jesteśmy podłączeni na stałe do Internetu to możemy skorzystać z bardzo dokładnych wzorców czasu i zsynchronizować z nimi swój zegar. Protokół za to odpowiedzialny to ntp (network time protocol). Bez wnikania w szczegóły techniczne tego protokołu, dla potrzeb sieci lokalnej wystarczający jest dowolny tego typu serwer, wystarczy żeby działał. Przykładowe adresy takich serwerów to ntp.task.gda.pl (Polska), ntp.lth.se (Szwecja), ntp.public.otego.ac.nz (Nowa Zelandia). Najlatwiejszy do zapamietania jest jednak adres clock.via.net.

Aby odczytac co pokazuje zdalny zegar wydajemy komende rdate <adres serwera>, np. rdate ntp.task.gda.pl. Aby ustawić zegar na naszym komputerze należy podać rdate -s <nazwa serwera> Warto umieścić to polecenie w cronie raz dziennie, aby zawsze być “na czasie”

Wspomne tu jeszcze o systemie Windows. Jeśli mamy skonfigurowaną Sambę to w opcjach samby możemy ustawić “time server = yes” po tej operacji i restarcie Samby nasz komputer będzie służył Windowsom jako wzorzec czasu. Na stacji Windows należy wówczas użyć komendy “net time /yes”. Ustawi to zegar Windows zgodnie z czasem naszego serwera Liunuksowego. Komendę tę możemy wstawić np. do pliku wykonywanego poczas logowania do sieci Windows NT.


O mnie    Teksty    Praca    Hobby    Zdjęcia   

Warto odwiedzić: Tour4you - strona o zwiedzaniu gratis