Приветствую Всех!
В этой статье я расскажу как изменить дату и время в Linux Ubuntu. Сделать это мы сможем двумя способами.
Рассмотрим первый способ изменить дату и время.
Через панель быстрого запуска открываем «Параметры системы» и выбираем «Время и дата».

В открывшемся окне мы видим карту мира. На ней указанны часовые пояса. Кликнув левой кнопкой мыши по необходимому нам часовому поясу, он будет подсвечен, в поле «Местоположение» мы видим выбранный часовой пояс.

Время в Linux Ubuntu по умолчанию синхронизируется со специальными серверами точного времени. Подключение к данным серверам производится по протоколу сетевого времени NTP.
И в большинстве случаев самому менять ничего не надо. Если ваш компьютер подключен к сети Интернет, то операционная система сама подкорректирует дату и время.
Но если у вас появилась такая необходимость изменить дату и время, то указываем системе «Установить время» вручную и выбираем необходимые нам дату и время.

Второй способ изменить дату и время.
Рассмотрим как изменить часовой пояс. Откроем терминал и запустим следующую команду.
sudo dpkg-reconfigure tzdata

Для получения дополнительных привилегий необходимо ввести пароль пользователя и нажать на клавиатуре клавишу «Enter».

Выбираем географический район, в моем случае это «Европа» и нажимаем на клавиатуре клавишу «Enter».

В следующем окне выбираем часовой пояс. Я выбрал «Москва» и также нажимаем на клавиатуре клавишу «Enter».

В терминале видим установленную временную зону и текущее время

Для просмотра текущей даты и времени в терминале надо ввести следующую команду
data

А для того чтобы, например, установить дату 15 декабря 2015 года и время 20 часов 10 минут вводим команду
sudo data 201520102015.00

date MMDDhhmmCCYY.ss
MM — месяц, DD — день месяца, hh — часы, mm — минуты, CCYY — 4 цифры года, ss — секунды
Мы рассмотрели как можно изменить часовой пояс, а также изменить дату и время в Linux Ubuntu. И если остались непонятные вопросы по данной это теме и есть предложения, то прошу их писать в комментариях. Всем пока!
Время является важным аспектом в системах Linux, особенно в критически важных службах, таких как задания cron.
Наличие правильного времени на сервере гарантирует, что сервер работает в здоровой среде, которая состоит из распределенных систем и поддерживает точность на рабочем месте.
В этой статье мы сконцентрируемся на том, как установить время / дату / часовой пояс и синхронизировать часы сервера с вашим компьютером с Ubuntu Linux.
Проверьте текущее время
Вы можете проверить текущее время и дату, используя команду date и timedatectl.
Эти команды могут быть выполнены прямо из терминала от обычного пользователя или от суперпользователя.
Команды удобны, полезность двух команд ощутима, когда вы хотите исправить неправильное время из командной строки.
Использование команды date
Войдите в систему как пользователь root и используйте команду следующим образом:
$ date
Вывод:
Вт фев 5 15:16:04 MSK 2019
Вы также можете использовать ту же команду, чтобы проверить дату 2 дня назад
$ date --date="2 days ago"
Использование команды timedatectl
Для проверки состояния времени в вашей системе, а также текущих настроек времени, используйте команду timedatectl, как показано далее:
# timedatectl
или
# timedatectl status
Изменение времени
Мы используем timedatectl для изменения системного времени в формате HH: ММ: ss.
HH обозначает час в 24-часовом формате, MM обозначает минуты, а SS – секунды.
Для установки времени на 09:08:07 используйте команду следующим образом (используя timedatectl)
# timedatectl set-time 09:08:07
Используя команду date
Изменение времени означает, что все системные процессы выполняются в одно и то же время, при этом рабочий стол и сервер работают одновременно.
Из командной строки используйте команду date следующим образом:
# date +%T -s "10:13:13"
Где,
• 10: час (hh)
• 13: минута (мм)
• 13: Второй (ss)
Чтобы изменить локаль на AM или PM, используйте %p в следующем формате.
# date +%T%p -s "6:10:30AM"
# date +%T%p -s "12:10:30PM"
Изменение даты
Как правило, вы хотите, чтобы ваша системная дата и время устанавливались автоматически.
Если по какой-либо причине вам необходимо изменить его вручную с помощью команды date, мы можем использовать эту команду:
# date –set=”20140125 09:17:00”
Он установит текущую дату и время вашей системы на «25 января 2014 года» и «09: 17: 00 AM».
Обратите внимание, что для этого у вас должна быть привилегия root.
Вы можете использовать timedatectl, чтобы установить время и дату соответственно.
Допустимый формат: ГГГГ-ММ-ДД, ГГГГ представляет год, ММ – месяц в двух цифрах, а ДД – день в двух цифрах.
Чтобы изменить дату на 15 января 2019 года, вы должны использовать следующую команду
# timedatectl set-time 20190115
Создать пользовательский формат даты
Чтобы создать собственный формат даты, используйте знак плюс (+)
$ date +”Day : %d Month : %m Year : %Y”
Day: 05 Month: 12 Year: 2013
$ date +%D
12/05/13
Формат %D соответствует формату год / месяц / день.
Вы также можете указать название дня, если хотите.
Вот некоторые примеры :
$ date +”%a %b %d %y”
Fri 06 Dec 2013
$ date +”%A %B %d %Y”
Friday December 06 2013
$ date +”%A %B %d %Y %T”
Friday December 06 2013 00:30:37
$ date +”%A %B-%d-%Y %c”
Friday December-06-2013 12:30:37 AM WIB
Отобразить список / изменить часовые пояса
Изменение часового пояса имеет решающее значение, если вы хотите, чтобы все синхронизировалось с сетевым протоколом времени.
Первое, что нужно сделать, это составить список всех часовых поясов региона, используя опцию list-часовой пояс или grep, чтобы упростить понимание команды:
# timedatectl list-timezones
Приведенная выше команда представит прокручиваемый формат.
Рекомендуемый часовой пояс для серверов – UTC, поскольку он не имеет летнего времени.
Если вы знаете, определенные часовые пояса установите его, используя имя с помощью следующей команды
# timedatectl set-timezone America/Los_Angeles
Для отображения часового пояса выполните:
# timedatectl | grep "Time"
Установите Local-RTK
Часы реального времени (RTC), которые также называются аппаратными часами, не зависят от операционной системы и продолжают работать, даже когда сервер выключен.
Используйте следующую команду:
# timedatectl set-local-rtc 0
Кроме того, следующая команда для местного времени
# timedatectl set-local-rtc 1
Проверить / изменить время CMOS
Аккумулятор CMOS компьютера автоматически синхронизирует время с системными часами, если CMOS работает правильно.
Используйте команду hwclock, чтобы проверить дату CMOS следующим образом
# hwclock
Для синхронизации даты CMOS с системной датой используйте следующий формат
# hwclock –systohc
Правильное время для вашей среды Linux очень важно, потому что от этого зависят многие операции.
Такие операции включают в себя регистрацию событий и cron jobs.
Также, это важно для работы в домене.
Мы надеемся, что вы нашли эту статью полезной.
Время от времени часы на компьютере могут сбиваться по различным причинам, время может быть установлено изначально неправильно или неправильно выбран часовой пояс. Хотя в системе по умолчанию настроена синхронизация времени с интернетом и я уже давно забыл что значит постоянно перенастраивать часы, если они отстают, такая необходимость может появиться.
В этой статье мы рассмотрим как выполняется установка времени Linux различными способами, через терминал, графический интерфейс и так далее. Но сначала нам нужно понять как работает время.
Как работает время на компьютере?
Статья ориентирована на новичков, в первую очередь на них, потому что профессионалы уже и так знают как это сделать. Поэтому сначала рассмотрим как работает время в Linux. Когда компьютер работает часы идут, это ясно, но когда вы его отключаете, а затем включаете снова часы показывают не то время, на котором остановились, а правильное время. Это происходит потому, что часы на материнской плате идут постоянно. Таймер питается от той же батарейки, что и энергозависимая память BIOS.
Операционная система передает значение таймера в память BIOS при выключении и берет его оттуда при включении. Отсюда берутся проблемы со временем при двойной загрузке Windows и Linux, но эта тема раскрыта в другой статье — сбивается время в Ubuntu и Windows. Другая проблема почему может сбиваться время — это неверно установленный часовой пояс. Если вы установили часовой пояс linux неверно, то часы будут постоянно синхронизироваться через интернет и идти неверно.
Когда все проблемы с временем будут устранены, можно перейти установить нужное время и быть уверенным что оно не будет сбиваться. Дальше рассмотрим как это сделать.
Вы можете видеть текущее время прямо на вашем рабочем столе, в KDE часы добавлены на панель, да и в Gnome, они размещены по центру панели по умолчанию:
Если навести курсор на время, вы увидите более подробную информацию, область уведомлений и календарь.
Но настроить время здесь уже не получится. Для этого нужно открывать настройки системы. Мы будем рассматривать настройки для Gnome. Откройте меню Dash и наберите в строке поиска «Параметры»:
Дальше откройте «Дата и время»:
Как видите, здесь уже установлено значение по умолчанию «Автоматическое определение даты и времени», а внизу есть пункт, который отвечает за часовой пояс.
Вы можете просто поменять часовой пояс чтобы время синхронизировалось правильно, если что-то не так. Также можно задать время вручную. Для этого сначала отключите автоматическую синхронизацию, а затем выберите дату и время:
Никаких кнопок нажимать не нужно, закройте окно выбора и новое время будет применено. Вы всегда можете вернуть настройки до значения по умолчанию.
Установка времени через терминал
Кроме графического интерфейса, у вас есть возможность делать все необходимые действия через терминал. Для этого есть утилита date. Сначала смотрим текущее время:
date
У утилиты есть множество опций отображения и настроек, но мы не будем их рассматривать. Есть еще одна команда, которая позволяет посмотреть системное время linux:
sudo hwclock -r
Чтобы установить время можно использовать ту же команду date. Для этого ей нужно передать строку со временем и датой, например:
date --set="строка"
В качестве строки можно брать ту, которую возвращает команда date без параметров, только она должна быть на английском, поэтому сразу смотрим:
LANG=en_US date
Затем меняем:
sudo date --set "Wed Sep 6 20:43:36 EEST 2017"
Если у вас включена коррекция даты через интернет, то ее нужно отключить перед этим, потому что вы даже заметить изменений не успеете, как сервер времени linux установит правильное время. Можно сократить эту строку:
sudo date --set "Sep 6 20:43:36 2017"
Это даст тот же результат. Еще один вариант — указать формат данных, которые вы собираетесь передавать с помощью модификаторов, например, изменить время linux:
sudo date +%T -s "20:43:36"
Здесь формат очень прост — часы:минуты:секунды. Можно давать время в 12 часовом формате, для этого добавьте модификатор %p:
date +%T%p -s "8:43:36PM"
Вы изменяете текущее время, но аппаратное системное время linux не изменяется, чтобы сохранить изменения используйте команду:
sudo hwclock -w
Еще один новый инструмент от systemd для управления временем — timedatectl. С помощью него можно выполнить те же операции, сначала смотрим доступную информацию о времени:
timedatectl
Текущее системное время отображается в строке Local Time. Чтобы изменить дату, используйте опцию -set-time. Синтаксис передаваемого ей параметра такой: ГГГГ-ММ-ДД ЧЧ:ММ:СС. Думаю тут понятно и без комментариев. Например:
sudo timedatectl --set-time "2017-09-06 20:43:36"
Можно задать только время, тогда нужно использовать синтаксис времени ЧЧ:ММ:СС, например:
sudo timedatectl --set-time "20:43:36"
Еще раз говорю, что если включена синхронизация по сети, то вы не сможете изменить время. Но с помощью timedatectl ее можно отключить:
sudo timedatectl set-ntp no
Или включить обратно:
sudo timedatectl set-ntp yes
C помощью этой же команды можно не только установить время linux, но и настроить часовой пояс, для этого используйте опцию set-timezone:
sudo timedatectl set-timezone 'Russia/Moscov'
Вы можете посмотреть список доступных часовых поясов командой:
timedatectl list-timezones
Видео о настройке времени с помощью timedatectl:
Выводы
Вот и все. Теперь вы знаете как выполняется установка времени linux. Как видите, это очень просто, вы можете использовать различные способы, в зависимости от того, что вам будет удобнее. Если у вас остались вопросы, спрашивайте в комментариях!
Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна .
Использование правильного часового пояса необходимо для многих системных задач и процессов. Например, демон cron использует часовой пояс системы для выполнения заданий cron, а отметки времени в файлах журнала основаны на часовом поясе той же системы.
В Ubuntu часовой пояс системы устанавливается во время установки, но его можно легко изменить позже.
В этой статье описывается, как установить или изменить часовой пояс в Ubuntu 20.04 с помощью командной строки или через графический интерфейс.
Подготовка
Только root или пользователь с привилегиями sudo может устанавливать или изменять часовой пояс системы.
Проверка текущего часового пояса
timedatectl — это timedatectl программа командной строки, которая позволяет просматривать и изменять системное время и дату. Он доступен во всех современных системах Linux на базе systemd, включая Ubuntu 20.04.
Чтобы распечатать часовой пояс текущей системы, вызовите timedatectl без каких-либо аргументов:
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 .
Другой вариант просмотра часового пояса текущей системы — найти файл, на который указывает символическая ссылка :
ls -l /etc/localtime
lrwxrwxrwx 1 root root 27 Dec 10 12:59 /etc/localtime -> /usr/share/zoneinfo/Etc/UTC
Часовой пояс системы также записывается в файл /etc/timezone :
cat /etc/timezone
UTC
Изменение часового 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 чтобы проверить изменения:
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, вы можете изменить часовой пояс текущей системы через графический интерфейс.
- Откройте окно настроек системы, щелкнув значок
Settings, как показано на изображении ниже: - В окне настроек системы щелкните вкладку
Date & Time. Если для параметра «Automatic Time Zoneустановлено значение «ONИ у вас есть подключение к Интернету и включена служба определения местоположения, часовой пояс должен быть автоматически установлен в соответствии с вашим местоположением. - Чтобы выбрать новый часовой пояс, вы можете либо щелкнуть карту, либо выполнить поиск часового пояса с помощью панели поиска.
После этого нажмите
×чтобы закрыть окно.
Выводы
Мы показали вам, как изменить часовой пояс вашей системы Ubuntu.
Не стесняйтесь оставлять комментарии, если у вас есть вопросы.
В статье мы разберёмся с тем, как настроить время в 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).
Синхронизация времени
В настоящее время очень важно чтобы часы на ваших серверах были синхронизированы. Очень много систем полагаются на время, например:
- если часы на сервере 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-сервера не расходится.
После правки перезапустите службу синхронизаций времени:
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
После выполнения вы можете использовать псевдографический интерфейс для настройки часового пояса. Вначале выберите географический район:
Затем город:
Итог
Теперь вы знаете как настроить время на сервере 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 – стартует по запросу, а после синхронизации времени отключается до следующей синхронизации.
Сводка
Имя статьи
Дата, время и часовой пояс в Linux
Описание
В статье мы разберёмся с тем, как настроить время в Linux. Посмотрим текущее время, укажем часовой пояс и настроим синхронизацию времени
| Введение | |
| date: Узнать текущие системные дату и время | |
| hwclock: Узнать текущие дату и время BIOS | |
| Изменить дату и время вручную | |
| Синхронизация с ntp | |
| Заставить систему синхронизовать время с ntp | |
| Timezone | |
| Похожие статьи |
Введение
При работе в сети синхронизация времени и даты это важный
фактор увеличивающий стабильность и
безопасность
работы всех систем.
В этой статье вы узнаете как настраивать дату и время вручную. И, что более
важно — как синхронизировать их с ntp сервером.
Узнать текущее системное время
Узнать текущее системное время можно командой
date
date
2023-02-10 13:51:04.364911+02:00
Узнать текущее время BIOS
Узнать текущее системное время BIOS можно командой
hwclock
sudo hwclock
2023-02-10 13:51:04.389911+02:00
date и hwclock
могут показывать совершенно разное время
Исправить текущее время
Сначала нужно задать время командой
date
date MMDDhhmmCCYY.ss
| MM | две цифры текущего месяца (пример: январь=01); |
| DD | две цифры текущей даты (если текущий календарный день 1, то пишется 01); |
| hh | две цифры обозначающие час |
| mm | две цифры обозначающие минуты |
| CCYY | четыре цифры года |
| ss | две цифры секунд |
Также можно вводить «date MMDDhhmmCCYY» без секунд, тогда секунды выставляются на ноль.
После выполнения date нужно внести новое установленное время в BIOS:
hwclock —systohc
Теперь осталось только проверить сохранились ли изменения
sudo hwclock
Синхронизация с ntp
Проверьте установлен ли ntp командой
which ntpd
/usr/sbin/ntpd
Если ntp не установлен выполните
sudo apt install ntp
Проверьте запускается ли ntpd автоматически командой
systemctl list-unit-files | grep ntpd.s
ntpd.service enabled
Если ntpd неактивен (disabled) выполните
systemctl start ntpd
systemctl enable ntpd
Проверить добавлен ли сервис ntp в зону public в
firewall
можно командой
sudo firewall-cmd —get-services | grep ntp
Если ещё не добавлен, то чтобы разрешить UDP траффик от ntp выполните
firewall-cmd —permanent —add-service=ntp
firewall-cmd —reload
success
success
Отредактируйте файл
ntp.conf
с настройками сервера
vi /etc/ntp.conf
server 0.fi.pool.ntp.org
server 1.fi.pool.ntp.org
server 2.fi.pool.ntp.org
server 3.fi.pool.ntp.org
Теперь нужно перезапустить ntpd
systemctl restart ntpd
Проверить откуда берётся время можно командой
ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
time.cloudflare 10.79.8.177 3 u 14 64 7 3.987 -0.366 0.016
37.228.129.2 193.66.253.94 2 u 16 64 7 5.301 -1.639 1.908
ivanova.ganneff 237.17.204.95 2 u 13 64 7 5.296 3.850 0.266
ntp23.kashra-se 192.168.100.15 2 u 12 64 5 32.935 -2.213 0.192
Выставить время BIOS по только что полученному времени можно командой
hwclock —systohc
Заставить систему синхронизовать время с ntp
Можно следующей командой
sudo ntpdate -u 0.fi.pool.ntp.org
Вместо 0.fi.pool.ntp.org поставьте нужный вам сервер. Например, для России подойдёт один из
server 0.ru.pool.ntp.org
server 1.ru.pool.ntp.org
server 2.ru.pool.ntp.org
server 3.ru.pool.ntp.org
Timezone
Узнать текущую временную зону
timedatectl
Local time: Fri 2023-02-10 13:51:04. EEST
Universal time: Fri 2023-02-10 11:51:04 UTC
RTC time: Fri 2023-02-10 11:51:04
Time zone: Europe/Helsinki (EEST, +0300)
System clock synchronized: yes
NTP service: n/a
RTC in local TZ: no
Изменить временную зону можно командой set-timezone
timedatectl set-timezone «America/Denver»
Проверить результат
timedatectl | grep «Time zone»
Time zone: America/Denver (MDT, -0600)
| Ubuntu | |
| Установка | |
| Настройка сети | |
| SSH: удалённый доступ | |
| SCP: обмен файлами; | |
| Firewall | |
| Дата и время | |
| X Window System Ubuntu | |
| xrandr: Поменять местами экраны | |
| XRDP: Удалённый рабочий стол | |
| VNC: Удалённый рабочий стол | |
| Wayland | |
| Изменить machine-id | |
| Изменить ulimit | |
| xclip: Работа с буфером обмена | |
| dpkg: Установка из .deb файлов | |
| Удалить старые ядра | |
| FAQ | |
| Файлы | |
| Объединить .pdf файлы | |
| diff: сравнение файлов | |
| find: поиск файлов | |
| kill: завершить процесс | |
| make | |
| signal: системные сигналы | |
| env: переменные окружения | |
| localectl: язык | |
| systemctl: Список активных сервисов | |
| cron: задания по расписанию | |
| sudo | |
| Grep |




















