Готовим Linux к 30 октября 11


Многие наверняка в курсе, что в этом году в России отменен переход на . Что это нам дает? Что 30 октября этого года время не изменится.

За часовые пояса в отвечает так называемая tz database — пакет . Для большинства дистрибутивов возможно будет достаточно обновить этот пакет (соответсующие исправления внесены в версию 2011i). Если же такого обновления для вашего дистрибутива не вышло, самый простой способ использовать Etс/GMT+4 или, если вы не ищете легких путей, перекомпилировать файл зоны. Об этом варианте и пойдет речь далее.

Для начала убедимся что наш файл зоны не актуален и система переведет время:

[email protected]:~$ zdump -v /usr/share/zoneinfo/Europe/Moscow |grep 2011
/usr/share/zoneinfo/Europe/Moscow  Sat Mar 26 22:59:59 2011 UTC = Sun Mar 27 01:59:59 2011 MSK
isdst=0 gmtoff=10800
/usr/share/zoneinfo/Europe/Moscow  Sat Mar 26 23:00:00 2011 UTC = Sun Mar 27 03:00:00 2011 MSD
isdst=1 gmtoff=14400
/usr/share/zoneinfo/Europe/Moscow  Sat Oct 29 22:59:59 2011 UTC = Sun Oct 30 02:59:59 2011 MSD
isdst=1 gmtoff=14400
/usr/share/zoneinfo/Europe/Moscow  Sat Oct 29 23:00:00 2011 UTC = Sun Oct 30 02:00:00 2011 MSK
isdst=0 gmtoff=10800

Итак, 30 октября все пройдет по старому расписанию.

Для начала сделаем резервную копию:

[email protected]:~$ cp /usr/share/zoneinfo/Europe/Moscow /usr/share/zoneinfo/Europe/Moscow.bkp

Получаем последнюю версию tz database:

[email protected]:~$ cd /tmp
[email protected]:/tmp$ wget ftp://elsie.nci.nih.gov/pub/tzdata2011k.tar.gz
[email protected]:/tmp$ mkdir /tmp/tzdata2011k
[email protected]:/tmp$ tar xfv tzdata2011k.tar.gz -C /tmp/tzdata2011k

Ну а теперь собственно компиляция:

[email protected]:/tmp/tzdata2011k$ zic -d zoneinfo europe
[email protected]:/tmp/tzdata2011k$ cp /tmp/tzdata2011k/zoneinfo/Europe/Moscow \
/usr/share/zoneinfo/Europe/Moscow

Проверяем результат:

[email protected]:~$ zdump -v /usr/share/zoneinfo/Europe/Moscow |grep 2011
/usr/share/zoneinfo/Europe/Moscow  Sat Mar 26 22:59:59 2011 UTC = Sun Mar 27 01:59:59 2011 MSK
isdst=0 gmtoff=10800
/usr/share/zoneinfo/Europe/Moscow  Sat Mar 26 23:00:00 2011 UTC = Sun Mar 27 03:00:00 2011 MSK
isdst=0 gmtoff=14400

11 мыслей про “Готовим Linux к 30 октября

  • Times

    А если время уже поменялось, то не забыть исправить его через date.

    • Rascal От автора

      Может быть не на всех серверах выставлено Московское время или /etc/localtime это не ссылка на файл часового пояса, а его копия.

  • xawari

    Спасибо. На debian/ubuntu server прокатило. Только tzdata2011i уже устарел (его нет), надо скачивать tzdata2011k.

    • Avari

      В packet-oriented дистрибутивах так делать, вообще говоря, очень неправильно 🙁
      По-хорошему надо ставить свежий пакет tzdata. Я когда-то его в testing нашёл, когда у меня аналогичная проблема случилась. Не уверен, что так точно правильно =) , но в любом случае лучше установить даже самую безобидную и ничего другого не затрагивающую вещь из пакета — тогда dpkg и все менеджеры пакетов, пользующиеся базой dpkg, будут иметь реальную информацию об установленных в системе пакетах. И, например, не сделают вам даунгрэйд софта, если вы ставили nginx 0.7.x, потом поверх него скомпилировали 1.0.x, а потом в обновлениях безопасности вышел 0.7.y — и вы не глядя его поставили =)

      • Rascal От автора

        В целом я согласен что лучше использовать менеджер пакетов, в данном конкретном случае это не всегда возможно, поэтому был написан это пост.

        Насчет nginx — нельзя устанавливать одно и тоже ПО из пакета и исходников с одним и тем же PREFIX, благо с дефолтными опциями это и не возможно, ну а так, можно и «rm -rf /» выполнить, было бы желание.

  • Gin

    Большое спасибо. Помогло. Всем рекомендую.

  • looser_TM

    Огромное СПАСИБО!
    GMT+4 c NTPd не катит -8ч

      • looser

        Здрасьте — написал-же по русски с NTPd. C Moscow сразу. Еще раз спасибо автору!

Комментарии закрыты