# Sommer- / oder Winterzeit-Umstellung nicht automatisch

## benjamin200

Hi,

immer wenn die Sommer- oder Winterzeit umgestellt wird muss ich die Änderungen manuell durchführen. Das ist ziemlich ärgerlich, wie ich finde. Habe beim googeln gefunden, dass das automatisch von UTC durchgeführt wird.

Habe meine Uhr auf CEST laufen:

```

bash-2.05b# date

Sun Mar 27 22:57:55 CEST 2005

bash-2.05b#

```

ist dass das Problem?

Gruß,

Benjamin

----------

## mrmonk

hey

ich habe auch CEST und die 2 mal im jahr schaffe ich es auch manuell  :Smile: 

mfg  -mrmonk

----------

## benjamin200

 *Quote:*   

> 
> 
> hey
> 
> ich habe auch CEST und die 2 mal im jahr schaffe ich es auch manuell
> ...

 

das ich es nicht schaffe ist garnicht das Problem, es ist einfach nicht korrekt. Wenn man ohne NTP-Server arbeitet, soll das System das übernehmen. Wenn meine Recherchen stimmen, lässt sich das Problem mittels UTC lösen. 

Kann das jemand bestätigen?

Gruß,

Benjamin

----------

## marc

Meine Uhr steht auf Europe/Berlin und in rc.conf ist localtime eingestellt.

Clock wird im Runlevel Boot gestartet.

rc-update add clock boot

Bei mir hat die Uhr sich umgestellt.

----------

## c07

Es gibt zwar eigentlich schon genug Threads dazu, aber hier nochmal die wesentlichen Fakten:

Das, was z.B. |date| als Zeitzone angibt, hat gar nichts damit zu tun, ob die Hardwareuhr in UTC oder lokaler Zeit läuft, sondern damit, worauf /etc/localtime zeigt. Die Systemuhr läuft intern immer in UTC und wird entsprechend umgerechnet.

Ob die Umstellung bei lokaler Zeit automatisch erfolgt, hängt davon ab, ob der Rechner zum Zeitpunkt der Umstellung gelaufen ist (und |clock| im Runlevel war). Wenn er aus war und die Hardwareuhr nicht in UTC läuft, ist es deine eigene Verantwortung, vor dem nächsten Booten selber für die Umstellung im BIOS oder durch ein anderes Betriebssystem zu sorgen (manche RTCs beherrschen die Umstellung optional auch hardwaremäßig, allerdings zu den amerikanischen Terminen (im Frühjahr eine Woche später, im Herbst eine Stunde früher)). Exakt das ist der Sinn von "local" in rc.conf, damit nicht doppelt umgestellt wird. Jeder Andere sollte "UTC" verwenden.

Wenn der Rechner während der Umstellung gelaufen ist, gibt es nach dem nächsten Booten potenziell Probleme. Beim Booten wird die Systemuhr aus der Hardwareuhr initialisiert und beim Runterfahren der Wert aus der Systemuhr in die Hardwareuhr zurückgeschrieben (weil die Systemuhr im Allgemeinen genauer geht, insbesondere wenn sie mit NTP o.Ä. auf dem Laufenden gehalten wird).

Wenn die Hardwareuhr nicht in UTC läuft und nicht zuvor schon aktualisiert worden ist, tritt dabei eine Differenz von 1 Stunde zur zuvor gespeicherten Zeit auf. Das wird dann so interpretiert, dass die Hardwareuhr nicht richtig geht und künftig künstlich beschleunigt (bzw. verlangsamt) werden muss. Die Korrekturwerte werden in /etc/adjtime gespeichert, das man einfach löschen kann, wenn dort aus irgendwelchen Gründen falsche Werte reingekommen sind.

Teilweise klappt aber die Umstellung, wenn der Rechner währenddessen gelaufen ist, indem zu diesem Zeitpunkt die Hardwareuhr umgestellt wird.

Ziemlich sicher kriegt man allerdings Probleme, wenn man nach der Umstellung die Zeit mit |date|, |ntpdate| o.Ä. korrigiert.

Normalerweise kann man alle Probleme vermeiden, wenn man die Hardwareuhr in UTC laufen lässt. Damit ist sie immer synchron zur Systemuhr und alle Umstellungsprobleme entfallen, außer wenn es noch ein anderes Betriebssystem auf dem Rechner gibt, das das nicht beherrscht und an der Hardwareuhr rumspielt.

Übrigens gibt es auch im Kernel unter APM eine Einstellung, ob die Hardwareuhr in UTC oder lokaler Zeit läuft. Ich weiß aber nicht, was das genau bewirkt.

Nachdem man auf UTC umgestellt hat (oder umgekehrt) ist es sinnvoll, /etc/adjtime zu löschen.

----------

