Поиск по сайту

Температура за бортом

Войти в Гараж



Отмена перехода на зимнее время на Linux - сервере


Фабула: В России отменен переход на зимнее время, то есть, с 29 на 30 октября  2011 года переводить часы на зимнее время не нужно.


Цель: поправить прокси-сервер, работающий как сервер NTP  в локальной сети.


Решение:


1. Для обновления базы часовых поясов необходимо скачать последнюю версию базы:

tzdata2011n.tar.gz

Я скачал его по ссылке ftp://elsie.nci.nih.gov/pub/ (либо скачать прямо отсюда) и распаковал в /tmp/ntp. (расположение временной директории не имеет значения).


2. Проверяем текущую установленную зону


[root@proxy Asia]# cat /etc/sysconfig/clock|grep ZONE

ZONE="Asia/Yakutsk"


3. Текущий часовой пояс в Linux устанавливается в файле /etc/localtime, который является либо копией, либо ссылкой на файл временной зоны, находящийся в каталоге: /usr/share/zoneinfo.

В моем случае (Часовой пояс Yakutsk(GMT+9 + RedHat) файл /etc/localtime является копией файла /usr/share/zoneinfo/Asia/Yakutsk

В случае необходимости можно поменять зону путем копирования/создания_ссылки соответствующего файла из /usr/share/zoneinfo/ в  /etc/localtime, например:


[root@proxy Asia]# ln  –sf  /usr/share/zoneinfo/Asia/Vladivostok   /etc/localtime


Либо использовать псевдографическую утилиту конфигурирования часового пояса:


[root@proxy Asia]# timeconfig


4. Проверяем активное расписание перехода на зимнее/летнее время для текущей зоны:


[root@proxy Asia]#  zdump -v Asia/Yakutsk|grep 2011

Asia/Yakutsk  Sat Mar 26 16:59:59 2011 UTC = Sun Mar 27 01:59:59 2011 YAKT isdst=0 gmtoff=32400

Asia/Yakutsk  Sat Mar 26 17:00:00 2011 UTC = Sun Mar 27 03:00:00 2011 YAKST isdst=1 gmtoff=36000

Asia/Yakutsk  Sat Oct 29 16:59:59 2011 UTC = Sun Oct 30 02:59:59 2011 YAKST isdst=1 gmtoff=36000

Asia/Yakutsk  Sat Oct 29 17:00:00 2011 UTC = Sun Oct 30 02:00:00 2011 YAKT isdst=0 gmtoff=32400

[root@proxy Asia]#


Если две последние строки с правилами перехода на 30 октября отсутствуют, то значит временная база обновлена и необходимости в дальнейших действиях нет.


5. Возвращаемся во временную директорию, куда мы распаковали свежую базу 2011n, и проверяем правила в файле europe. Как ни странно, но и Якутск и Владивосток описаны именно в этом файле. Ищем следующие строки:


Zone Asia/Yakutsk        ……………….

9.00   Russia   YAK%sT   2011 Mar   27   2:00s

Если такая запись есть, то можем приступать к компилированию данного файла.


6. Компилируем временные зоны из файла europe:


[root@proxy Asia]# zic ./europe


7. Сроздаем ссылку на обновленный файл временной зоны:


[root@proxy Asia]# ln  –sf  /usr/share/zoneinfo/Asia/Yakutsk   /etc/localtime


8. Проверяем правила перехода для текущей временной зоны


[root@proxy ntp]# zdump -v Asia/Yakutsk |grep 2011

Asia/Yakutsk  Sat Mar 26 16:59:59 2011 UTC = Sun Mar 27 01:59:59 2011 YAKT isdst=0 gmtoff=32400

Asia/Yakutsk  Sat Mar 26 17:00:00 2011 UTC = Sun Mar 27 03:00:00 2011 YAKT isdst=0 gmtoff=36000

[root@proxy ntp]#


9. В случае необходимости синхронизируем аппаратные часы по системному времени


bash# hwclock --systohc


10. Готово


Обновлено 19.01.2012 15:09
 
Rambler's Top100
 
www.garage.zabkray.net , Powered by HardWorm Chita 2010 - 2024