понедельник, 27 октября 2014 г.

Solaris 11 TimeZone 26 октября 2014

"Оказалось, что правильно часы идут только на мобильном телефоне Samsung и на сетевом оборудовании Cisco, потому что они сами не переводят время и ничего не знают про энергосберегающие технологии прошлых лет. С этого года наша страна сдвинулась на пару тысяч километров в сторону Китая..." так начиналось прошлое мое сообщение о непредвиденном переводе часов на русское время.
Не прошло и трех лет нас опять передвинули из Абу-даби в Москву. Последние три года мой компьютер под виндой прожил в Абу-даби. Настала пора менять на всех серваках временную зону и часовые пояса.
Теперь у нас не два с половиной часа разница с Гринвичем, а три. И Oracle Solaris об этом ничего не знает, как и прежде. Вы думаете, что проблема со временем была в 2000 году, нет, проблема в 2011-м, проблема каждый год, уже входит в привычку. У меня в хозяйстве три-четыре десятка IP-телефонов, которые показывают неправильное время и достаточно много серваков и роутеров, чтобы это меня волновало.
Итак, как запатчить Solaris, чтобы он проблем со временем не создавал пользователям.
Правила пересчета времени в текстовом виде живут в папке
/usr/share/lib/zoneinfo/src/
А при пересчете применяются скомпилированые правила, при компиляции используется утилита
# /usr/sbin/zic europe
Нашел правило: надо в последнее воскресенье октября в 2:00 перевести время на 1 час назад, т.е. на 0 относительно часового пояса.
Изменения надо вносить в множество зон и часовых поясов России, привожу пример для Москвы:
Zone Europe/Moscow  2:30:20 - LMT     1880
. . .
            3:00   Russia  MSK/MSD 2011 Mar 27 2:00s
            4:00   -       MSK     2014 Oct 26 2:00s
            3:00   -       MSK
Потом скомпилировал.
# /usr/sbin/zic europe

Комментариев нет:

Отправить комментарий