Отмена перехода на летнее/зимнее время стала проблемой, сравнимой с миллениумом. Многие опоздали на работу, став жертвами своих шипко умных будильников, которые, в свою очередь, новостей не смотрят и переводятся в автоматическом режиме. Кроме того, мучаются администраторы серверов, форумов и других систем, в которых есть часы.
В этой статье я расскажу, как настроить перевод часов в операционных системах Windows и Linux.
Заранее оговорюсь, что если ваша операционка постоянно обновляется, то возможно, что часы уже настроены. Но такое встречается далеко не всегда (как, например, в моем случае).
Сначало про винду…
Windows XP SP2. Обладателям второго сервис пака не очень повезло, потому фикса для него нет, хотя в настройках времени («Пуск -> Настройка -> Панель управления -> Дата и время -> Часовой пояс» или двойной клик по часам в правом нижнем углу) есть галочка, управляющая автоматическим переводом часов.
Проблема только в том, что если её убрать, система будет считать, что постоянным временем не «+4», как повелось, а «+3». для исправления ситуации рекомендую бесплатную утилиту TZEdit (см.ниже).
Windows XP SP3 — Windows 7. Для всех этих операционок мелкомягкие выпустили фиксы, которые можно найти по адресу.
Если у вас что-то не получилось с обновлениями, воспользуйтесь упомянутой программой «Windows Time Zone Editor» (скачать и ознакомиться с инструкциями можно здесь). Эта утилита выручит даже обладателей ранних версий винды.
Теперь о летнем времени в Linux. Также, если вы обновляетесь, то, скорее всего, разработчики вашей оси обо всем позаботились, но…
Лично я обновлял временные зоны на CentOS 6. Ничего сложного нет. Необходимо только скачать базу часовых поясов, скомпилировать файл своего часового пояса и создать на него ссылку.
Опишу подробнее. Качаем базу:
wget ftp://munnari.oz.au/pub/tzdata2011n.tar.gz
(если эта ссылка не подойдет заглините по адресу ftp://munnari.oz.au/pub/ и выберите нужный архив)
Распаковываем во временную директорию:
tar xzf tzdata2011n.tar.gz
На всякий случай делаем резервную копию файла с текущими настройками:
cp /etc/localtime /tmp/localtime.old
Компилируем временные зоны из файла europe (если вы живете в Европе). Утилита zic читает текстовый файл с описаниями зон и на выходе формирует бинарные файлы временных зон специального формата и пишет их сразу в директорию /usr/share/zoneinfo.
zic europe
Создаем ссылку на обновленную временную зону:
ln -sf /usr/share/zoneinfo/Europe/Moscow /etc/localtime
Осталась только проверка. Для этого запросим расписание перевода часов на 2011 год:
zdump -v Europe/Moscow |grep 2011
Если ответом систему будут две строчки с мартовскими датами, значит всё получилось. Если написано, что в октябре часы также переводились, значит что-то сделано неверно.
Генерите и дорожите временем!