HWCLOCK(8)

BEZEICHNUNG
hwclock - die Hardware-Uhr (RTC) abfragen oder einstellen

ÜBERSICHT
hwclock [Funktion] [Option…]

BESCHREIBUNG
hwclock ist ein Werkzeug, mit dem Sie auf die Hardware-Uhr zugreifen können. Sie können die aktuelle Zeit anzeigen, die Hardware-Uhr auf eine angegebene Zeit stellen, die Hardware-Uhr nach der Systemzeit stellen lassen oder umgekehrt.

Sie können hwclock auch periodisch ausführen, um Zeit zur Hardware-Uhr hinzuzufügen oder davon abzuziehen. Dadurch können Sie eine systematische Abweichung ausgleichen (wenn die Uhr um einen konsistenten Betrag von der realen Zeit abweicht).

FUNKTIONEN
Sie benötigen genau eine der folgenden Optionen, um hwclock mitzuteilen, welche Funktion ausgeführt werden soll:

-r, --show
    liest die Hardware-Uhr und schreibt die Zeit in die Standardausgabe. Die angezeigte Zeit ist stets die lokale Zeit, selbst wenn Sie die Hardware-Uhr auf die Weltzeit (UTC) eingestellt haben, siehe die Option --utc. Die Anzeige der Zeit der Hardware-Uhr ist die Vorgabe, wenn keine sonstigen Funktionen angegeben sind.

--set
    stellt die Hardware-Uhr auf die Zeit, die mit der Option --date angegeben wird.

-s, --hctosys
    stellt die Systemzeit auf die Zeit der Hardware-Uhr. Außerdem wird der Zeitzonenwert des Kernels auf die durch die Umgebungsvariable TZ und/oder /usr/share/zoneinfo gegebenen Werte festgelegt, wenn tzset(3) diese auswerten würde. Das veraltete Feld tz_dsttime des Kernel-Zeitzonenwerts wird auf DST_NONE gesetzt. Details zur ehemaligen Bedeutung dieses Feldes finden Sie in settimeofday(2). Dies ist eine gute Option für die Ausführung in einem der Startskripte des Systems.

-w, --systohc
    stellt die Hardware-Uhr auf die aktuelle Systemzeit.

--systz
    Set the kernel's timezone and reset the System Time based on the current timezone. The system time is only reset on the first call after boot. The local timezone is taken to be what is indicated by the TZ environment variable and/or /usr/share/zoneinfo, as tzset(3) would interpret them. The obsolete tz_dsttime field of the kernel's timezone value is set to DST_NONE. (For details on what this field used to mean, see settimeofday(2).) This is an alternate option to --hctosys that does not read the hardware clock, and may be used in system startup scripts for recent 2.6 kernels where you know the System Time contains the Hardware Clock time. If the Hardware Clock is already in UTC, it is not reset.

--adjust
    fügt Zeit zur Hardware-Uhr hinzu oder zieht diese ab, um eine systematische Abweichung seit dem letzten Setzen oder Anpassen der Hardware-Uhr auszugleichen. Siehe nachfolgende Erklärungen.

--getepoch
    gibt den Epoch-Wert der Hardware-Uhr des Kernels in die Standardausgabe aus. Dies ist das Jahr, auf dass sich der Nullwert der Hardwareuhr bezieht. Wenn Sie zum Beispiel die Konvention verwenden, dass die Jahreszählung in der Hardware-Uhr die Anzahl der vollen Jahre seit 1952 enthält, dann muss der Epoch-Wert der Hardware-Uhr des Kernels auf 1952 gesetzt werden. Dieser Epoch-Wert wird verwendet, wenn hwclock die Hardware-Uhr ausliest oder stellt.

--setepoch
    setzt den Epoch-Wert der Hardware-Uhr des Kernels auf den durch die Option --epoch angegebenen Wert. Siehe die Option --getepoch für Details.

--predict
    sagt voraus, welche Zeit die Echtzeituhr (RTC) zur mit der Option --date angegebenen Zeit anzeigen wird, basierend auf der adjtime-Datei. Dies ist beispielsweise dann sinnvoll, wenn Sie einen in ferner Zukunft auszulösenden Alarm einstellen und die Abweichung der Uhr berücksichtigen lassen wollen.

