Wie kann ich den Inhalt von / etc / localtime untersuchen?

23

Mit welchen Befehlen kann ich den Inhalt der Zeitzonendateien überprüfen, z. B. /etc/localtimeoder der Dateien unter /usr/share/zoneinfo/*?

slm
quelle
2
apropos -s 1 -a time zone
Gilles 'SO- hör auf böse zu sein'

Antworten:

34

Der am besten geeignete Befehl scheint zu sein zdump.

$ zdump /etc/localtime 
/etc/localtime  Wed Aug  7 23:52:25 2013 EDT

$ zdump /usr/share/zoneinfo/* | tail -10
/usr/share/zoneinfo/Singapore    Thu Aug  8 11:52:48 2013 SGT
/usr/share/zoneinfo/Turkey       Thu Aug  8 06:52:48 2013 EEST
/usr/share/zoneinfo/UCT          Thu Aug  8 03:52:48 2013 UCT
/usr/share/zoneinfo/Universal    Thu Aug  8 03:52:48 2013 UTC
/usr/share/zoneinfo/US           Thu Aug  8 03:52:48 2013
/usr/share/zoneinfo/UTC          Thu Aug  8 03:52:48 2013 UTC
/usr/share/zoneinfo/WET          Thu Aug  8 04:52:48 2013 WEST
/usr/share/zoneinfo/W-SU         Thu Aug  8 07:52:48 2013 MSK
/usr/share/zoneinfo/zone.tab     Thu Aug  8 03:52:48 2013
/usr/share/zoneinfo/Zulu         Thu Aug  8 03:52:48 2013 UTC

Sie können diese Dateien auch mit dem folgenden fileBefehl abfragen :

$ file /etc/localtime 
/etc/localtime: timezone data, version 2, 4 gmt time flags, 4 std time flags, no leap seconds, 235 transition times, 4 abbreviation chars

$ file /usr/share/zoneinfo/Singapore
/usr/share/zoneinfo/Singapore: timezone data, version 2, 8 gmt time flags, 8 std time flags, no leap seconds, 8 transition times, 8 abbreviation chars
slm
quelle
0

Versuchen Sie es mit tzdump. Ich fand es hier: http://www.cise.ufl.edu/~seeger/dist/tzdump.c Es ist ein C-Programm und muss daher kompiliert werden.

Greg McFarlane
quelle
Dieses Programm enthält, tzfile.hwas nicht verfügbar zu sein scheint. Es gibt eine Github-Kopie des gleichen Programms, die auch fehlt tzfile.h.
Wallyk
0

Schritte:

  1. Überprüfen Sie zuerst die Ortszeit des Docker-Containers:

    [root@locdb oracle]# zdump /etc/localtime
    /etc/localtime  Tue May 22 13:59:40 2018 UTC
    
  2. Überprüfen Sie die Zeitzonen wie folgt:

    [root@locdb oracle]# zdump /usr/share/zoneinfo/* | tail -10
    /usr/share/zoneinfo/UTC          Tue May 22 14:01:21 2018 UTC
    /usr/share/zoneinfo/Universal    Tue May 22 14:01:21 2018 UTC
    /usr/share/zoneinfo/W-SU         Tue May 22 17:01:21 2018 MSK
    /usr/share/zoneinfo/WET          Tue May 22 15:01:21 2018 WEST
    /usr/share/zoneinfo/Zulu         Tue May 22 14:01:21 2018 UTC
    /usr/share/zoneinfo/iso3166.tab  Tue May 22 14:01:21 2018
    /usr/share/zoneinfo/posix        Tue May 22 14:01:21 2018
    /usr/share/zoneinfo/posixrules   Tue May 22 10:01:21 2018 EDT
    /usr/share/zoneinfo/right        Tue May 22 14:01:21 2018
    /usr/share/zoneinfo/zone.tab     Tue May 22 14:01:21 2018
    
  3. Kopieren Sie die, die Sie zum Beispiel benötigen:

    cp  /usr/share/zoneinfo/UTC /etc/localtime
    
Shantonav Sen
quelle
Korrigieren Sie den Befehl in Schritt 2: zdump / usr / share / zoneinfo / * | Schwanz -10
Shantonav Sen
Ich denke, dockerhier zu erwähnen ist eine Ablenkung von der allgemeinen Lösung.
Jeff Schaller
Ich verstehe auch noch nicht, wie sich dies von der Antwort
Jeff Schaller
Sie haben Recht @Jeff Ich habe diese Lösung in einem Docker-Container ausprobiert, ohne dass dies Auswirkungen auf das Krankenhaus hatte, daher ist eine Verwechslung wahrscheinlich.
Shantonav Sen
-5

Eigentlich kann alles mit Strings untersucht werden:

# strings /etc/localtime
Stapelaustauscher
quelle
4
Ja, das funktioniert nicht wirklich. Versuch es. Es gibt viel Müll und man kann den Inhalt des Gebietsschemas nicht wirklich erkennen.
SLM
Könnte auch vorschlagen, einen Hexeditor zu verwenden.
jgmjgm