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

Как изменить часовой пояс в Linux из командной строки

• 4 min read • Linux • Обновлено 09 Dec 2025
Изменить часовой пояс в Linux через терминал
Изменить часовой пояс в Linux через терминал

Аналоговые часы, показывающие разные часовые пояса

Если вы переехали или путешествуете с ноутбуком на Linux, возможно, нужно обновить системный часовой пояс. Установить часовой пояс из командной строки просто. Ниже — проверенные способы и рекомендации.

Просмотр часовых зон с помощью tzselect

Меню выбора континента в tzselect

В Linux часовые зоны определяются базой Time Zone Database (tzdata). База поддерживает политические изменения зон и служит единой точкой правды для множества систем.

Команда tzselect запускает меню, которое помогает найти корректное имя зоны (например, America/Los_Angeles для тихоокеанского времени). Запустите в оболочке:

tzselect

Далее выберите континент, страну и при необходимости регион. В конце утилита покажет результирующее имя зоны и объяснит, как временно установить его через переменную среды TZ.

Важно: tzselect не вносит системных изменений сама по себе — она только подсказывает правильное имя зоны.

Установка через переменную среды TZ

Переменная среды TZ в командной строке Linux

Переменную среды TZ удобно использовать для быстрого теста или для отдельного процесса. Пример для тихоокеанского времени:

export TZ="America/Los_Angeles"

Это изменение действует только в текущей сессии и для процессов, запущенных после экспорта. Чтобы сделать его постоянным для конкретного пользователя, добавьте ту же строку в ~/.bashrc, ~/.profile или ~/.zshrc.

Примечание: системные демоны и процессы, запущенные до изменения переменной, не увидят новый TZ.

Установка через /etc/timezone и /etc/localtime

Символическая ссылка /etc/localtime

Для системных, глобальных изменений используют файлы /etc/timezone и /etc/localtime. Поведение зависит от дистрибутива:

  • Debian/Ubuntu: при установке используется /etc/timezone и /etc/localtime. Вы можете редактировать /etc/timezone и затем пересоздать /etc/localtime.
  • Другие дистрибутивы могут работать с одной только /etc/localtime.

Изменение через /etc/timezone (пример с vim):

sudo vim /etc/timezone

В файл поместите имя зоны, полученное через tzselect, и сохраните. После этого некоторые системы автоматически обновят /etc/localtime; если нет, создайте символическую ссылку на файл зоны:

sudo ln -sf /usr/share/zoneinfo/America/Los_Angeles /etc/localtime

Файл /etc/localtime обычно — либо копия бинарного файла зоны, либо символическая ссылка на /usr/share/zoneinfo/. Установка через ln -sf безопасна и быстро применяется к системе.

Альтернативный способ для systemd: timedatectl

На современных дистрибутивах с systemd удобнее использовать timedatectl:

# список доступных зон
timedatectl list-timezones

# установка зоны
sudo timedatectl set-timezone America/Los_Angeles

# проверка статуса времени и часового пояса
timedatectl status

timedatectl автоматически обновляет системные настройки и /etc/localtime, если это необходимо. Это предпочтительный способ на systemd‑системах.

Когда смена часового пояса не сработает

  • В контейнере без соответствующих файлов зоны (нет /usr/share/zoneinfo) или в минимальном окружении. Решение: установить пакеты tzdata или смонтировать зону.
  • Приложение жёстко задаёт часовой пояс в конфигурации или использует собственную библиотеку времени. Нужно менять настройки приложения.
  • Службы уже работают и кэшируют локальное время; потребуется их перезапустить.

Важно: перезапустите критичные службы (например, базы данных, демоны логирования), чтобы они начали использовать новый часовой пояс.

Быстрая шпаргалка команд

# выбрать имя зоны
tzselect

# временно для сессии
export TZ="Europe/Moscow"

# системно через симлинк
sudo ln -sf /usr/share/zoneinfo/Europe/Moscow /etc/localtime

# на systemd
sudo timedatectl set-timezone Europe/Moscow

# проверить текущее время
date

# статус systemd времени
timedatectl status

Чек-листы по ролям

Для обычного пользователя:

  • Запустите tzselect и запомните имя зоны.
  • Временно установите TZ в сессии, если нужно срочно.
  • Добавьте экспорт в ~/.bashrc, если часто используете.

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

  • Проведите анализ зависимостей приложений и логов.
  • Если systemd — используйте timedatectl.
  • Создайте симлинк /etc/localtime, если дистрибутив не использует timedatectl.
  • Перезагрузите службы, которые кэшируют локальное время.
  • Задокументируйте изменение в CMDB или в changelog.

Для разработки и CI:

  • В контейнерах включите пакет tzdata или пробросьте /usr/share/zoneinfo.
  • Для тестов временно задавайте TZ в окружении сборки.

Мета: критерии приёмки

Чтобы считать изменение успешным:

  • Команда date показывает ожидаемое локальное время.
  • timedatectl status (если есть) отображает нужную зону.
  • Приложения пишут корректные временные метки в логах.

Безопасность и приватность

Часовой пояс не влияет на права доступа, но изменяет временные метки в логах и аудите. При изменении зоны:

  • Убедитесь, что журналы синхронизированы с центральным лог‑сервером по UTC или включён явный указатель часовой зоны.
  • Проверьте процедуру расследования инцидентов — временные метки могли сместиться.

Короткий глоссарий

  • tzdata — база данных часовых зон.
  • tzselect — интерактивный помощник для поиска имени зоны.
  • TZ — переменная среды для установки часового пояса в сессии.
  • /etc/localtime — системный файл (или ссылка) с бинарными данными зоны.
  • timedatectl — утилита systemd для управления временем и таймзоной.

Примеры, когда лучше не менять зону локально

  • Серверы, собирающие метрики с разных регионов — лучше хранить логи в UTC.
  • Критичные сервисы, зависящие от согласованного времени — изменение локальной зоны без синхронизации может запутать мониторинг.

Итог и дальнейшие шаги

Вы можете быстро сменить локальную зону для сессии через TZ, сделать системное изменение через /etc/localtime или воспользоваться timedatectl на systemd. Всегда проверяйте статус времени и при необходимости перезапускайте сервисы. Если нужна конвертация времени в браузере, используйте web‑инструменты вроде MyTimeZone.

Важно: перед массовыми изменениями на серверах подготовьте план отката и уведомите заинтересованные команды.

Краткое резюме:

  • tzselect помогает найти корректное имя зоны.
  • export TZ действует только в сессии.
  • ln -sf /usr/share/zoneinfo/… /etc/localtime меняет системную зону.
  • timedatectl — предпочтительный метод для systemd.
Поделиться: 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 быстро