home über marty Party's Linux OpenBSD CDVerwaltung Greetz wieso marty44?? Links

Uhrzeit stellen mit einen DCF77-Empfänger

Meine Rechner haben immer irgendwie ein Problem mit der Uhrzeit. Wenn sie laufen und man die Uhrzeit stellt, dann stimmt diese genau solange, bis der Rechner wieder ausgeschaltet wird. Da ich nicht jedesmal Bock habe, die Uhrzeit von Hand neu zu stellen, habe ich mir aus dem Conrad einen DCF77-Empfänger (Artikelnummer: 967602-22) besorgt. Dieser wird über den Parallelport angeschlossen und ein Programm für Linux gibt es auch im Web unter http://www-stud.ims.uni-stuttgart.de/~voegelas/pcf.html. Es sollten die Kernelquellen vom aktuellen Kernel unter /usr/src/linux installiert sein. Die Installation funktioniert folgendermassen:

www:~# cd /usr/src
www:/usr/src# tar xvfz /von/wo/auch/immer/pcfclock-0.26.tar.gz
www:/usr/src# cd pcfclock-0.26
www:/usr/src/pcfclock-0.26# ./configure --sbindir=/sbin
www:/usr/src/pcfclock-0.26# make
www:/usr/src/pcfclock-0.26# make install
www:/usr/src/pcfclock-0.26# mknod -m 444 /dev/pcfclock0 c 181 0
www:/usr/src/pcfclock-0.26# mknod -m 444 /dev/pcfclock1 c 181 1
www:/usr/src/pcfclock-0.26# mknod -m 444 /dev/pcfclock2 c 181 2
www:/usr/src/pcfclock-0.26# cd /etc/

Hier muß die Datei conf.modules oder modules.conf (je nach System) bearbeitet werden. Folgende Zeile am Ende einfügen:
alias char-major-181 pcfclock


Weiter geht es mit der Installation:
www:/etc# depmod -a
www:/etc# cd init.d
Nun brauchen wir nur noch ein Startscript, welches während des Bootens ausgeführt wird. Dazu legt man die Datei /etc/init.d/pcfdate mit folgenden Inhalt an:
#!/bin/sh
/sbin/pcfdate -s

Jetzt die Datei ausführbar machen und noch einen symbolischen Link setzen:
www:/etc/init.d# chmod 755 pcfdate
www:/etc/init.d# cd ../rc2.d
www:/etc/rc2.d# ln -s ../init.d/pcfdate S90pcfdate

Jetzt wird bei jeden Start des Rechners erst mal die Uhr gestellt. Das sollte eigentlich reichen. Wer auf Nummer sicher gehen will, kann sich einen cron-Job definieren, der zum Beispiel alle 12 Stunden die Uhr nachstellt. Allerdings sollte dies in einen Shellscript geschehen, was erst circa 30 Sekunden wartet und dann die Uhr stellt. Sonst kann es sein, das cron mehrmals versucht, die Uhr zu stellen ;).
Weiterhin gibt es in Samba die Möglichkeit, einen Zeitserver einzurichten. Dazu muß in der smb.conf im Abschnitt [global] folgende Zeile eingefügt werden:
time server = true

Unter Windows wird dann mit folgenden Befehl dir Uhrzeit abgeglichen:
net time \\namedessambaservers /set /y

Idealweise setzt man diesen Befehl in ein Loginscript.
Viel Spaß mit "nie-wieder-Uhr-stellen" ;). Das einzig blöde ist, das man mit jeden neuen Kernel die Installation noch einmal durchführen muß, da es sich um ein Kernelmodul handelt (nur make clean; ./configure --sbindir=/sbin; make; make install).

zurück zur Linuxübersicht
Letzte Aktualisierung dieser Seite: 27. Januar 2002