Как поменять временную зону в Linux — полное руководство
Содержание
- Проверка текущей временной зоны в Linux
- Способ 1: timedatectl (современные системы)
- Способ 2: Ручная настройка (старые системы)
- Синхронизация времени с NTP
- Часто используемые временные зоны
- Быстрый чеклист
- Заключение
Иногда в Linux-системах по умолчанию установлена временная зона UTC, что может вызывать путаницу с логами, cron-задачами и временем на сервере. В этой статье покажем, как быстро и безопасно сменить временную зону в Linux — на примере Ubuntu, Debian, CentOS, Fedora, Arch, ALT Linux и других.
Проверка текущей временной зоны в Linux
Сначала убедимся, какая временная зона сейчас установлена. Выполните команду:
timedatectl
Пример вывода:
Local time: Thu 2025-07-03 10:26:33 UTC
Universal time: Thu 2025-07-03 10:26:33 UTC
RTC time: Thu 2025-07-03 10:26:33
Time zone: Etc/UTC (UTC, +0000)
System clock synchronized: yes
NTP service: active
RTC in local TZ: no
Также можно просто посмотреть текущее время:
date
Если указана временная зона Etc/UTC, а вы, например, в Москве — пора менять.
Способ 1: timedatectl (современные системы)
Этот способ подходит для систем с systemd, включая:
- Ubuntu, Debian
- CentOS 7+, RHEL, Fedora, RedOS
- Arch Linux и производные
- ALT Linux, Astra и др.
Шаг 1. Список доступных временных зон
Чтобы посмотреть все зоны:
timedatectl list-timezones
Уточнить через grep, например:
timedatectl list-timezones | grep Moscow
Шаг 2. Установка новой временной зоны
Например, для Москвы:
sudo timedatectl set-timezone Europe/Moscow
Проверьте результат:
timedatectl
Вывод:
Local time: Thu 2025-07-03 13:30:07 MSK
Universal time: Thu 2025-07-03 10:30:07 UTC
RTC time: Thu 2025-07-03 10:30:07
Time zone: Europe/Moscow (MSK, +0300)
System clock synchronized: yes
NTP service: active
RTC in local TZ: no
Способ 2: Ручная настройка (старые системы)
Если у вас нет timedatectl, можно сменить временную зону вручную.
Установка симлинка
sudo ln -sf /usr/share/zoneinfo/Europe/Moscow /etc/localtime
Указание зоны (опционально):
echo "Europe/Moscow" | sudo tee /etc/timezone
После этого перезапустите службы времени, если необходимо.
Синхронизация времени с NTP
Если после смены часовой пояс правильный, но время не синхронизировано, проверьте работу службы времени.
Для систем с systemd-timesyncd:
sudo systemctl restart systemd-timesyncd
Для систем с chrony:
sudo systemctl restart chronyd
Для ntpd:
sudo systemctl restart ntpd
Часто используемые временные зоны
| Город | Временная зона |
|---|---|
| Москва | Europe/Moscow |
| Киев | Europe/Kyiv |
| Минск | Europe/Minsk |
| Новосибирск | Asia/Novosibirsk |
| Владивосток | Asia/Vladivostok |
| Екатеринбург | Asia/Yekaterinburg |
| Алматы | Asia/Almaty |
| UTC (по умолчанию) | UTC |
Быстрый чеклист
- Проверили временную зону (
timedatectl) - Назначили нужную (
set-timezoneили симлинк) - Убедились, что включён NTP
- Проверили результат (
date,timedatectl)
Заключение
Сменить временную зону в Linux просто — особенно с timedatectl. Правильный часовой пояс влияет на:
- корректность логов (особенно в
/var/log) - точную работу
cron-заданий - синхронную работу кластеров и сервисов
Рекомендуется также включить NTP, чтобы система всегда имела точное время.