-c, --compare
    Periodically compare the Hardware Clock to the System Time and output the difference every 10 seconds. This will also print the frequency offset and tick.

-h, --help
    Display help text and exit.

-V, --version
    Display version information and exit.

OPTIONEN

Die ersten zwei Optionen beziehen sich lediglich auf wenige spezifische Funktionen, während die anderen auf die meisten Funktionen anwendbar sind.

--date=Datumszeichenkette
    Sie benötigen diese Option, wenn Sie die Funktionen --set oder --predict angeben, anderenfalls wird sie ignoriert. Sie gibt die Zeit an, auf welche die Hardware-Uhr gesetzt werden soll, oder die Zeit, für die die Anzeige der Hardware-Uhr vorhergesagt werden soll. Der Wert dieser Option ist ein Argument für das Programm date(1). Beispiel:

    hwclock --set --date="2011-08-14 16:45:05"

    Das Argument muss in lokaler Zeit angegeben werden, selbst wenn Sie Ihre Hardware-Uhr auf Weltzeit (UTC) eingestellt haben. Siehe Option --utc.

--epoch=Jahr
    legt das Startjahr des Epoch-Wertes der Hardware-Uhr fest. Dies ist die Anzahl der Jahre bis zum aktuellen Jahr ausgehend vom Nullwert in der Jahreszählung der Hardware-Uhr. Dies wird zusammen mit der Option --setepoch verwendet, um den Epoch-Wert der Hardware-Uhr des Kernels zu setzen, oder anderenfalls zum Angeben des Epoch-Wertes für den direkten ISA-Zugriff. Beispiel für einen Digital-Unix-Rechner:

    hwclock --setepoch --epoch=1952

-u, --utc

--localtime
    gibt an, dass die Hardware-Uhr auf Weltzeit bzw. lokale Zeit gestellt ist. Es ist Ihnen überlassen, ob Sie das eine oder das andere Zeit bevorzugen, aber nichts in der Uhr deutet darauf hin, wie Sie sich entschieden haben. Sie übergeben also mit dieser Option die nötige Information hierzu an hwclock. Falls Sie die falsche aus diesen Optionen angeben (oder gar keine und die falsche Vorgabe wählen), werden sowohl das Setzen als auch das Abfragen durcheinandergebracht. Falls Sie weder --utc noch --localtime angeben, wird als Vorgabe jenes übernommen, was beim letzten Aufruf zum Setzen der Hardware-Uhr mit hwclock verwendet wurde (das heißt, als hwclock erfolgreich mit den Optionen --set, --systohc oder --adjust aufgerufen wurde). Diese Einstellung ist in der adjtime-Datei gespeichert. Falls die adjtime-Datei nicht existiert, wird die UTC-Zeit als Vorgabe verwendet.

--noadjfile
    deaktiviert die von /etc/adjtime bereitgestellten Leistungen. hwclock liest oder schreibt nicht in diese Datei, wenn diese Option angegeben ist. Entweder --utc oder --localtime müssen mit dieser Option angegeben werden.

--adjfile=Dateiname
    übergeht die vorgegebene Datei /etc/adjtime.

-f, --rtc=Dateiname
    übergeht den vorgegebenen Dateinamen für /dev. Dies ist /dev/rtc auf vielen Plattformen, kann aber auch /dev/rtc0, /dev/rtc1 usw. sein.

--directisa
    Diese Option ist nur auf einer ISA- oder Alpha-Maschine von Bedeutung, wobei Letztere einfach ausgedrückt auch eine ISA-Maschine für die Zwecke von hwclock ist. Auf anderen Maschinen hat dies keine Auswirkungen. Diese Option weist hwclock explizit an, E/A-Anweisungen für den Zugriff auf die Hardware-Uhr vorzunehmen. Ohne diese Option versucht hwclock das Gerät /dev/rtc zu verwenden, wobei angenommen wird, dass dieses mit dem RTC-Gerätetreiber läuft. Falls es nicht möglich sein sollte, das Gerät (zum Lesen) zu öffnen, werden die expliziten E/A-Anweisungen dennoch angewendet.

