Гид по технологиям

Настройка времени и даты в Linux с timedatectl

• 5 min read • Linux • Обновлено 13 Dec 2025
Настройка времени и даты в Linux с timedatectl
Настройка времени и даты в Linux с timedatectl

Коротко: используйте timedatectl для просмотра, установки и синхронизации времени и часового пояса в Linux. Отключите NTP только если нужно вручную выставить время; в большинстве случаев стоит использовать сетевую синхронизацию.

Часы на плате компьютера, иллюстрирующие аппаратные и системные часы

Поддержание корректного времени и даты — важная часть стабильной и безопасной системы Linux. Точное время нужно не только для отображения часов, но и для корректной работы планировщиков задач, сертификатов TLS, журналов и сетевой аутентификации.

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

Краткие определения

  • RTC (аппаратные часы): аппаратный реальное-время-часовой модуль, который работает независимо от ОС.
  • Системные часы (software clock): часы, поддерживаемые ядром Linux, которые используются приложением после загрузки.

Как управляется время в Linux

Linux использует два типа часов:

  • Аппаратные часы (RTC) — сохраняют время даже при выключенном питании. Они обычно находятся на материнской плате.
  • Системные часы — поддерживаются ядром и используются операционной системой и процессами. При загрузке система инициализирует системные часы значением из RTC.

По умолчанию время в системе хранится в формате UTC (Coordinated Universal Time). Потом ОС конвертирует UTC в локальное время на основе выбранного часового пояса. На рабочем столе обычно отображается локальное время.

Просмотр текущего времени и параметров

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

timedatectl

Вывод команды timedatectl с информацией о локальном времени, UTC и RTC

Команда возвращает локальное время, UTC, аппаратные часы (RTC), часовой пояс и состояние синхронизации NTP. Альтернативно можно просмотреть время через команду date.

Важно: для изменения времени требуются привилегии root (sudo).

Установка или изменение времени вручную

Чтобы задать время вручную, используйте subcommand set-time:

sudo timedatectl set-time HH:MM:SS

Где HH — часы (24‑часовой формат), MM — минуты, SS — секунды.

Пример: установить время на 00:00:00 (полночь):

sudo timedatectl set-time 00:00:00

Команда обновляет как системные часы, так и RTC. Если включён NTP, ручная установка времени будет заблокирована.

Важное замечание

  • Если Network Time Protocol (NTP) включён, timedatectl не даст вручную изменить время. Отключите NTP перед установкой вручную.
  • Установка времени вручную может привести к рассинхронизации журналов и сертификатов. Действуйте осторожно на продуктивных серверах.

Включение и отключение NTP

NTP позволяет автоматически синхронизировать время с удалёнными серверами.

Отключить NTP:

sudo timedatectl set-ntp false

Включить NTP:

sudo timedatectl set-ntp true

После включения система будет автоматически корректировать время при получении данных от NTP-сервера.

Примечание: set-ntp не сработает на системах без поддержки этой функции.

Установка даты

Для изменения только даты используйте ту же подкоманду set-time в формате YYYY-MM-DD или укажите дату и время вместе:

sudo timedatectl set-time YYYY-MM-DD

Если вы укажете только дату, timedatectl по умолчанию установит время на 00:00:00. Чтобы одновременно задать дату и время:

sudo timedatectl set-time "2000-01-01 23:00:01"

Смена часового пояса

Список доступных часовых поясов можно получить командой:

timedatectl list-timezones

Список часовых поясов в выводе timedatectl

В просмотрщике используйте клавишу F для прокрутки вперёд и B для назад, или стрелки. После того как вы выбрали нужный часовой пояс, примените его так:

sudo timedatectl set-timezone Region/City

Пример:

sudo timedatectl set-timezone Africa/Blantyre

Получение помощи и документации

Для быстрой справки по timedatectl:

timedatectl help

Для полной документации используйте man:

man timedatectl

Альтернативные инструменты

  • hwclock — утилита для работы непосредственно с аппаратными часами (RTC).
  • date — простая утилита для вывода и установки системного времени (обычно используется в скриптах).

