Как я могу проверить содержимое / etc / localtime?


Ответы:


34

Наиболее подходящая команда , казалось бы 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

Вы также можете опросить эти файлы с помощью fileкоманды:

$ 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

0

Попробуйте tzdump. Я нашел это здесь: http://www.cise.ufl.edu/~seeger/dist/tzdump.c Это программа на C, поэтому ее нужно будет скомпилировать.


Эта программа включает в себя то, tzfile.hчто не представляется доступным. Есть копия GitHub той же программы, которой также не хватает tzfile.h.
Wallyk

0

шаги:

  1. Сначала проверьте местное время контейнера Docker:

    [root@locdb oracle]# zdump /etc/localtime
    /etc/localtime  Tue May 22 13:59:40 2018 UTC
    
  2. Проверьте часовые пояса, как показано ниже:

    [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. Скопируйте тот, который вам нужен, например:

    cp  /usr/share/zoneinfo/UTC /etc/localtime
    

исправляя команду на шаге 2: zdump / usr / share / zoneinfo / * | Хвост -10
Шантонав Сен

Я думаю, что упоминание dockerздесь отвлекает от общего решения.
Джефф Шаллер

Я также пока не вижу, чем это отличается от ответа СЛМ
Джефф Шаллер

Вы правы @Jeff Я пробовал это решение в докер-контейнере, не влияя на хост, и, следовательно, возможную путаницу.
Шантонав Сен

-5

На самом деле, все может быть проверено с помощью строк:

# strings /etc/localtime

4
Да, это на самом деле не работает. Попытайся. Это дает много мусора, и вы не можете разобрать содержимое локали.
SLM

Можно также предложить использовать гекседитор.
jgmjgm
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.