# [SOLVED] falsche Uhrzeit trotz NTP

## tomiondrums

Hi!

Ich hab hier das Problem, daß trotz einem erfolgreichen Lauf von ntp-client (holt die Zeit bei ptbtime1.ptb.de bei der Physikalisch-Technischen Bundesanstalt) die falsche Uhrzeit gesetzt wird/bleibt.

```
 * Setting clock via the NTP client 'ntpdate' ...

 6 Oct 16:13:45 ntpdate[5660]: step time server 192.53.103.108 offset -0.033093 sec                                                                       [ ok ]

```

Die Uhrzeit ist immer zwei Stunden der tatsächlichen Zeit hinterher, wobei in /etc/conf.d/clock folgendes steht:

```
# /etc/conf.d/clock

# Set CLOCK to "UTC" if your system clock is set to UTC (also known as

# Greenwich Mean Time).  If your clock is set to the local time, then

# set CLOCK to "local".  Note that if you dual boot with Windows, then

# you should set it to "local".

CLOCK="UTC"

# Select the proper timezone.  For valid values, peek inside of the

# /usr/share/zoneinfo/ directory.  For example, some common values are

# "America/New_York" or "EST5EDT" or "Europe/Berlin".

TIMEZONE="Europe/Berlin"

# If you wish to pass any other arguments to hwclock during bootup,

# you may do so here.

CLOCK_OPTS=""

# If you want to set the Hardware Clock to the current System Time

# during shutdown, then say "yes" here.

CLOCK_SYSTOHC="no"

### ALPHA SPECIFIC OPTIONS ###

# If your alpha uses the SRM console, set this to "yes".

SRM="no"

# If your alpha uses the ARC console, set this to "yes".

ARC="no"

```

Hab auch schon öfter mal die /etc/adjtime gelöscht, was aber nix gebracht hat.

Wer hatte sowas schonmal? Was kann man dagegen machen?Last edited by tomiondrums on Tue Oct 16, 2007 8:24 am; edited 1 time in total

----------

## morpheus2051

Moin!

Versuche mal CLOCK="UTC" auf CLOCK="local" in /etc/conf.d/clock umzustellen. Ich hole die Zeit vom gleichen Server und bei mir funktioniert es mit CLOCK="local" wunderbar.

----------

## andix

Hast du die Zeitzone richtig eingestellt? Für mich schaut das so aus als ob dein Computer auf UTC eingestellt ist. Tippe einmal date in eine Konsole ein und poste die Ausgabe.

----------

## TheSmallOne

 *morpheus2051 wrote:*   

> Versuche mal CLOCK="UTC" auf CLOCK="local" in /etc/conf.d/clock umzustellen. Ich hole die Zeit vom gleichen Server und bei mir funktioniert es mit CLOCK="local" wunderbar.

 

Das sollte eigentlich nur beim Booten darauf Einfluß haben, wie die lokale Hardwareuhr interpretiert wird. Sobald die Zeit vom NTP-Server geholt wird sollte das System so oder so die korrekte Zeit haben.

Die zwei Stunden Differenz deuten aber in der Tat auf eine falsche Zeitzone hin. Wie sieht denn /etc/localtime aus?

----------

## tomiondrums

Danke für alle Hinweise!!

Meine Lösung:

```

rm /etc/localtime

ln -s /usr/share/zoneinfo/Europe/Berlin /etc/localtime

```

Die Datei war offenbar kaputtgeschrieben!

----------

## disi

Ich haette da mal eine generelle Frage.

Wenn mein ntp-client nicht vernuenftig startet (bevor das netzwerk steht*) ist meine Zeit auch immer um genau 1 Stunde falsch. Von anderen Installationen weiss ich das ntp eigentlich mehr im Sekunden-Bereich agieren sollte   :Very Happy: 

Versucht habe ich beides schon die etc/localtime zu linken oder die Datei zu kopieren. CLOCK steht auf "UTC" im Moment, hatte ich auch schon mit "local" versucht.

*Ich benutze wireless Netzwerk und das "sleep 7" das ich ins Script eingebaut habe funktioniert, aus welchen Gruenden auch immer, manchmal nicht.

----------

## artbody

funktioniert

 :Laughing:  auch danke  :Laughing: 

 *tomiondrums wrote:*   

> Danke für alle Hinweise!!
> 
> Meine Lösung:
> 
> ```
> ...

 

----------

## Necoro

/etc/localtime sollte doch überflüssig sein, mit dem "TIMEZONE" setting in /etc/conf.d/clock, oder? Oder welchen Sinn hat das Setting sonst?

----------

## tamiko

@disi:

Dies sieht eher so aus, als ob die Hardware-Uhr eine Stunde falsch gestellt ist und er beim Starten jedesmal eine falsche Uhrzeit ausliest.

Speicherst du die Uhrzeit beim beenden des Systems ab? Also:

```
tamiko ~ $ cat /etc/conf.d/clock

CLOCK="local"

TIMEZONE="Europe/Berlin"

# If you want to set the Hardware Clock to the current System Time

# during shutdown, then say "yes" here.