--badyear
    gibt an, dass die Hardware-Uhr unfähig ist, Jahresangaben außerhalb des Bereiches 1994-1999 korrekt zu speichern. In einigen BIOS-Versionen gibt es ein Problem (fast alle Award-BIOS zwischen dem 26.04.1994 und dem 31.05.1995), das die korrekte Verarbeitung der Jahre nach 1999 verhindert. Falls Sie versuchen, das Jahr der Jahrhundertwende auf weniger als 94 (bzw. 95 in einigen Fällen) zu setzen, dann wird der tatsächliche Wert auf 94 (oder 95) gesetzt. Sollten Sie eine dieser Maschinen betreiben, dann ist hwclock nicht in der Lage, das Jahr nach 1999 korrekt zu setzen, daher kann dieser Wert der Uhr nicht als wirkliche Zeit verwendet werden. To compensate for this (without your getting a BIOS update, which would definitely be preferable), always use --badyear if you have one of these machines. When hwclock knows it's working with a brain-damaged clock, it ignores the year part of the Hardware Clock value and instead tries to guess the year based on the last calibrated date in the adjtime file, by assuming that date is within the past year. For this to work, you had better do a hwclock --set or hwclock --systohc at least once a year! Obwohl hwclock die Jahresangabe beim Lesen der Hardware-Uhr ignoriert, wird dennoch der Jahreswert eingefügt, wenn die Uhr eingestellt wird. Er wird auf 1995, 1996, 1997 oder 1998 gestellt, je nachdem, welches davon die gleiche Position im Schaltjahreszyklus wie das tatsächliche Jahr hat. Auf diese Weise fügt die Hardware-Uhr Schalttage ein, wo sie hingehören. Und wieder: Falls Sie die Hardware-Uhr länger als ein Jahr laufen lassen, ohne sie einzustellen, kann dieses Schema scheitern und Sie können einen Tag verlieren. hwclock warnt Sie, dass Sie möglicherweise --badyear benötigen, falls die Hardware-Uhr auf 1994 oder 1995 gesetzt ist.

--srm
    Diese Option ist gleichbedeutend mit --epoch=1900 und wird zum Setzen des üblichsten Epoch-Wertes auf Alpha-Rechnern mit SRM-Konsole verwendet.

--arc
    Diese Option ist gleichbedeutend mit --epoch=1980 und wird zum Setzen des üblichen Epoch-Wertes auf Alpha-Rechnern mit ARC-Konsole verwendet (aber die Ruffian-Boards haben den Epoch-Wert 1900).

--jensen

--funky-toy
    Diese beiden Optionen geben die Art der verwendeten Alpha-Maschine an. Sie sind unzulässig, falls Sie keine Alpha-Maschine betreiben und selbst dann nicht erforderlich, denn hwclock sollte in der Lage sein, selbständig herauszufinden, worauf es läuft, mindestens dann, wenn /proc eingehängt ist. Falls Sie feststellen, dass Sie eine dieser Optionen benötigen, damit hwclock läuft, kontaktieren Sie den Betreuer dieses Programms. Möglicherweise lässt sich das Programm so verbessern, dass Ihr System automatisch erkannt wird. Die Ausgaben von »hwclock --debug« und »cat /proc/cpuinfo« dürften dabei von Interesse sein. Die Option --jensen gibt an, dass Sie ein Jensen-Modell betreiben, --funky-toy bedeutet, dass auf Ihrer Maschine in der Hardware-Uhr das UF-Bit anstelle des UIP-Bits verwendet werden muss, um den Zeitübergang zu erkennen. »Toy« im Namen der Option bezieht sich auf die »Time Of Year«-Einrichtung der Maschine.

--test
    führt alles aus, außer die tatsächliche Aktualisierung der Hardware-Uhr oder etwas Anderes. Dies ist speziell zusammen mit --debug sinnvoll, wenn Sie mehr über hwclock lernen wollen.

--debug
    zeigt ausführliche Informationen dazu an, wie hwclock intern arbeitet. Teile dieser Funktionalität sind recht komplex, so dass diese Ausgabe Ihnen helfen kann, zu verstehen, wie das Programm funktioniert.

ANMERKUNGEN

