вторник, 1 ноября 2011 г.

Solaris 11: TimeZone

Оказалось, что правильно часы идут только на мобильном телефоне Samsung и на сетевом оборудовании Cisco, потому что они сами не переводят смещение часовых поясов и ничего не знают про энергосберегающие технологии прошлых лет. С этого года наша страна сдвинулась на пару тысяч километров в сторону Китая.

Теперь у нас не два с половиной часа разница с Гринвичем, а уже целых четыре и это никак не зависит от времен года. Только MS Windows про это ничего не знает и Oracle Solaris тоже. Вы думаете, что проблема со временем была в 2000 году, нет, проблема в 2011-м.
Итак, как запатчить Solaris чтобы он проблем со временем не создавал.
При ближайшем рассмотрении нашлось описание правил. Правила пересчета времени в текстовом виде живут в папке
/usr/share/lib/zoneinfo/src/
А при пересчете применяются скомпилированые правила, при компиляции используется утилита
# /usr/sbin/zic europe
Нашел патч на Linux (CentOS): рекомендуется дописать такие правила в файле europe:

-Rule Russia 1996 max - Oct lastSun 2:00s 0 -
+Rule Russia 1996 2010 - Oct lastSun 2:00s 0 -
+# Act No.725 of the Goverment of Russian Federation (2011-08-31):
+Rule Russia 2011 max - Mar lastSun 2:00s 1:00 -
Потом скомпилировать и ... сервер не пришлось перегружать.

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

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