Почему сбрасывается временная зона в Arch Linux?
Если ваш компьютер или сервер на Arch Linux (или другом совместимом дистрибутиве) неожиданно решил, что живёт в другом часовом поясе, а timedatectl
упрямо отказывается менять время, возможно, проблема в /etc/localtime
. В этой статье разберёмся, почему это происходит, и как привести систему в чувство.
Симптомы проблемы
Вы смотрите на timedatectl status
и понимаете, что что-то явно пошло не так: время сбилось, NTP отключён. Ладно, пробуем исправить:
sudo timedatectl set-timezone Europe/Moscow
А в ответ:
Failed to set time zone: Is a directory
Что? Заглядываем в /etc/localtime
и видим нечто странное: там одновременно и символическая ссылка, и папка. Видимо, система запуталась и решила просто игнорировать реальность. В результате timedatectl
не может установить временную зону, а NTPD работает, но остаётся невидимым для системы.
Разбор причин сбоя
Основные причины проблемы:
- В
/etc/localtime
присутствуют и символическая ссылка, и каталог, что сбиваетtimedatectl
. timedatectl
не может обновить часовой пояс из-за странной структуры/etc/localtime
.ntpd
исправно трудится, но система этого как будто не замечает.systemd-timesyncd
иntpd
ведут тихую войну за контроль над временем.
Теперь разберёмся, как это исправить.
Решение: настройка правильной синхронизации времени
1. Удаляем лишнюю папку и создаём корректный симлинк
sudo rm -rf /etc/localtime
sudo ln -s /usr/share/zoneinfo/Europe/Moscow /etc/localtime
(Замените Europe/Moscow
на нужный часовой пояс.)
2. Выключаем systemd-timesyncd
, чтобы он не мешал
sudo systemctl stop systemd-timesyncd
sudo systemctl disable systemd-timesyncd
3. Запускаем NTPD и проверяем его работу
sudo systemctl enable --now ntpd
sudo systemctl restart ntpd
ntpq -p
systemctl status ntpd
Если ntpq -p
показывает сервера NTP, значит, всё работает.
4. Включаем автоматическую синхронизацию времени
sudo timedatectl set-ntp true
Проверяем статус:
timedatectl status
Если System clock synchronized: yes
, значит, всё в порядке.
Итог
Теперь система работает стабильно, а временная зона не ускользает в неизвестность. Если у вас случится подобная проблема, проверьте /etc/localtime
: возможно, у вас тоже одновременно и символическая ссылка, и папка. Удалите лишнее, настройте ntpd
, и всё заработает как часы.
Ключевые слова для SEO:
- Arch Linux сброс временной зоны
- timedatectl Failed to set time zone: Is a directory
- Настройка NTP в Arch Linux
- Как исправить сброс времени в Linux
- systemd-timesyncd vs ntpd
- Почему не работает timedatectl в Arch Linux
- Временная зона сбрасывается в Linux
- Проблема с NTP в Arch Linux и Manjaro
timedatectl set-timezone Europe/Moscow
ntpd -qg
(Синхронизация времени)