Linux utc установить часовой пояс

Как установить или изменить часовой пояс в Ubuntu 20.04

Использование правильного часового пояса необходимо для многих системных задач и процессов. Например, демон cron использует часовой пояс системы для выполнения заданий cron, а отметки времени в файлах журнала основаны на часовом поясе той же системы.

В Ubuntu часовой пояс системы устанавливается во время установки, но его можно легко изменить позже.

В этой статье описывается, как установить или изменить часовой пояс в Ubuntu 20.04 с помощью командной строки или через графический интерфейс.

Подготовка

Только root или пользователь с привилегиями sudo может устанавливать или изменять часовой пояс системы.

Проверка текущего часового пояса

timedatectl — это timedatectl программа командной строки, которая позволяет просматривать и изменять системное время и дату. Он доступен во всех современных системах Linux на базе systemd, включая Ubuntu 20.04.

Чтобы распечатать часовой пояс текущей системы, вызовите timedatectl без каких-либо аргументов:

Выходные данные ниже показывают, что часовой пояс системы установлен на «UTC»:

 Local time: Wed 2020-05-06 19:33:20 UTC Universal time: Wed 2020-05-06 19:33:20 UTC RTC time: Wed 2020-05-06 19:33:22 Time zone: UTC (UTC, +0000) System clock synchronized: yes NTP service: active RTC in local TZ: no 

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

lrwxrwxrwx 1 root root 27 Dec 10 12:59 /etc/localtime -> /usr/share/zoneinfo/Etc/UTC 

Часовой пояс системы также записывается в файл /etc/timezone :

Изменение часового timedatectl помощью команды timedatectl

Перед изменением часового пояса вам необходимо узнать длинное название часового пояса, который вы хотите использовать. Часовые пояса указаны в формате «Регион / Город».

Чтобы /usr/share/zoneinfo список всех доступных часовых поясов, вы можете либо перечислить файлы в каталоге /usr/share/zoneinfo либо вызвать команду timedatectl с параметром list-timezones :

timedatectl list-timezones
. America/Montevideo America/Nassau America/New_York America/Nipigon America/Nome America/Noronha . 

Как только вы определите, какой часовой пояс соответствует вашему местоположению, выполните следующую команду от имени пользователя sudo:

sudo timedatectl set-timezone your_time_zone

Например, чтобы изменить часовой пояс системы на America/New_York :

sudo timedatectl set-timezone America/New_York

timedatectl команду timedatectl чтобы проверить изменения:

 Local time: Wed 2020-05-06 15:41:42 EDT Universal time: Wed 2020-05-06 19:41:42 UTC RTC time: Wed 2020-05-06 19:41:48 Time zone: America/New_York (EDT, -0400) System clock synchronized: yes NTP service: active RTC in local TZ: no 

Изменение часового пояса с помощью графического интерфейса

Если вы используете Ubuntu Desktop, вы можете изменить часовой пояс текущей системы через графический интерфейс.

  1. Откройте окно настроек системы, щелкнув значок Settings , как показано на изображении ниже:
  2. В окне настроек системы щелкните вкладку Date & Time . Если для параметра « Automatic Time Zone установлено значение « ON И у вас есть подключение к Интернету и включена служба определения местоположения, часовой пояс должен быть автоматически установлен в соответствии с вашим местоположением.
  3. Чтобы выбрать новый часовой пояс, вы можете либо щелкнуть карту, либо выполнить поиск часового пояса с помощью панели поиска. После этого нажмите × чтобы закрыть окно.
Читайте также:  Ash command in linux

Выводы

Мы показали вам, как изменить часовой пояс вашей системы Ubuntu.

Не стесняйтесь оставлять комментарии, если у вас есть вопросы.

Источник

Sysadminium

В статье мы разберёмся с тем, как настроить время в Linux. Посмотрим текущее время, укажем часовой пояс и настроим синхронизацию времени.

Текущее время в системе Linux

Чтобы посмотреть текущее время на вашем сервере linux воспользуйтесь командой date:

alex@ubu:~$ date Ср 13 июл 2022 13:40:27 UTC

В выводе мы видим не только дату и время, но также и часовой пояс. Сейчас вместо часового пояса используется UTC.

Также можно использовать другую команду — timedatectl:

alex@s-ubu:~$ timedatectl Local time: Ср 2022-07-20 07:56:41 UTC Universal time: Ср 2022-07-20 07:56:41 UTC RTC time: Ср 2022-07-20 07:56:41 Time zone: UTC (UTC, +0000) System clock synchronized: yes NTP service: active RTC in local TZ: no

Без опций она покажет текущее время, часовой пояс, а также другую информацию связанную с синхронизацией времени. Например в примере выше видно что время успешно синхронизуется (System clock synchronized: yes) и синхронизация настроена (NTP service: active).