CLOCK_SYSTOHC="yes"
```

Grüße,

Tamiko

Übrigens:

Die TIMEZONE-Variable richtig zu setzen bewahrt davor, dass beim nächsten Update von ntp, die /etc/localtime wieder überschrieben wird.

Bzw. diese wird automatisch mit der in TIMEZONE angegebenen Datei überschrieben.

edit: Nicht ntp, sondern timezone-data ist für das Überschreiben von /etc/localtime verantwortlich.Last edited by tamiko on Wed Oct 17, 2007 12:57 pm; edited 1 time in total

----------

## ChrisJumper

 *Quote:*   

> /etc/localtime sollte doch überflüssig sein, mit dem "TIMEZONE" setting in /etc/conf.d/clock, oder? Oder welchen Sinn hat das Setting sonst?

 

 *Quote:*   

> Übrigens:
> 
> Die TIMEZONE-Variable richtig zu setzen bewahrt davor, dass beim nächsten Update von ntp, die /etc/localtime wieder überschrieben wird. Bzw. diese wird automatisch mit der in TIMEZONE angegebenen Datei überschrieben. 

 

Hmm. Irgendwas stimmt da nicht. Seit geraumer Zeit klagte mein Gentoo beim Booten ich habe /etc/localtime noch auf die factory-Werte stehen. Die Zeit stimmte aber. Also nahm ich mir diesen Thread zur Brust und Konfigurierte um.

Nur hatte ich eben, nachdem ich die Einstellungen angepasst hatte eine falsche Zeit. Eben dieses 2 Stunden Phänomen (native GMT). 

Ursache: Wie sich herausstellte hab ich vor dem Neustart den /etc/localtime Link falsch gesetzt (ich hatte mich vertippt - /etc/localetime). Dann also neugestartet und die Zeit war immer noch falsch. Logisch da keine localtime nicht existierte.

Demnach stimmt es aber nicht das ntp die /etc/localtime mit den werten aus der TIMEZONE überschreibt, denn diese hab ich richtig eingetragen. Oder macht es dies nur wenn die Datei existiert?

Ich hab auch mehrmals versucht mit 

```
# /etc/init.d/ntp-client restart
```

 die Zeit zu setzen. Ohne Erfolg.

Fazit: Es scheint wohl doch noch nötig zu sein /etc/localtime richtig zu setzen?!!?

----------

## tamiko

Die TIMEZONE - Variable wird bei einem emerge von ntp ausgelesen und damit versucht die richtige Datei einzukopieren.

(D.h. insbesondere sollte man eine neue Version von ntp bauen...)

Scheitert dies, wird diese "timezone-not-set"-Datei eingefügt.

Vielleicht hätte ich das "Update" in meiner Antwort etwas klarer formulieren sollen.

 :Very Happy: 

Grüße,

Tamiko

edit:

Dies ist nicht korrekt. Nicht ntp, sondern timezone-data ist dafür verantwortlich. (s.u.)Last edited by tamiko on Wed Oct 17, 2007 12:56 pm; edited 1 time in total

----------

## ChrisJumper

 *tamiko wrote:*   

> Die TIMEZONE - Variable wird bei einem emerge von ntp ausgelesen und damit versucht die richtige Datei einzukopieren.
> 
> (D.h. insbesondere sollte man eine neue Version von ntp bauen...)
> 
> 

 

Danke Tamiko! Das erklärt jetzt einiges.

Zum Beispiel warum ich nach einem Update dieses Factory-Problem mit /etc/localtime hab, bzw. jetzt hatte :D

----------

## disi

Also ich hatte noch keinen Fehlstart bisher, aber ich denke es war die falsche Systemzeit   :Confused: 

habe nun folgendes in der /conf.d/clock

```
# /etc/conf.d/clock

# Set CLOCK to "UTC" if your system clock is set to UTC (also known as

# Greenwich Mean Time).  If your clock is set to the local time, then 

# set CLOCK to "local".  Note that if you dual boot with Windows, then 

# you should set it to "local".

CLOCK="local"

# Select the proper timezone.  For valid values, peek inside of the

# /usr/share/zoneinfo/ directory.  For example, some common values are

# "America/New_York" or "EST5EDT" or "Europe/Berlin".  If you want to

# manage /etc/localtime yourself, set this to "".

TIMEZONE="Europe/Dublin"

# If you wish to pass any other arguments to hwclock during bootup, 

# you may do so here.

CLOCK_OPTS=""

# If you want to set the Hardware Clock to the current System Time 

# during shutdown, then say "yes" here.

CLOCK_SYSTOHC="yes"
```

----------

## TheSmallOne

 *tamiko wrote:*   

> Die TIMEZONE - Variable wird bei einem emerge von ntp ausgelesen und damit versucht die richtige Datei einzukopieren.
> 
> (D.h. insbesondere sollte man eine neue Version von ntp bauen...)

 

Ist das ein NTP-Verhalten, oder eine Gentoo-Eigenheit?

Irgendwie vertehe ich nicht, welchen Nutzen das genau haben soll. Es hat doch in der Vergangenheit auch jeder geschafft seine /etc/localtime richtig zu verlinken (oder kopieren), warum sollte da jetzt plötzlich eine Konfigurationsvariable für nötig sein?

----------

## tamiko

Ich muss mich ein klein wenig revidieren.   :Embarassed: 

Es ist nicht das Paket  

```
net-misc/ntp
```

, dass die Datei /etc/localtime nach einem neuen emerge aktualisiert, sondern das Paket

```
sys-libs/timezone-data
```

Nämlich:

```
# emerge -1 timezone-data

[...snip...]

>>> Original instance of package unmerged safely.

 * Updating /etc/localtime with /usr/share/zoneinfo/Europe/Berlin

>>> sys-libs/timezone-data-2007g merged.
```

Und dann ergibt das schon Sinn:

Wenn sich an den Dateien in /usr/share/zoneinfo etwas geändert hat, dann möchte ich die aktuelle Datei auch als /etc/localtime haben.

Dazu wird /etc/conf.d/clock ausgelesen. (Und wenn dort TIMEZONE ungültig ist, dieses geniale "Timezone not set" eingebunden.)

Dies bügelt in jedem Fall eiskalt über einen Symlink oder eine schon vorhandene Datei 'drüber.

(Ein Symlink darf nicht genommen werden, da beim Booten /usr evtl. nicht vorhanden sein könnte.)

Grüße,

Tamiko

----------