timedatectl является современной обёрткой, входящей в состав systemd. Она удобна и безопасна для большинства сценариев.

Быстрая методика (mini‑methodology): пошагово

  1. Проверьте текущее состояние: timedatectl
  2. Если нужно синхронизировать — включите NTP: sudo timedatectl set-ntp true
  3. Если требуется ручная корректировка — отключите NTP: sudo timedatectl set-ntp false
  4. Установите дату/время: sudo timedatectl set-time “YYYY-MM-DD HH:MM:SS”
  5. При необходимости смените часовой пояс: sudo timedatectl set-timezone Region/City
  6. Проверьте результат: timedatectl

Рекомендации по ролям (чек-листы)

Для системного администратора:

  • Проверить текущую синхронизацию (timedatectl)
  • Убедиться, что NTP работает на серверах (set-ntp true)
  • Настроить системный мониторинг времени и оповещения при сдвиге

Для пользователя рабочего стола:

  • Проверить часовой пояс и локальное время
  • Включить автоматическую синхронизацию времени
  • Перезагрузить приложения, если они зависят от времени

Тесты и критерии приёмки

Критерии приёмки для настройки времени:

  • Системное время совпадает с UTC и локальное время отображается правильно
  • NTP показывает состояние synchronized после включения
  • RTC отражает ожидаемое локальное/UTC значение после перезагрузки
  • Журналы не содержат сообщений о рассинхронизации времени

Тестовые сценарии:

  • Включить NTP и проверить, что timedatectl показывает NTP synchronized: yes
  • Отключить NTP, вручную изменить время и убедиться в изменениях в timedatectl и date
  • Сменить часовой пояс и проверить корректность локального времени

Отказные случаи и отладка

Когда ручная установка не срабатывает:

  • Возможная причина — включён NTP. Отключите его и попробуйте снова.
  • Проблемы с привилегиями: используйте sudo или root.
  • Аппаратные сбои RTC: проверьте hwclock и логи ядра.

Если время возвращается к старому после перезагрузки, проверьте, какой источник времени применяется при старте (init/Systemd конфигурации) и работу службы NTP или systemd-timesyncd.

Безопасность и конфиденциальность

  • Неправильное время влияет на проверку сертификатов TLS и логи — это может привести к отказу сервисов.
  • Сетевые службы синхронизации используют NTP. Выберите доверенные NTP-серверы или корпоративный сервер для повышенной безопасности.
  • Изменение времени вручную на продуктивных системах должно быть документировано и одобрено.

Краткий глоссарий (1 строка каждый)

  • NTP: протокол для синхронизации времени по сети.
  • RTC: аппаратные часы на материнской плате.
  • UTC: всемирное координированное время.
  • timedatectl: утилита systemd для управления временем и часовым поясом.

Короткое сравнение команд (cheat sheet)

  • Просмотр: timedatectl
  • Установка времени: sudo timedatectl set-time “YYYY-MM-DD HH:MM:SS”
  • Установка только времени: sudo timedatectl set-time HH:MM:SS
  • Установка даты: sudo timedatectl set-time YYYY-MM-DD
  • Включить/отключить NTP: sudo timedatectl set-ntp true|false
  • Список таймзон: timedatectl list-timezones
  • Установка таймзоны: sudo timedatectl set-timezone Region/City
  • Работа с аппаратными часами: sudo hwclock –systohc (записать systime в RTC) или sudo hwclock –hctosys (загрузить RTC в systime)

Резюме

timedatectl — современная и безопасная утилита для управления временем и часовым поясом в Linux. В большинстве случаев стоит полагаться на сетевую синхронизацию (NTP). Используйте ручную установку только при необходимости и помните про влияние на сертификаты, логи и запланированные задачи.

Кратко: проверьте timedatectl, включите NTP для автоматической синхронизации, меняйте часовой пояс через set-timezone, и используйте hwclock при необходимости напрямую работать с аппаратными часами.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро