null

!(Отмена) перехода на зимнее время в ОС Solaris. Варианты.

Cогласно Федеральный закону от 21.07.2014 N 248-ФЗ "О внесении изменений в Федеральный закон "Об исчислении времени" с 26 октября 2014 года в России отменяется постоянное "летнее" время, т.е осуществляется переход на "зимнее" время без последующего перехода на "летнее" весной. Соответственно, снова стала актуальной задача по реконфигурации временных зон систем работающих на ОС Solaris.

Компания Oracle, в свою очередь, еще не успела выпустить "полноценный" патч для Solaris 10, собрав лишь IDR-Patch (IDR151591-01 для SPARC и IDR151590-01 для x86) зоны 2014f, который устанавливается поверх патчей 148559-10 и 148560-10 (зона 2014e), соответственно. Для 11-й версии Solaris решение обещают в ближайших SRU, на данный момент для 11.2 решение предоставляется только в виде IDR-пакета idr1417.1(x86) и idr1418.1(sparc), требующих предварительную установку SRU15. Для 11.1 доступен idr1443.1 (x86) и idr1444.1(sparc), предварительной установки SRU не требуется, однако данный пакет применим только до SRU7.5 (включительно), для старших SRU (до 15.4) предусмотрен idr1435.1(x86) и idr1436.1(sparc). Для 11.0 (11/11) официальных обновлений еще нет. Естественно, патчи доступны обладателям купленной поддержки ОС у Oracle. Для версий 8 и 9 - патч традиционно выпускается по линии спец. поддержки Vintage Support и доступны "особо избранным", а принимая во внимание информацию, что расширенная поддержка на эти версии Solaris возможна только до конца октября 2014, вероятность получения патча сводится к нулю...

Решение данной задачи, естественно, возможно и без участия "фирменных" патчей, путем изменения правил и зон вручную, как это было описано,например, мной в статье "Отмена перехода на зимнее время в ОС Solaris. Варианты"  в рамках исполнения федерального закона об исчислении времени от 2011 года.

Так же как и в 2011 году, кроме патчей, есть возможность изменения правил или зон с последующей их компиляцией либо  установкой принудительной зоны GMT+X (для МСК, например, X=3). Однако последний вариант  может привести к некорректному отображению времен ранее созданных файлов.Изменение правила Russia, опять таки,  нецелесообразно в связи с аналогичной ситуацией с Минском (как и в 2011 году) использующих правило Russia, но "отказывающегося" переходить вместе с Россией на зимнее время в этом году.Соответственно, рассмотрим самый корректный способ - а именно рассмотрим необходимые изменения на примере зоны Europe/Moscow, актуальные для 2014 года ( см. файл /usr/share/lib/zoneinfo/src/europe):

# Zone  NAME            GMTOFF  RULES   FORMAT        [UNTIL]

Zone Europe/Moscow      2:30:17  -        LMT         1880
                         2:30:17 -        MMT         1916 Jul  3 # Moscow Mean Time
                         2:31:19 Russia   %s          1919 Jul  1 2:00
                         3:00    Russia   %s          1921 Oct
                         3:00    Russia   MSK/MSD     1922 Oct
                         2:00    -        EET         1930 Jun 21
                         3:00    Russia   MSK/MSD     1991 Mar 31 2:00s
                         2:00    Russia   EE%sT       1992 Jan 19 2:00s
                         3:00    Russia   MSK/MSD     2011 Mar 27 2:00s
                         4:00    -        MSK         2014 Oct 26 2:00s 
                         3:00    -        MSK

Запись предыдущей версии зон (образца 2011 года) выглядит следующим образом:

Zone Europe/Moscow      2:30:20  -        LMT         1880
                         2:30    -        MMT         1916 Jul  3 # Moscow Mean Time
                         2:30:48 Russia   %s          1919 Jul  1 2:00
                         3:00    Russia   MSK/MSD     1922 Oct
                         2:00    -        EET         1930 Jun 21
                         3:00    Russia   MSK/MSD     1991 Mar 31 2:00s
                         2:00    Russia   EE%sT       1992 Jan 19 2:00s
                         3:00    Russia   MSK/MSD     2011 Mar 27 2:00s
                         4:00    -        MSK

То есть, для того, чтобы разрешить переход на зимнее время необходимо разрешить смещение на +4 часа относительно  UTC только до 26 октября  2014 года, выставить постоянное смещение относительно  UTC +3 и отключить правило Russia для этой зоны. Аналогичные изменения делаются и для любой другой зоны. После внесения изменений необходимо провести компиляцию при помощи

#zic /usr/share/lib/zoneinfo/src/europe

 

Проверить правильность конфигурации зоны, как я уже упоминал в исходной статье, можно при помощи zdump :
Пример "правильного" вывода :

 

# zdump -v $TZ |grep 2014
Europe/Moscow  Sat Nov  1 22:58:15 2014 UTC = Sun Nov  2 01:58:15 2014 MSK isdst=0
Europe/Moscow  Sat Oct 25 21:59:59 2014 UTC = Sun Oct 26 01:59:59 2014 MSK isdst=0
Europe/Moscow  Sat Oct 25 22:00:00 2014 UTC = Sun Oct 26 01:00:00 2014 MSK isdst=0

 

Пример вывода "не пропатченной" системы :

 

# zdump -v $TZ |grep 2014
	Europe/Moscow  Thu Oct 16 12:28:37 2014 UTC = Thu Oct 16 16:28:37 2014 MSK isdst=0

Cкачать исходные файлы зон можно здесь :
Solaris 10
Solaris 11.2
Solaris 11.1

Вперед

Коротко о себе:

Работаю в компании TUNE-IT в качестве инженера и преподавателя.

В сферу профессиональных интересов входит все,  что связано с "большими" и не очень серверами и СХД от Sun Microsystems/Oracle и кластерами на их основе, но по долгу службы занимаюсь чаще всего их диагностикой и ремонтом... 

Делюсь опытом и  наработанными навыками в рамках курсов по  соответствующим направлениям.

Ничего не найдено. n is 0