Ich verwende clockspeed-0.62 (DJB-Software) auf Ubuntu 13.10. Ich habe Zeitzonen eingerichtet, sodass dies /usr/share/zoneinfo
ein Link zu ist /usr/share/right
, und meine /etc/leapsecs.dat
ist auf dem neuesten Stand, d. h. enthält 25 Schaltsekunden.
Kann mir jemand helfen, zu verstehen (und das Problem zu lösen), warum date -u
der Befehl die Zeit 25 Sekunden im Voraus anzeigt export TZ=UTC; date
?
Ausgabe von date; (export TZ=UTC; date); date -u
:
Mon Feb 3 22:33:56 CET 2014
Mon Feb 3 21:33:56 UTC 2014
Mon Feb 3 21:34:21 UTC 2014
Antwort1
TZ=UTC
veranlasst glibc, die Zoneinfo-Datei mit dem Namen „UTC“ zu verwenden, die in Ihrem Fall /usr/share/zoneinfo/right/UTC
Anpassungen für Schaltsekunden enthält.
Die -u
Option ist eigentlich gleichbedeutend mit der EinstellungTZ=UTC0
. Da eskeine Zoneinfo-Datei mit dem NamenUTC0
wird die Einstellung so interpretiert, dass sie stattdessen im Format "std offset" vorliegt (wie intzset(3)). In diesem Format werden die ersten drei Buchstaben nur als sichtbarer Name verwendet unddie „0“ wird als einfacher Offset von UTC verwendet(d. h. Offset von der Systemuhr).