Обновление базы данных часовых поясов в Linux.



    Последние обновления базы данных часовых поясов публикуются на сайте международной организации IANA (The Internet Assigned Numbers Authority) в разделе Time Zone Database - Latest Version – Time Zone Data v. yyyy – файл именем tzdatayyyyx.tar.gz, где yyyy- год, x – версия файла. Эти обновления отражают актуальные границы часовых поясов и правила перехода на зимнее/летнее время. В архиве tzdatayyyy находятся исходные текстовые файлы, содержащие настройки системного времени для различных зон, например Европы ( файл europe ), Азии (asia), северной Америки (northamerica) и т.п. Скачать актуальную версию можно также с использованием FTP-доступа, например командой wget:

wget ftp://ftp.iana.org/tz/tzdata-latest.tar.gz

Хранение этих данных не потребуется, поэтому, все последующие операции можно выполнить в каком-нибудь временном каталоге, который в дальнейшем, удалить.

Создаем временный каталог, например, /tmp/tznew :

mkdir /tmp/tznew

Переходим в него:

cd /tmp/tznew

Скачиваем базу данных часовых поясов:

wget ftp://ftp.iana.org/tz/tzdata-latest.tar.gz

Извлекаем содержимое архива:

tar zxvf tzdata-latest.tar.gz

После распаковки, в каталоге будут находиться текстовые файлы с документацией и файлы настроек временных зон по регионам (africa, asia, europe, и т.п. )

Настройки системного времени в операционных системах Linux, определяются содержимым файла /etc/localtime. Данный файл не является текстовым и создается путем компиляции из исходного файла соответствующей временной зоны специальной утилитой zic, выполняемой с правами суперпользователя root . Утилита zic читает текстовый файл с описаниями зон и на выходе формирует бинарные файлы специального формата в каталоге /usr/share/zoneinfo/. Для замены, например, настроек для Европы, выполняется команда zic europe - где europe - имя файла из распакованного архива. Для азиатского региона - zic asia и т.п.

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

ln -sf /usr/share/zoneinfo/Europe/Moscow /etc/localtime

А, например, для Новосибирска

ln -sf /usr/share/zoneinfo/Asia/Novosibirsk /etc/localtime

В некоторых дистрибутивах Linux, вместо ссылки используется копирование скомпилированного файла в /etc/localtime, что допустимо, но все же, не совсем оптимально.

Для проверки системного времени можно использовать команду date


Если вы желаете поделиться ссылкой на эту страницу в своей социальной сети, пользуйтесь кнопкой "Поделиться"











В начало страницы       |       На главную страницу сайта




Рейтинг@Mail.ru Яндекс.Метрика