it-swarm.com.de

Deaktivieren Sie Änderungen der Sommerzeit (DST) unter Linux

Vor einigen Wochen wurde bekannt gegeben (vom türkischen Ministerium für Energie und natürliche Ressourcen), dass die Sommerzeit dauerhaft sein wird und GMT + 3 für immer im Land verwendet wird.

Derzeit ist die Zeitzone unserer Linux-Server auf Europe/Istanbul eingestellt. Es wurde jedoch noch kein tzdata-Update veröffentlicht.

Aufgrund fehlender Aktualisierung wird die Zeitzone am 30. Oktober 2016 automatisch von GMT + 3 auf GMT + 2 geändert, wie in der zoneinfo-Datei (/ usr/share/zoneinfo/Europe/Istanbul) angegeben.

Sie können die Details für 2016 unten sehen:

# zdump -v /usr/share/zoneinfo/Europe/Istanbul | grep 2016
/usr/share/zoneinfo/Europe/Istanbul  Sun Mar 27 00:59:59 2016 UT = Sun Mar 27 02:59:59 2016 EET isdst=0 gmtoff=7200
/usr/share/zoneinfo/Europe/Istanbul  Sun Mar 27 01:00:00 2016 UT = Sun Mar 27 04:00:00 2016 EEST isdst=1 gmtoff=10800
/usr/share/zoneinfo/Europe/Istanbul  Sun Oct 30 00:59:59 2016 UT = Sun Oct 30 03:59:59 2016 EEST isdst=1 gmtoff=10800
/usr/share/zoneinfo/Europe/Istanbul  Sun Oct 30 01:00:00 2016 UT = Sun Oct 30 03:00:00 2016 EET isdst=0 gmtoff=7200

(Falls kein Update vorliegt) Um zu verhindern, dass diese Situation zu einer Krise wird, entscheiden wir uns für einen Backup-Plan, der die Zeitzone unserer Server auf GMT + 3 festgesetzt; aber wir sehen uns mit einem seltsamen Verhalten konfrontiert, wenn GMT + 3 behoben gesetzt ist.

Sehen wir uns die Ortszeit und die UTC-Zeit auf unserem Server an, bevor wir Änderungen an der Zeitzone vornehmen.

# date
Wed Sep 21 11:13:11 EEST 2016
# date -u
Wed Sep 21 08:13:15 UTC 2016

Wir setzen die Zeitzone wie folgt auf GMT + 3 behoben:

# rm -f /etc/localtime
# ln -s /usr/share/zoneinfo/Etc/GMT+3 /etc/localtime

Mal sehen, wie hoch die Ortszeit und die UTC-Zeit auf unserem Server nach der Änderung sind. GMT + 3 Zeit ist 3 Stunden früher als UTC, wobei es 3 Stunden sein sollte später als UTC, wie in der obigen Ausgabe zu sehen.

# date
Wed Sep 21 05:14:24 GMT+3 2016
# date -u
Wed Sep 21 08:14:26 UTC 2016

Es ändert sich nicht, auch wenn wir die Ortszeit oder die UTC-Zeit zurücksetzen.

# date -s "21 Sep 2016 11:16:00"
Wed Sep 21 11:16:00 GMT+3 2016
# date
Wed Sep 21 11:16:02 GMT+3 2016
# date -u
Wed Sep 21 14:16:05 UTC 2016

# date -u -s "21 Sep 2016 11:16:00"
Wed Sep 21 11:16:00 UTC 2016
# date
Wed Sep 21 08:16:01 GMT+3 2016
# date -u
Wed Sep 21 11:16:02 UTC 2016

Warum scheint der Versatz rückwärts zu sein?

12
vaha

Update Nr. 1: Das Zeitzonendatenbank-Update wurde kürzlich für mehrere Betriebssysteme unter ihren offiziellen Repositorys veröffentlicht. Die Version tzdata2016g enthält Einstellungen für die erwähnte Änderung.

Irgendwann ist diese Frage das Duplikat von Frage auf superuser.com .

Kristallklare Antwort ist

"Zonen wie Etc/GMT + 6 werden aus Gründen der Abwärtskompatibilität mit POSIX-Standards absichtlich umgekehrt."

Ich glaube jedoch, dass es nicht gelöscht werden sollte, um Menschen zu helfen, die DST-Änderungen in Linux-Systemen deaktivieren möchten.

Um DST-Änderungen zu deaktivieren , verknüpfen Sie Ihr /etc/localtime Datei in eine der Zoneinfo-Dateien unter dem Ordner /usr/share/zoneinfo/Etc/

Beispielbefehl:

# ln -s /usr/share/zoneinfo/Etc/GMT+3 /etc/localtime

Um die am besten geeignete Zoneinfo-Datei auszuwählen, kehren Sie das Vorzeichen Ihrer Ziel-GMT um.

d.h. zum Einstellen der GMT + 3-Zeitzone (die 3 Stunden vor UTC liegt) sollte/usr/share/zoneinfo/Etc/GMT-3 verwendet werden

12
vaha

Irgendwann werden neue Revisionen der TZ-Tabelle veröffentlicht und stehen für Updates für alle Linux-Distributionen zur Verfügung. Hmm ... Ich hätte schwören können, dass eine aktualisierte Zeitzonentabelle kurz nach der Ankündigung zur Behebung dieses Problems zur Verfügung gestellt wurde. Vielleicht gibt es einen neuen TZ-Bezeichner für Ihre Situation.

2
mdpc