Ручное обновление временной зоны


Обычно, данные действия требуются для устаревших систем или в случаях, когда компьютер/сервер не смотрит в Интернет. Иначе, обновить временную зону можно, обновив систему или установив отдельный пакет.
Linux и FreeBSD
Процедуры для данных систем схожи. Разница только в команде для скачивания файла с последними обновлениями для зон.
а) Для Linux:
wget ftp://ftp.iana.org/tz/tzdata-latest.tar.gz
б) Для FreeBSD:
fetch ftp://ftp.iana.org/tz/tzdata-latest.tar.gz
* если доступ к сети Интернет отсутствует, необходимо скачать данный файл с любого другого компьютера и перенести его на целевое устройство.
** если потребуется скачать обновлениями для зон за определенный год, скачиваем его с архива зон.
После загрузки, переходим в каталог, куда скопировали файл (если скачивали с сервера командой wget/fetch, дополнительных действий не требуется).
Создаем каталог, в который распакуем обновления и перейдем в него:
mkdir tzdata
cd tzdata
Распаковываем скачанный архив:
tar xzf ../tzdata-latest.tar.gz
Компилируем зону:
zic europe
* в данном примере для европы.
Задаем временную зону:
timedatectl set-timezone Europe/Moscow
* в данном примере установили московское время.
В старых версиях утилиты timedatectl может не быть. Копируем файл зоны в /etc/localtime:
cp /usr/share/zoneinfo/Europe/Moscow /etc/localtime
Синхронизируем время и проверяем — должны получить правильные время и зону:
ntpdate ru.pool.ntp.org
* команда не сработает, если у нас нет выхода в интернет.
date
Дополнительные команды
Данные команды могут оказаться полезными.
1. Задать время вручную:
date -s 1646120950
* передается в UNIXTIME формате.
2. Посмотреть список доступных временных зон:
timedatectl list-timezones
3. Работа с аппаратными часами.
Отображение системного времени:
hwclock
Устанавливает системное время в соответствии с аппаратными часами:
hwclock -hctosys
Windows
Для систем на базе Windows предусмотрены обновления от Microsoft. Однако, их нет для операционных систем, которые уже не поддерживаются, например, Windows XP или Windows Server 2003.
Настройки каждой временной зоны можно найти в реестре — ветка HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones.
Переходим в ветку на компьютере с обновленной информацией о временной зоне и экспортируем нужный нам ключ:
* в данном примере экспортировали настройку временной зоны для московского времени.
Файл с экспортом переносим на целевой компьютер и импортируем двойным кликом. В системе можно будет выбрать нужную временную зону с правильными настройками: