Zeit einstellen

> Mit yast habe ich einmal
> den NTP-Client angeworfen und immer die korrekte Zeit gehabt. Bei Debian
> lese ich, dass es bewusst keine 'Standard'-Konfiguration gibt, weil es
> sowieso jeder anders haben will. Leider kein Hinweis wo ich weiter lesen
> soll um 'meine' Konfiguration aufzusetzen...


Eigentlich ist das alles einfach. Wir haben drei verschiedene Zeiten, die wir erst einmal auseinanderhalten müssen, und das ist wirklich das schwierigste an der ganzen Sache....

Also, Deine Hardware hat eine eingebaute Uhr, die mehr oder weniger genau ist. Diese Uhr kannst Du im Bios einstellen. Von der Bios-Zeit nimmt sich das Betriebssystem einmalig beim Starten die Zeit und verwaltet sie dann unabhängig von der Hardware-Zeit, das ganze nenne ich mal "Systemzeit". (???folgendes nur für Debian???) Beim Herunterfahren des Rechners wird dann die Hardware-Uhr nach der der Systemzeit gestellt.

Die Systemzeit stellst Du am besten mit dem Kommando ntpdate ein, also beispielsweise:
ntpdate zeit.fu-berlin.de

Manche Leute packen sich diesen Befehl in ein Startskript oder in ein Skript, das nach einem Verbindungsaufbau mit dem Internet ausgeführt wird, das ist aber nicht zwingend notwendig und sollte nur gemacht werden, wenn man genau abschätzen kann, warum es in diesen speziellen Fall notwendig ist.

Dann gibt es noch die Ortszeit, also das, was Du als Benutzer oder in den Logdateien zu sehen bekommst. Die Ortszeit ergibt sich aus der Systemzeit, auf der dann die Sommer/Winterzeit sowie die Zeitzone addiert wird.

Die Ortszeit stellst Du normalerweise nur einmal beim Installieren ein, es gibt auch spezielle Installationsmethoden bei denen das nicht gemacht wird, Du musst es dann nachholen. Für die Zeitzoneneinstellung in Debian ist das Paket "tzdata" verantwortlich. Du solltest dieses Paket installieren, warscheinlich ist das aber schon installiert.

Das Einstellen der Zeitzone geht dann entweder über das Paketsystem:
dpkg-reconfigure tzdata
oder Du benutzt das mitgelieferte Programm tzselect, oder Du konfigurierst die Konfigurationsdatei /etc/timezone per Hand. Wie auch immer Du Dich entscheidest, wenn Dein Rechner in Deutschland steht  sollte in dieser Datei dann "Europe/Berlin" stehen.

Jetzt kann es vorkommen, dass Deine Uhr nicht wirklich synchron läuft, Du willst jedoch eine automatische Anpassung haben. Dazu gibt es das Programm ntpd, das sich automatisch mit einem ganzen Pool von Zeitservern im Internet verbindet und die Uhr automatisch nachstellt. Das Ganze funktioniert so hochgenau, dass sogar die Ungenauigkeit der Hardwareuhr berechnet werden kann und in gewissen Grenzen ausgeglichen wird. Das bedeutet, sogar bei einer nicht bestehenden Internetverbindung ist Deine Uhr sehr sehr genau.

Das Programm ntpd stellt die Zeit nicht "hart" oder in "Sprüngen" ein, sondern "staucht" oder "dehnt" die Systemzeit etwas, so das die genaue Zeit erst nach einer gewissen Einlaufphase eingestellt ist. Außerdem verweigert ntpd seine Dienste, wenn die festgestellte Systemzeit und die von den Zeitservern bekommene Zeit mehr als einige dutzend Sekunden
auseinander liegt. Deshalb dürfte bei Dir die Zeit nicht automatisch gestellt worden sein, vermute ich.

Warum dieses Verhalten erwünscht ist kannst Du ja in den Hilfeseiten nachlesen, es reicht sich zu merken das ntpd die Zeit sehr genau stellt, das jedoch nicht tut wenn die gemessene Systemzeit zu falsch ist. Du installierst ntpd mit dem Befehl:
aptitude install ntp
Das Paket ntp enthält den Client und den Server. Wenn Du einfach nur Deine Zeit syncronisieren willst musst Du nichts weiter tun, das Paket ntp ist darauf schon richtig konfiguriert. Du musst die Konfiguration nur verändern, wenn Du selbst Zeitserver anbieten möchtest, beispielsweise in einem Netzwerk ist das manchmal sinnvoll.

Der ganze Ablauf in Kurzfassung für Debian

aptitude install ntpdate ntp tzdata
/etc/init.d/ntp stop
ntpdate zeit.fu-berlin.de
hwclock --systohc
dpkg-reconfigure tzdata
/etc/init.d/ntp start


Damit sollte eigentlich _alles_ gut sein.