С помощью этой же утилиты (timedatectl) мы будем настраивать часовой пояс и следить за синхронизацией времени, об этом чуть ниже.

Настройка часового пояса

Вообще часовой пояс в системе определяется файлом /etc/localtime, который является символьной ссылкой (про ссылки я уже писал):

alex@ubu:~$ ls -l /etc/localtime lrwxrwxrwx 1 root root 27 апр 21 01:01 /etc/localtime -> /usr/share/zoneinfo/Etc/UTC

Можно вручную отредактировать эту ссылку и указать нужный часовой пояс:

alex@ubu:~$ sudo ln -sf /usr/share/zoneinfo/Europe/Moscow /etc/localtime

Или воспользоваться утилитой timedatectl:

alex@ubu:~$ sudo timedatectl set-timezone Europe/Moscow

Если вас не устраивает выбранный мною часовой пояс, то можете посмотреть список поддерживаемых часовых поясов так:

alex@ubu:~$ timedatectl list-timezones

Проверим время и часовой пояс:

alex@ubu:~$ timedatectl Local time: Ср 2022-07-13 16:50:39 MSK Universal time: Ср 2022-07-13 13:50:39 UTC RTC time: Ср 2022-07-13 13:50:39 Time zone: Europe/Moscow (MSK, +0300) System clock synchronized: yes NTP service: active RTC in local TZ: no

Как видим, часовой пояс уже изменился на Europe/Moscow (MSK, +0300).

Читайте также:  Папка proc в линуксе

Синхронизация времени

В настоящее время очень важно чтобы часы на ваших серверах были синхронизированы. Очень много систем полагаются на время, например:

  • если часы на сервере kerberos и клиенте расходятся более чем на 5 минут, то клиенты не смогут пройти проверку подлинности на сервере;
  • в различных финансовых системах транзакции должны выполняться в надлежащем порядке, поэтому серверы выполняющую эту работу должны быть строго синхронизированы по времени;
  • правильное время также нужно для выполнения автоматизированный задач;
  • системные журналы также полагаются на время.

Получение списка NTP серверов по DHCP

Если ваш сервер получает сетевые настройки по dhcp, то он может получить список NTP серверов (серверов времени для синхронизации). Это настраивается в файле /etc/dhcp/dhclient.conf. В строке request мы определяем что хотим получать от сервера dhcp. И здесь может быть указан параметр ntp-servers:

alex@ubu:~$ cat /etc/dhcp/dhclient.conf # часть текста пропустил request subnet-mask, broadcast-address, time-offset, routers, domain-name, domain-name-servers, domain-search, host-name, dhcp6.name-servers, dhcp6.domain-search, dhcp6.fqdn, dhcp6.sntp-servers, netbios-name-servers, netbios-scope, interface-mtu, rfc3442-classless-static-routes, ntp-servers; # часть текста пропустил

Само собой, вы получите список ntp-серверов, только в том случае если ваш dhcp сервер их распространяет.

Служба синхронизации времени

В системах работающих на systemd работает специальная служба синхронизации времени systemd-timesyncd.service. Можем посмотреть её статус:

