Обновление Базы Данных Часовых Поясов Вручную В Старых Дистрибутивах Linux

Возможно, эта заметка будет полезна тем сурковым администраторам, которые до сих пор ( О Боже! ) не сбрасывали системные часы своих серверов, позволяя умным машинам переходить на летнее время.

Да, конечно, мы к вам так не относимся, и в нужный момент исправленный ваша любимая ОС, под которой прядение Более одного сайта были успешными.

Но все это касается операционных систем последних версий; именно для них вовремя появились соответствующие обновления.

Но что делать с динозаврами, с теми машинами, которые проверены и служат нам верой и правдой годами, но мы так и не смогли обновить на них ОС? Давайте обновим на них базу часовых поясов вручную.

Это несложно и именно об этом пойдет речь в этой статье.

Ручное обновление приведено на примере дистрибутива Linux. Федора 8 (Думаю, пример применим и к дистрибутивам Красная Шапка И ЦентОС ).

Именно под этой системой работает веб-сервер на одной из машин, за которыми я присматриваю.

Итак, войдите как обычный пользователь, используя SSH и смотрим текущее время (оно берётся из файла /etc/локальное время ) и сразу же текущий установленный часовой пояс:

  
  
  
  
  
  
   

[user@server ~]$ date Fri Nov 18 18:59:57 MSK 2011 [user@server ~]$ cat /etc/sysconfig/clock | grep ZONE ZONE="Europe/Moscow"

Здесь мы автоматически смотрим на нашу «соломку», видим отставание в один час и сразу проверяем, точно ли осуществлен переход на зимнее время:

[user@server ~]$ zdump -v /etc/localtime | grep 2011 Europe/Moscow Sat Mar 26 22:59:59 2011 UTC = Sun Mar 27 01:59:59 2011 MSK isdst=0 gmtoff=10800 Europe/Moscow Sat Mar 26 23:00:00 2011 UTC = Sun Mar 27 03:00:00 2011 MSD isdst=1 gmtoff=14400 Europe/Moscow Sat Oct 29 22:59:59 2011 UTC = Sun Oct 30 02:59:59 2011 MSD isdst=1 gmtoff=14400 Europe/Moscow Sat Oct 29 23:00:00 2011 UTC = Sun Oct 30 02:00:00 2011 MSK isdst=0 gmtoff=10800

Строки с октябрьской датой подтверждают тот факт, что переход на зимнее время теперь не нужен( подробный пост об этом написал пользователь хабра Серый Кот ).

Чтобы исправить ситуацию, зайдите на сайт IANA (The Internet Assigned Numbers Authority) — там он сейчас и находится.

опубликованы обновленные файлы База данных часовых поясов ( базы данных часовых поясов также известный среди системных администраторов как база данных tz или база данных ZoneInfo ) и загрузите файл цдата содержащий последние обновления.

Для скачивания удобнее использовать утилиты типа wget или завиток (то, что есть под рукой), а не браузер:

[user@server ~]$ wget http://www.iana.org/time-zones/repository/releases/tzdata2011n.tar.gz

или

[user@server ~]$ curl -O www.iana.org/time-zones/repository/releases/tzdata2011n.tar.gz

Сразу распакуйте содержимое скачанного файла tzdata (можно в ту же директорию, куда вы его скачали):

[user@server ~]$ tar xzf tzdata2011n.tar.gz

И наконец, самое главное.

Компиляция файла часового пояса Европа в двоичную форму и сразу создать ключевой файл /etc/локальное время символическую ссылку на файл, соответствующий поясу (в данном случае поясу Европа/Москва), иначе система не узнает, что мы обновили содержимое базы.

Для этой команды потребуются права суперпользователя, поэтому вам нужно выполнить ее как корень :

[root@server user]$ zic europe [root@server user]$ ln -sf --suffix=.

backup /usr/share/zoneinfo/Europe/Moscow /etc/localtime

Вот и все! Смотрим на время, теперь все отображается корректно:

[root@server user]$ date Fri Nov 18 20:14:37 MSK 2011

Теги: #linux #Системное администрирование #администрирование #Red Hat #Fedora #часовые пояса #часовой пояс #tzdata #зимнее время #localtime #База данных часовых поясов

Вместе с данным постом часто просматривают: