24.05.2002, SuSE Listen Treffen in der schönen Hansestadt Hamburg. Da will ich hin und Du doch sicherlich auch. On Sunday 14 May 2000 19:54, Christoph Strins wrote: [...]
Wo muss ich meinen netdate Eintrag zum Uhrzeit synchronisieren machen, der nachdem eine Internet-Verbindung aufgebaut worden ist, ausgeführt werden soll? Bis jetzt hatte ich ihn immer in der /etc/ppp/ip-up als letztes aufgeführt. Das klappt jetzt aber bei der SuSE 8.0 anscheinend nicht mehr. [...] So langsam sollte ich mir einmal eine Vorlage für die automatische Beantwortung dieser Frage erstellen. :o)
Aus dem Archiv: probleme mit uhrzeit Datum: Fri, 12 Apr 2002 12:38:03 +0200 ---8<--- Probleme gibt es immer wieder mit der Unterschiedlichen Behandlung der Uhrzeit auf deinem Motherboard, man spricht von der real time clock (rtc), durch das jeweilige Betriebssystem. Dabei wird von Betriebssystemen aus dem Evil Empire beim booten diese Zeit einfach ausgelesen und als die Systemzeit des Betriebssystemes übernommen. Also: rtc Zeit = systime Damit bestimmt die rtc-time auch die Zeitzone in der Du dich befindest. Man schaut also einfach auf seine Armbanduhr und trägt diese Zeit im BIOS Setup ein. Früher musste man dann bei jeder Sommer/Winterzeit Umstellung die Zeit wieder neu einstellen, reichlich nervig. Mitlerweile können NT und W2k/XP selber eine Umstellung nach Winter/Sommerzeit. Dazu verwenden sie Tabellen in denen die Umstellungen vorgegeben werden. Auf vernünftigen Betriebssystemen wird das schon seit ewigen Zeiten anders gehandhabt. Wir nemen einmal ein Unix System *grins* Die rtc, wir wissen damit ist die Hardware Clock auf dem Board gemeint, wird auf UTC (früher nannte man das GMT) eingestellt. Im Betriebssystem wird die Zeitzone definiert, in der sich der Rechner gerade befindet. Also in unserem Fall Europe/Berlin oder UTC+1. UTC+1 ist unsere normale Zeitzone also MEZ. Wie wird die Zeit jetzt aber von einem Unix System interpretiert? Das wird etwas komplexer und weitaus pfiffiger als auf der Systemen aus dem Evil Empire ausgewertet. Das System bootet und holt sich die Zeit aus der rtc. Wie Dieter ja schon sagte wird jetzt erst einmal eine feste Spanne für die lokale Zeit hinzugefügt, normalerweise eine Stunde. Diese Informationen und die Informationen über Umstellungen während des Jahres wie die Sommer/Winterzeit Umstellung ist hinterlegt in der Datei /usr/share/zoneinfo/Europe/Berlin. ---nur falls interessiert Im Verzeichnis /usr/share/zoneinfo werden daneben auch noch eine Datei mit den ISO 3166 2-letter country codes , definiert z.B. das DE für Deutschland, iso3166.tab und eine Datei mit Angaben zu Längen und Breitengraden einiger Städte wie Berlin , zone.tab ---ende Damit wird schon einmal die aktuelle Zeitdifferenz zur rtc grob vorgegeben, jetzt wird das noch genauer eingegrenzt. Dieter hat ja bereits geschrieben, dass die Board Uhren nicht als sehr genau gelten, alle gehen mehr oder minder vor oder nach, man spricht vom sogenannten time-shift. Um auch noch diese Ungenauigkeiten zu eleminieren gibt es die Datei /etc/adjtime dort wird ein Korrekturfaktor für Deine rtc angegeben. Allerdings nur, wenn Du sie irgendwann einmal nachgestellt haben solltest und das auch nur dann wenn Du es mit hwclock gemacht hast. Aber dazu etwas später. Solch eine Datei kann folgendermassen aussehen: ---/etc/adjtime--- -3.127072 1018601965 0.000000 1018601965 UTC ---/etc/adjtime--- Und damit kann auch eine kleinere Ungenauigkeit der rtc bei jedem booten des Systemes wieder korrigiert werden. Die so bestimmte Systemzeit gilt jetzt als das "Mass aller Dinge" bis zum nächsten boot Vorgang des Systemes und das kann ewig dauern. Kurz gefasst: Booten - rtc auslesen - Timezone auslesen - timeshift auslesen - Unix Systemzeit ermitteln Soviel zur Zeit eines Unix Systemes oder Systemzeit. Jetzt zum Nachstellen der Zeit von einem Zeitserver aus dem Internet: Es gibt von der Physikalisch technischen Bundesanstalt in Braunschweig einige Zeitserver die Ihre Urzeit wieder aus der/?den? Atomuhren der PTB beziehen. Mit einer Genauigkeit von Sekunde/Jahrmillion soweit ich mich erinnern kann. Die kann man z.B. bei jeder Verbindung, die man mit dem Modem aufbaut automatisch zur korrektur der Systemzeit und auch der rtc heranziehen. Dazu wird eine eigene Datei /etc/ppp/ip-up.local erstellt in der folgende Zeilen einzutragen sind: \\ ist ein Zeilenumbruch ---/etc/ppp/ip-up.local--- # Timeserver aufruf, ptba Braunschweig echo "Netdate aufgerufen" 1> /dev/xconsole netdate -l 1 tcp ptbtime1.ptb.de ptbtime2.ptb.de \\ 127.0.0.1 1> /dev/xconsole hwclock --systohc ---/etc/ppp/ip-up.local--- Mit netdate wird einer der Zeitserver ermittelt der ausgelesen wird. Die 127.0.0.1 sollte man unbedingt einfügen damit es keinen Ärger gibt. Falls die Zeitserver mal nicht erreichbar sind wird deine eigene Zeit genommen. Mit "hwclock --systohc" wird die rtc auf die systime neu gestellt. Und dabei wird auch ein eintrag in die Datei /etc/adjtime geschrieben. Das wars, puhh. Ich glaub viel mehr gibts dazu nicht zu sagen. Damit solltest Du schon einmal in der Lage sein deine Zeit zu bestimmen*grins* Tschüss, Thomas p.s. David unser Liststatist(iker), ist es eigendlich zulässig so seine Statistik nach oben zu pushen oder habe ich mit Repressialien zu rechnen *lach* -- SuSE Listen Treffen in der schönen Hansestadt Hamburg am 24.05.2002. Das ultimative, spannende, komunikative, enthusiastisch erwartete, von allen gewünschte und lang herbeigesehnte und nun endlich stattfindende SuSE Listen Treffen im Variable" (Karolinenstr. 23 / U2 Messehallen) im sonnigen und immer eine Reise werten Hamburg.