Como posso examinar o conteúdo de / etc / localtime?

23

Quais comandos posso usar para examinar o conteúdo dos arquivos de fuso horário, como /etc/localtimeos arquivos abaixo /usr/share/zoneinfo/*?

slm
fonte
2
apropos -s 1 -a time zone
Gilles 'SO- stop be evil' em

Respostas:

34

O comando mais apropriado parece ser 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

Você também pode interrogar esses arquivos usando o filecomando:

$ 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
fonte
0

Tente tzdump. Encontrei-o aqui: http://www.cise.ufl.edu/~seeger/dist/tzdump.c É um programa em C e, portanto, precisará ser compilado.

Greg McFarlane
fonte
Esse programa inclui o tzfile.hque parece não estar disponível. Há uma cópia do github do mesmo programa que também não possui tzfile.h.
wallyk
0

Passos:

  1. Primeiro verifique a hora local do contêiner do docker:

    [root@locdb oracle]# zdump /etc/localtime
    /etc/localtime  Tue May 22 13:59:40 2018 UTC
    
  2. Verifique os fusos horários como abaixo:

    [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. Copie o que você precisa, por exemplo:

    cp  /usr/share/zoneinfo/UTC /etc/localtime
    
Shantonav Sen
fonte
corrigindo o comando na etapa 2: zdump / usr / share / zoneinfo / * | tail -10
Shantonav Sen
Eu acho que mencionar dockeraqui é uma distração da solução geral.
Jeff Schaller
Eu também ainda não vejo como isso é diferente de resposta de SLM
Jeff Schaller
você está certo @ Jeff Eu estava testando essa solução dentro de um contêiner de ancoragem sem impactar as mangueiras, portanto, uma provável confusão.
Shantonav Sen
-5

Na verdade, qualquer coisa pode ser examinada por strings:

# strings /etc/localtime
stackexchanger
fonte
4
Sim, isso realmente não funciona. Tente. Dá muito lixo e você realmente não consegue entender o conteúdo da localidade.
slm
Poderia sugerir o uso de um hexeditor.
jgmjgm