Comment puis-je examiner le contenu de / etc / localtime?

23

Quelle (s) commande (s) puis-je utiliser pour examiner le contenu des fichiers de fuseau horaire, tels que /etc/localtimeou les fichiers sous /usr/share/zoneinfo/*?

slm
la source
2
apropos -s 1 -a time zone
Gilles 'SO- arrête d'être méchant'

Réponses:

34

La commande la plus appropriée semble être 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

Vous pouvez également interroger ces fichiers à l'aide de la filecommande:

$ 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
la source
0

Essayez tzdump. Je l'ai trouvé ici: http://www.cise.ufl.edu/~seeger/dist/tzdump.c Il s'agit d'un programme C et devra donc être compilé.

Greg McFarlane
la source
Ce programme comprend tzfile.hce qui ne semble pas être disponible. Il existe une copie github du même programme qui manque également tzfile.h.
wallyk
0

Pas:

  1. Vérifiez d'abord l'heure locale du conteneur Docker:

    [root@locdb oracle]# zdump /etc/localtime
    /etc/localtime  Tue May 22 13:59:40 2018 UTC
    
  2. Vérifiez les fuseaux horaires comme ci-dessous:

    [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. Copiez celui dont vous avez besoin par exemple:

    cp  /usr/share/zoneinfo/UTC /etc/localtime
    
Shantonav Sen
la source
correction de la commande à l'étape 2: zdump / usr / share / zoneinfo / * | queue -10
Shantonav Sen
Je pense que mentionner dockerici est une distraction de la solution générale.
Jeff Schaller
Je ne vois pas non plus comment cela est différent de la réponse
Jeff Schaller
vous avez raison @Jeff J'essayais cette solution à l'intérieur d'un conteneur docker sans impact sur le hos d'où une confusion probable.
Shantonav Sen
-5

En fait, tout peut être examiné par des chaînes:

# strings /etc/localtime
stackexchanger
la source
4
Ouais ça ne marche pas vraiment. Essayez-le. Cela donne beaucoup de déchets et vous ne pouvez pas vraiment distinguer le contenu des paramètres régionaux.
slm
Autant suggérer d'utiliser un hexeditor.
jgmjgm