Uhren in einem Linux-System

Es gibt zwei Hauptuhren in einem Linux-System:

Die Hardware-Uhr: Diese Uhr läuft unabhängig von einem steuernden Programm auf der CPU, selbst wenn der Rechner ausgeschaltet ist. Auf einem ISA-System wird diese Uhr als Teil des ISA-Standards spezifiziert. Das Steuerprogramm kann diese Uhr in ganzen Sekunden stellen oder auslesen, aber es kann auch die Signalübergänge der Ein-Sekunden-Impulse erkennen, so dass die Uhr über virtuell unendliche Präzision verfügt.

Diese Uhr wird allgemein die Hardware-Uhr, die Echtzeituhr, die RTC, die BIOS-Uhr oder die CMOS-Uhr genannt. Der Begriff Hardware-Uhr wurde für hwclock gewählt, da alle anderen Namen unangemessen oder irreführend sind.

Zum Beispiel haben einige Nicht-ISA-Systeme ein paar Echtzeituhren, wobei nur eine davon ihre eigene Energieversorgung hat. Ein sehr energiesparender externer I2C- oder SPI-Uhrchip könnte mit einer Stützbatterie als Hardware-Uhr fungieren, um eine funktionellere integrierte Echtzeituhr zu initialisieren, die für die meisten anderen Zwecke verwendet wird.

Die Systemzeit: Dies ist die Zeit, die von einer Uhr im Linux-Kernel bereitgestellt und durch einen Timer-Interrupt gesteuert wird (auf einer ISA-Maschine ist der Timer-Interrupt Teil des ISA-Standards). Sie ist nur von Bedeutung, solange Linux auf der Maschine läuft. Die Systemzeit wird als die Anzahl der Sekunden seit dem 1. Januar 1970 um 00:00:00 Uhr Weltzeit ausgedrückt, oder anders formuliert, die Anzahl der seit 1969 vergangenen Sekunden. Die Systemzeit ist dennoch keine Ganzzahl. Sie hat virtuell unbegrenzte Präzision.

Die Systemzeit ist die Zeit, auf die es ankommt. Der grundlegende Zweck der Hardware-Uhr in einem Linux-System ist die Erhaltung der Zeit, wenn Linux nicht läuft. Sie initialisieren die Systemzeit aus der Zeit der Hardware-Uhr beim Start von Linux und verwenden die Hardware-Uhr danach nicht wieder. Beachten Sie, dass in DOS, wofür der ISA-Standard entworfen wurde, die Hardware-Uhr die einzig verfügbare Echtzeituhr ist.

It is important that the System Time not have any discontinuities such as would happen if you used the date(1L) program to set it while the system is running. You can, however, do whatever you want to the Hardware Clock while the system is running, and the next time Linux starts up, it will do so with the adjusted time from the Hardware Clock.

Ein Linux-Kernel verwaltet ein Konzept einer lokalen Zeitzonen für das System. Aber lassen Sie sich nicht in die Irre führen – beinahe niemand interessiert sich dafür, was der Kernel meint, in welcher Zeitzone er sich befindet. Stattdessen müssen Programme, für die die Zeitzone wichtig ist (um Ihnen beispielsweise die lokale Zeit anzuzeigen), fast immer einen etwas traditionelleren Weg wählen, um die Zeitzone zu ermitteln: Sie benutzen die TZ-Umgebungsvariable und/oder das Verzeichnis /usr/share/zoneinfo, wie in der Handbuchseite zu tzset(3) erklärt. Jedoch nutzen einige Programme und Teile des Linux-Kernels dessen Zeitzonenwert, zum Beispiel Dateisysteme. Ein Beispiel hierfür ist das vfat-Dateisystem. Ist der Zeitzonenwert im Kernel falsch gesetzt, werden vom vfat-Dateisystem falsche Zeitstempel gemeldet und gesetzt.

hwclock setzt den Kernel-Zeitzonenwert auf den durch die Umgebungsvariable TZ angegebenen und/oder aus /usr/share/zoneinfo ausgelesenen Wert, wenn Sie die Systemzeit mit der Option --hctosys setzen.

