Unterabschnitte

Das Netdate-Paket

Dieses Paket wurde initial von Gilbert Forkel (E-MAIL gforkel@web.de) zusammengestellt und wurde von Jürgen Edner (E-MAIL juergen@eisfair.org) überarbeitet.

Die Einleitung

Jeder Computer besitzt zwei Uhren, eine Hardware- und eine Software-Uhr. Die Hardware-Uhr befindet sich auf der Systemplatine des Rechners (Motherboard) und läuft auch bei ausgeschaltetem Rechner weiter. Eine Batterie sorgt für die Spannungsversorgung im ausgeschalteten Zustand. Startet man nun den Linux-Server, so nimmt die Software- oder auch Systemuhr, nachdem sie ihre initiale Zeit und das Datum von der Hardware-Uhr bezogen hat, ihren Dienst auf. Da die Systemuhr der Prozessorlast unterliegt führt dies zwangsweise dazu, dass nach einiger Zeit beide Uhren nicht mehr synchron laufen.

An dieser Stelle kommt das Netdate-Paket ins Spiel.

Beim Rechnerstart, manuell, oder in regelmäßig Intervallen über einen Cron-Job gesteuert, wird nun die Systemuhr mit einem Zeitserver im Internet oder im lokalen Netzwerk abgeglichen. Anschließend wird die Hardware-Uhr nach diesen Vorgaben eingestellt.

Die Funktionen

Das Netdate-Paket besteht aus folgenden Komponenten:

Die Voraussetzungen

Dieses Paket benötigt zum Zeitabgleich Zugriff auf einen Zeitserver im Internet oder lokalen Netzwerk (Intranet). Standardmäßig wird für den Abgleich das UDP-Protokoll verwendet.

Die Installation

Das Netdate-Paket wird über das Setup-Menü installiert. Wird eine ältere Paketversion vorgefunden, so wird diese deinstalliert bevor die neuen Programmdateien installiert werden. Nach dem Installieren der Programmdateien wird direkt der Konfigurations-Editor gestartet um die Konfiguration anzupassen. Nach Beendigung dieses Schrittes werden die Konfigurationsdateien generiert und alle benötigten Programme gestartet.

Das Menü im Setup-Programm

Das Menü im Setup-Programm ist wie folgt aufgebaut:

Die Menüpunkte dürften selbsterklärend sein, da sie keinerlei weitere Eingabe erwarten. Deshalb wird auf deren Funktion nicht weiter eingegangen.

Die Änderung der Konfiguration

Die Konfiguration kann über den Menüpunkt 'Edit configuration' geändert werden. Standardmäßig wird der Editor aufgerufen, der in der Environment- Konfiguration über die Variable 'EDITOR' festgelegt wurde. Wird dies bestätigt, werden über ein Skript die Anpassungen umgehend wirksam gemacht.

Die Konfigurationsdatei

In der Konfigurationsdatei, die über das Menü zugänglich ist, sind folgende Parameter vorhanden; wer sie von Hand editieren will findet sie unter /etc/config.d/netdate.

Die Parameter

START_NETDATE

Für die Aktivierung des Netdate-Programms muss diese Variable lediglich auf den Wert 'yes' gestellt werden. Die Einstellung 'no' deaktiviert das Netdate-Programm.

Gültige Werte: yes, no

Standardeinstellung: START_NETDATE='yes'

NETDATE_LOGGING

Wird dieser Parameter auf 'yes' gestellt, so wird bei jedem Zeitabgleich eine Meldung in die System-Logdatei geschrieben, bei 'no' wird dies unterlassen.

Gültige Werte: yes, no

Standardeinstellung: NETDATE_LOGGING='yes'

NETDATE_SYNC_TIME_ON_STARTUP

Wird dieser Parameter auf 'yes' gestellt, so wird bei jedem Neustart des Rechners ein Zeitabgleich durchgeführt. Wird der Parameter auf 'no' gesetzt, so wird diese Funktion deaktiviert.

Gültige Werte: yes, no

Standardeinstellung: NETDATE_SYNC_TIME_ON_STARTUP='yes'

NETDATE_TIMESERVER

Über diese Parameter wird der Zeitserver definiert, der für einen Zeitabgleich genutzt werden soll. Dabei ist es möglich auch mehrere Zeitserver anzugeben, mit denen gleichzeitig ein Zeitabgleich durchgeführt werden soll. Die Server müssen dann jeweils durch ein Leerzeichen von einander getrennt werden. Optional kann vor einem Server das Protokoll 'tcp' oder 'udp' angegeben werden. Wird kein Protokoll angegeben, so wird automatisch 'udp' verwendet.

ACHTUNG
Bei der Zeitsynchronisation treten in letzter Zeit vermehrt Probleme auf, weil von den Zeitservern das standardmäßige für den Zugriff verwendete 'udp'-Protokoll gesperrt wurde. Dies kann, in Kombination mit einer nicht optimalen Timeout-Behandlung des netdate-Programms, dazu führen, dass der Zeitabgleich z.B. beim Systemstart scheitert. Falls das beschriebene Fehlerbild auftritt, sollte man versuchen dem Zeitserver ein 'tcp' voranzustellen.


Gültige Werte: Name eines Zeitservers

Standardeinstellung: NETDATE_TIMESERVER='tcp ptbtime1.ptb.de tcp ptbtime2.ptb.de'

NETDATE_CRON

Wird dieser Parameter auf 'yes' gestellt, so erfolgt ein automatisierter Zeitabgleich in dem über die Variable NETDATE_CRON_SCHEDULE vorgegebenen Zeitintervall. Die Einstellung 'no' deaktiviert den automatischen Zeitabgleich.

Gültige Werte: yes, no

Standardeinstellung: NETDATE_CRON='yes'

NETDATE_CRON_SCHEDULE

Hier wird festgelegt zu welchem Zeitpunkt bzw. in welchem Intervall ein automatisierter Zeitabgleich erfolgen soll. Dieser Parameter wird nur verwendet, wenn NETDATE_CRON auf 'yes' gesetzt wurde. Die fünf Teilparameter haben dabei folgende Bedeutung:

1 - Minuten, 2 - Stunden, 3 - Tag des Monats, 4 - Monat, 5 - Wochentag.

D.h. bei Verwendung der Standardeinstellung wird stündlich, um 8 Minuten nach der voller Stunde, ein Zeitabgleich durchgeführt. Wer Näheres über die verwendete Befehlssyntax erfahren möchte, sollte über eine Internet-Suchmaschine nach 'man' und 'crontab' suchen.

Gültige Werte: Crontab-spezifischer Parametereintrag

Standardeinstellung: NETDATE_CRON_SCHEDULE='8 0-23/1 * * *'

Weitere Informationen

Wer mehr über Zeiten, Zeitabgleich oder Zeitserver erfahren möchte kann über die folgende URL weitere Informationen im Internet abrufen:

http://www.bldrdoc.gov/timefreq/service/time-servers.html