timedatactl

timedatectl set timezone — опция, которой задается часовой пояс определяющий системное время на серверах для которых инициализация выполняется при помощи systemd.

 

 

timedatectl set timezone

Для дистрибутивов Debian до 9 версии и Ubuntu до 16 инициализация производится за счет SysV и upstart скриптов. Системное время задается через dpkg-reconfigure timezone.

 

В свежих версиях операционных систем применяется systemd, его элементом является инструмент по управлению временем timedatectl.

 

Текущий часовой пояс можно посмотреть так:

 

timedatectl status

Local time: Mon 2018-08-27 06:01:50 UTC
Universal time: Mon 2018-08-27 06:01:50 UTC
RTC time: n/a
Time zone: Etc/UTC (UTC, +0000)
System clock synchronized: yes
systemd-timesyncd.service active: yes
RTC in local TZ: no

 

Временная зона UTC.

Основное преимущество timedatectl — корректное отображение записей в syslog, ранее они продолжались вестись по UTC даже после переопределения часового пояса.

 

Все часовые пояса выводятся с ключом list-timezones

 

timedatectl list-timezones

Africa/Abidjan
Africa/Accra
Africa/Addis_Ababa
Africa/Algiers
Africa/Asmara
Africa/Bamako
Africa/Bangui
Africa/Banjul
Africa/Bissau
Africa/Blantyre
Africa/Brazzaville
Africa/Bujumbura

….

 

Можно отредактировать вывод чтобы найти нужное значение

timedatectl list-timezones | grep Asia | tail -n 6

Asia/Vientiane
Asia/Vladivostok
Asia/Yakutsk
Asia/Yangon
Asia/Yekaterinburg
Asia/Yerevan

 

Установим временную зону Asia/Yekaterinburg

timedatectl set-timezone Asia/Yekaterinburg

 

Проверяем с ключом status

timedatectl status

Local time: Mon 2018-08-27 11:03:12 +05
Universal time: Mon 2018-08-27 06:03:12 UTC
RTC time: n/a
Time zone: Asia/Yekaterinburg (+05, +0500)
System clock synchronized: yes
systemd-timesyncd.service active: yes
RTC in local TZ: no

 

Сейчас системе известно как Universal time, так и Local time. Разница между ними в 5 часов, что и указано в Time zone

 

Читайте также про другой компонент systemd —  journald