Der Zeitzonenwert besteht aus zwei Teilen: erstens dem Feld »tz_minuteswest«, das die Anzahl der Minuten angibt, die die lokale Zeit (nicht an Sommer-/Winterzeit angepasst) gegenüber der Weltzeit zurückbleibt, und zweitens dem Feld »tz_dsttime«, welches angibt, ob am entsprechenden Ort gerade Sommer- oder Winterzeit herrscht. Dieses zweite Feld wird unter Linux nicht genutzt und wird stets auf 0 gesetzt (siehe auch settimeofday(2)).

Users access and setuid

Sometimes, you need to install hwclock setuid root. If you want users other than the superuser to be able to display the clock value using the direct ISA I/O method, install it setuid root. If you have the /dev/rtc interface on your system or are on a non-ISA system, there's probably no need for users to use the direct ISA I/O method, so don't bother. In any case, hwclock will not allow you to set anything unless you have the superuser real uid. (This is restriction is not necessary if you haven't installed setuid root, but it's there for now).

Art des Zugriffs von hwclock auf die Hardware-Uhr

hwclock nutzt mehrere verschiedene Wege, die Werte der Hardware-Uhr auszulesen und zu setzen. Der normalste Weg ist der über Ein- und Ausgaben der speziellen Gerätedatei /dev/rtc, wobei davon ausgegangen wird, dass diese über den RTC-Gerätetreiber angesprochen werden kann. Jedoch ist diese Methode nicht immer verfügbar. Zum einen ist dieser RTC-Treiber relativ neu in Linux, ältere Systeme haben ihn nicht. Weiterhin gibt es durchaus Versionen, die auf DEC-Alphas funktionieren, aber auf weitaus mehr Alpha-Maschinen funktioniert der RTC-Treiber nicht (häufiges Symptom ist ein hängengebliebenes hwclock). Außerdem verfügen neuere Linux-Systeme über generischere Unterstützung für RTCs, sogar jene mit mehreren solchen Echtzeituhren. Daher kann es notwendig sein, die Vorgabe außer Kraft zu setzen, indem Sie stattdessen /dev/rtc0 oder /dev/rtc1 verwenden.

Auf älteren Systemen hängt die Art des Zugriffs auf die Hardware-Uhr von der Art der Systemhardware ab.

Auf einem ISA-System kann hwclock direkt über Ein- und Ausgaben der Ports 0x70 und 0x71 auf die CMOS-Speicherregister zugreifen, welche die Uhr darstellen. Es werden E/A-Anweisungen verwendet, was konsequenterweise nur funktionieren kann, wenn diese mit der effektiven Benutzerkennung des Superusers aufgerufen werden. Auf einer Jensen-Alpha-Maschine gibt es für hwclock keine Möglichkeit, diese E/A-Anweisungen auszuführen, daher wird stattdessen die spezielle Gerätedatei /dev/port verwendet, welche fast eine Low-Level-Schnittstelle zum E/A-Subsystem bereitstellt. Dies ist eine recht armselige Methode, auf die Uhr zuzugreifen, vor allem deshalb, weil Programme auf Anwenderebene generell nicht dafür bestimmt sind, direkte E/A-Vorgänge auszuführen und Interrupts zu deaktivieren. Hwclock bietet dies an, weil es auf ISA- und Alpha-Systemen die einzige Methode ist, die auch funktioniert, wenn RTC-Gerätetreiber nicht verfügbar sind.

Auf einem m68k-System kann hwclock mit dem Konsolentreiber auf die Uhr über die spezielle Gerätedatei /dev/tty1 zugreifen.

hwclock versucht, /dev/rtc zu verwenden. Falls es für einen Kernel kompiliert wurde, der diese Funktion nicht bietet oder sich /dev/rtc nicht öffnen lässt (oder die alternative Spezialdatei, die Sie in der Befehlszeile angegeben haben), greift hwclock auf eine andere Methode zurück, falls möglich. Auf ISA- und Alpha-Maschinen können Sie hwclock zwingen, die CMOS-Speicherregister direkt zu manipulieren, sogar ohne /dev/rtc, indem Sie die Option --directisa angeben.

Die Adjust-Funktion