alex@ubu:~$ systemctl status systemd-timesyncd.service ● systemd-timesyncd.service - Network Time Synchronization Loaded: loaded (/lib/systemd/system/systemd-timesyncd.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2022-07-13 17:08:06 MSK; 23s ago Docs: man:systemd-timesyncd.service(8) Main PID: 399 (systemd-timesyn) Status: "Initial synchronization to time server 192.168.0.16:123 (192.168.0.16)." Tasks: 2 (limit: 2241) Memory: 1.3M CPU: 63ms CGroup: /system.slice/systemd-timesyncd.service └─399 /lib/systemd/systemd-timesyncd

Видим что синхронизация идет с сервером по адресу 192.168.0.16. У меня этот адрес прилетел по dhcp.

Обратите внимание, что служба эта стартует по запросу и останавливается после синхронизации времени!

Давайте выключим получение ntp серверов по dhcp:

alex@ubu:~$ sudo nano /etc/dhcp/dhclient.conf # в этой строке удалите опцию ntp-servers request subnet-mask, broadcast-address, time-offset, routers, domain-name, domain-name-servers, domain-search, host-name, dhcp6.name-servers, dhcp6.domain-search, dhcp6.fqdn, dhcp6.sntp-servers, netbios-name-servers, netbios-scope, interface-mtu, rfc3442-classless-static-routes;

Вы можете использовать следующий пул серверов времени для синхронизации — https://www.pool.ntp.org/zone/ru. Укажем первый сервер из этого пула в конфиге /etc/systemd/timesyncd.conf:

alex@ubu:~$ sudo nano /etc/systemd/timesyncd.conf [Time] NTP=0.ru.pool.ntp.org FallbackNTP=ntp.ubuntu.com RootDistanceMaxSec=5 PollIntervalMinSec=32 PollIntervalMaxSec=2048

В конфиге используются следующие опции:

  • NTP — укажите 1 или несколько ntp серверов. Если хотите указать несколько серверов, разделяйте их пробелами;
  • FallbackNTP — укажите 1 или несколько резервных ntp серверов;
  • RootDistanceMaxSec — максимальное время в секундах, за которое пакет от сервера эталонного времени должен доходить до сервера к которому мы подлкючены;
  • PollIntervalMinSec и PollIntervalMaxSec — минимальный и максимальный интервалы синхронизаций времени. Вначале используется минимальный интервал, а затем он увеличивается если система видит что локальное время со временем ntp-сервера не расходится.
Читайте также:  Linux mint clipboard manager

После правки перезапустите службу синхронизаций времени:

alex@ubu:~$ sudo systemctl restart systemd-timesyncd.service

Дополнительно можно посмотреть информацию по синхронизации времени с помощью следующей команды:

alex@ubu:~$ timedatectl timesync-status Server: 91.209.94.10 (0.ru.pool.ntp.org) Poll interval: 34min 8s (min: 32s; max 34min 8s) Leap: normal Version: 4 Stratum: 2 Reference: 3EE70662 Precision: 1us (-25) Root distance: 4.012ms (max: 5s) Offset: -5.502ms Delay: 11.084ms Jitter: 2.886ms Packet count: 7 Frequency: +15,118ppm

Здесь мы видим адрес ntp-сервера, а также какой интервал синхронизации (34min 8s) использовался последний раз.

То-есть служба синхронизации времени systemd-timesyncd.service будет запускаться и останавливаться сейчас примерно раз в 34 минуты. Поэтому если увидите, что служба в состоянии loaded и inactive, не пугайтесь. По логам видно что она периодически запускается:

alex@ubu:~$ systemctl status systemd-timedated ○ systemd-timedated.service - Time & Date Service Loaded: loaded (/lib/systemd/system/systemd-timedated.service; static) Active: inactive (dead) Docs: man:systemd-timedated.service(8) man:localtime(5) man:org.freedesktop.timedate1(5) июл 19 15:54:24 s-ubu systemd[1]: systemd-timedated.service: Deactivated successfully. июл 19 15:55:41 s-ubu systemd[1]: Starting Time & Date Service. июл 19 15:55:41 s-ubu systemd[1]: Started Time & Date Service. июл 19 15:56:35 s-ubu systemd[1]: systemd-timedated.service: Deactivated successfully. июл 19 16:05:45 s-ubu systemd[1]: Starting Time & Date Service. июл 19 16:05:45 s-ubu systemd[1]: Started Time & Date Service. июл 19 16:06:15 s-ubu systemd[1]: systemd-timedated.service: Deactivated successfully. июл 19 16:28:42 s-ubu systemd[1]: Starting Time & Date Service. июл 19 16:28:42 s-ubu systemd[1]: Started Time & Date Service. июл 19 16:30:17 s-ubu systemd[1]: systemd-timedated.service: Deactivated successfully.
  • Deactivated successfully — служба останавливается;
  • Starting Time & Date Service… — служба стартует;
  • Started Time & Date Service — служба стартовала;
  • и так по кругу.

Ещё один способ задать часовой пояс

С помощью команды dpkg-reconfigure tzdata также можно задать часовой пояс:

alex@ubu:~$ sudo dpkg-reconfigure tzdata

После выполнения вы можете использовать псевдографический интерфейс для настройки часового пояса. Вначале выберите географический район:

dpkg-reconfigure tzdata - выбор географического района

dpkg-reconfigure tzdata - выбор города

Итог

Теперь вы знаете как настроить время на сервере Debian или Ubuntu. Мы научились устанавливать часовой пояс и настраивать синхронизации времени с ntp серверами.

Узнали про следующие команды:

  • date — покажет текущую дату, время и часовой пояс;
  • timedatectl — покажет тоже самое что и date + синхронизуется ли время;
  • timedatectl list-timezones — покажет список поддерживаемых часовых поясов;
  • timedatectl set-timezone Europe/Moscow — установить часовой пояс Europe/Moscow;
  • timedatectl timesync-status — покажет с какими ntp-серверами синхронизуется время и как часто;
  • dpkg-reconfigure tzdata — установить часовой пояс.
  • /etc/localtime — является символической ссылкой и содержит информацию о текущем часовом поясе;
  • /etc/dhcp/dhclient.conf — настройки dhcp-клиента, который умеет запрашивать ntp-сервера для синхронизации времени;
  • /etc/systemd/timesyncd.conf — настройки службы синхронизации времени.

Узнали про службу синхронизации времени:

  • systemd-timedated.service — стартует по запросу, а после синхронизации времени отключается до следующей синхронизации.

Источник

Оцените статью
Adblock
detector