Die Hardware-Uhr ist üblicherweise nicht sehr genau. Jedoch lässt sich die Genauigkeit recht gut vorhersagen – sie geht jeden Tag die gleiche Zeit vor oder nach. Dies nennt man die Systemabweichung. Mit der »adjust«-Funktion von hwclock können Sie die Systemabweichung ebenso systematisch korrigieren.

Es funktioniert folgendermaßen: hwclock verwaltet die Datei /etc/adjtime, in der einige historische Informationen gespeichert sind. Diese Datei wird adjtime-Datei genannt.

Nehmen wir an, Sie beginnen ohne adjtime-Datei. Sie rufen den Befehl hwclock --set auf, um die Hardware-Uhr auf die tatsächliche aktuelle Zeit zu stellen. Hwclock legt die adjtime-Datei an und zeichnet darin die Zeit als jene der letzten Kalibrierung der Uhr auf. Fünf Tage später geht die Uhr 10 Sekunden vor, und Sie rufen hwclock --set erneut auf, um die Uhr 10 Sekunden zurückzustellen. Hwclock aktualisiert die adjtime-Datei, zeichnet wiederum die aktuelle Zeit als den Zeitpunkt der letzten Kalibrierung auf, wobei diesmal 2 Sekunden pro Tag als systematische Abweichung protokolliert werden. 24 Stunden später rufen Sie den Befehl hwclock --adjust auf. Hwclock befragt die adjtime-Datei und stellt fest, dass die Uhr, wenn sie nicht korrigiert wird, 2 Sekunden pro Tag vorgeht. So zieht es die 2 Sekunden von der Zeit der Hardware-Uhr ab, da die Uhr genau 24 Stunden nicht korrigiert wurde. Die aktuelle Zeit wird auch wieder als die Zeit der letzten Kalibrierung aufgezeichnet. Noch einmal 24 Stunden später funktioniert der Befehl hwclock --adjust wieder auf die gleiche Weise: Hwclock zieht 2 Sekunden ab und aktualisiert die adjtime-Datei mit der aktuellen Zeit als letztem Kalibrierungszeitpunkt der Uhr.

Jedes Mal beim Kalibrieren (Stellen) der Uhr mittels --set oder --systohc berechnet hwclock die systematische Abweichung erneut, basierend auf der Zeitspanne seit der letzten Kalibrierung und der letzten Korrektur, der Annahme der systematischen Abweichung bei den zwischenzeitlichen Korrekturen und der Größe der Abweichung, die die Uhr derzeit hat.

Kleinere Fehler schlummern in hwclock bei jedem Korrekturvorgang der Uhr, so wird keine Korrektur vorgenommen, wenn die Abweichung weniger als eine Sekunde beträgt. Wenn Sie zu einem späteren Zeitpunkt erneut die Uhr stellen wollen, wird die aufgesammelte Abweichung nun mehr als eine Sekunde betragen und hwclock führt die Korrektur aus.

Es ist empfehlenswert, den Befehl hwclock --adjust direkt vor hwclock --hctosys beim Systemstart auszuführen, eventuell auch über Cron in periodischen Abständen bei laufendem System.

Die adjtime-Datei, die wegen ihres früheren ausschließlichen Zwecks der Steuerung des Abgleichs so benannt wurde, enthält außerdem Informationen, die hwclock für spätere Aufrufe speichert.

Die adjtime-Datei verwendet folgendes Format, in ASCII:

Zeile 1: Drei Zahlen, durch Leerzeichen getrennt: 1) die systematische Abweichung in Sekunden pro Tag als dezimale Fließkommazahl; 2) die sich ergebende Anzahl der Sekunden seit 1969 Weltzeit gemäß der letzten Anpassung oder Kalibrierung als dezimale Ganzzahl; 3) Null (zwecks Kompatibilität zu clock(8)) als dezimale Ganzzahl.

Zeile 2: eine Zahl: die sich ergebende Anzahl der Sekunden seit 1969 Weltzeit gemäß der letzten Kalibrierung. Dies ist Null, falls noch keine Kalibrierung ausgeführt wurde oder eine frühere Kalibrierung fehlschlug (zum Beispiel wurde die Hardware-Uhr seit der Kalibrierung zwar gefunden, enthielt aber keine gültige Zeit). Dies ist eine dezimale Ganzzahl.

Zeile 3: »UTC« oder »LOCAL«. Dies gibt an, ob die Hardware-Uhr auf lokale Zeit oder Weltzeit eingestellt ist. Sie können diesen Wert stets mit den Befehlszeilenoptionen zu hwclock außer Kraft setzen.

Sie können eine adjtime-Datei, die früher bereits mit dem Programm clock(8) genutzt wurde, auch mit hwclock verwenden.

Automatischer Abgleich der Hardware-Uhr durch den Kernel
Es gibt auf einigen Systemen einen weiteren Weg, die Hardware-Uhr synchron zu halten. Der Linux-Kernel verfügt über einen Modus, in dem in Abständen von 11 Minuten die Systemzeit in die Hardware-Uhr kopiert wird. Dieser Modus ist sinnvoll, wenn Sie etwas Fortschrittliches wie NTP verwenden, um die Systemzeit synchron zu halten. (NTP bezeichnet die Synchronisation der Systemzeit entweder über einen Zeitserver im Netzwerk oder über eine an Ihrem System angeschlossene Funkuhr, siehe RFC 1305.) Dieser Modus (nennen wir ihn Elf-Minuten-Modus) ist inaktiv, bis er durch etwas aktiviert wird. Beispielsweise kann ihn der ntp-Daemon xntpd aktivieren. Sie können diesen Modus abschalten, indem Sie irgendetwas ausführen, auch hwclock --hctosys, welches die Systemzeit auf die althergebrachte Weise setzt. Wenn Ihr System mit aktiviertem Elf-Minuten-Modus läuft, verwenden Sie hwclock --adjust oder hwclock --hctosys nicht. Sie werden nur ein Chaos verursachen. Es ist lediglich akzeptabel, hwclock --hctosys beim Systemstart zu verwenden, um eine ordentliche Systemzeit zu haben, bis Ihr System die Zeit aus der externen Quelle beziehen und den Elf-Minuten-Modus starten kann.

Jahrhundertwert der ISA-Hardware-Uhr
Es gibt eine Art von Standard, der das CMOS-Speicherbyte 50 auf einer ISA-Maschine als Anzeiger für das aktuelle Jahrhundert verwendet. hwclock nutzt oder setzt dieses Byte nicht, da es einige Maschinen gibt, die das Byte nicht auf diese Weise definieren und es sowieso unnötig ist. Das year-of-century leistet gute Arbeit beim Ermitteln des aktuellen Jahrhunderts. Falls Sie einen echten Anwendungsfall für das CMOS-Century-Byte haben, kontaktieren Sie den Betreuer von hwclock, eine Option könnte hier zweckdienlich sein. Beachten Sie, dass dieser Abschnitt nur relevant ist, wenn Sie die »Direct ISA«-Methode für den Zugriff auf die Hardware-Uhr verwenden. ACPI bietet eine standardisierte Zugriffsmöglichkeit auf die Jahrhundertwerte an, sofern diese von der Hardware unterstützt werden.

UMGEBUNGSVARIABLEN
TZ

DATEIEN
/etc/adjtime /usr/share/zoneinfo/ (/usr/lib/zoneinfo on old systems) /dev/rtc /dev/rtc0 /dev/port /dev/tty1 /proc/cpuinfo

SIEHE AUCH
date(1), gettimeofday(2), settimeofday(2), crontab(1), tzset(3)

AUTOREN
Geschrieben von Bryan Henderson, September 1996 (bryanh@giraffe-data.com), basierend auf dem clock-Programm von Charles Hedrick, Rob Hooft und Harald Koenig. Im Quellcode finden Sie die vollständige Geschichte einschließlich der Danksagungen.

VERFÜGBARKEIT
Der Befehl hwclock ist Teil des Pakets util-linux und kann von ftp://ftp.kernel.org/pub/linux/utils/util-linux/ heruntergeladen werden.

ÜBERSETZUNG
Die deutsche Übersetzung dieser Handbuchseite wurde von Mario Blättermann <mario.blaettermann@gmail.com> erstellt. Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen. Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an <debian-l10n-german@lists.debian.org>.