Debian Linux

Debian/Ubuntu: Release file is not valid yet или Release file expired

  • Обновлено
  • Чтение ≈ 3 минуты

Краткий ответ

Ошибка возникает, когда системные часы расходятся с реальным временем: apt считает, что файл Release из будущего или уже просрочен. Ниже — причины и порядок действий от простого к сложному.

В этой статье
  1. Что означает ошибка
  2. Причины и решения
  3. Пошаговое решение
  4. Диагностика
  5. Синхронизация
  6. Контейнеры и ВМ

#Что означает ошибка

Сообщение
E: Release file for ... is not valid yet Release file expired

E: Release file for http://... is not valid yet (invalid for another 2h 15min). Updates for this repository will not be applied. означает, что время на вашей машине отстаёт от времени репозитория: файл Release создан «в будущем» с точки зрения системных часов. Типично для виртуальных машин, контейнеров и систем без работающей NTP-синхронизации.

Решение — синхронизировать время, а не отключать проверку.

Проверьте дату и часовой пояс.

Ошибка возникает, когда системные часы расходятся с реальным временем: apt считает, что файл Release из будущего или уже просрочен. Нужно исправить дату и время.

#Причины и решения

Возможная причинаКак узнатьЧто делать
Неверные системные часыДата отличается.Синхронизируйте время.
Не работает NTPСлужба времени выключена.Включите timedatectl set-ntp true.
Неверный часовой поясСдвиг.Выберите правильный.
Устаревший репозиторийОн действительно просрочен.Используйте актуальный.

#Пошаговое решение

  1. Проверьте date и timedatectlОткройте терминал в Ubuntu/Debian сочетанием Ctrl+Alt+T, выполните date -Is и timedatectl status. Сверьте время с достоверным источником и проверьте строку System clock synchronized. Если часы сильно отстают, APT считает подписанный Release файлом из будущего — сначала исправьте часы, а не отключайте проверку срока действия.
  2. Включите NTPОткройте терминал Linux и выполните timedatectl status, затем при поддержке systemd sudo timedatectl set-ntp true. Проверьте через несколько минут строку «System clock synchronized: yes». Если NTP не синхронизируется, найдите действующую службу (systemctl status systemd-timesyncd chronyd) и настройте её официальным способом; не устанавливайте одновременно конкурирующие демоны времени.
  3. Установите службу синхронизацииУстанавливать отдельную службу времени нужно только если timedatectl status показывает отсутствие синхронизации и в системе действительно нет действующей службы NTP. В Debian/Ubuntu обычно достаточно sudo timedatectl set-ntp true, затем timedatectl timesync-status (при использовании systemd-timesyncd). Если команда сообщает, что NTP не поддерживается, проверьте systemctl status systemd-timesyncd и наличие chrony; не включайте две конкурирующие службы одновременно. В управляемой корпоративной сети NTP-сервер может быть задан администратором — уточните его адрес вместо случайной замены.
  4. Для WSL и ВМ синхронизируйте время с хостомЕсли Ubuntu работает внутри WSL, откройте PowerShell в Windows и выполните wsl --shutdown; затем вновь откройте Ubuntu и проверьте date. Если это обычная виртуальная машина, настройте синхронизацию часов гостя с гипервизором. Команда hwclock не гарантирует исправление часов внутри WSL и не нужна всем пользователям.
  5. Повторите apt updateПосле синхронизации системных часов выполните date -Is и сравните дату с реальной, затем sudo apt update. Если исчезло Release file is not valid yet, исправление сработало. Если появляется Release file expired, время может быть верным, а зеркало — устаревшим: сравните дату файла Release и официальный список зеркал Debian/Ubuntu, затем выберите поддерживаемое зеркало, не отключая проверку срока действия (Acquire::Check-Valid-Until). Если часы снова сбиваются после перезагрузки, проверьте батарею часов и службу синхронизации.
  6. Показывает время и состояние синхронизации
    Linux · Терминал (Bash)Команда
    Показывает время и состояние синхронизации.
    timedatectl status

#Диагностика

Выполните date и timedatectl. Сравните с реальным временем. Строки System clock synchronized: no и NTP service: inactive указывают на отсутствие синхронизации. В ВМ часы могут отставать после приостановки или миграции. Проверьте часовой пояс: timedatectl set-timezone Europe/Moscow (или ваш).

#Синхронизация

Включите NTP: sudo timedatectl set-ntp true. Если служба отсутствует: sudo apt install systemd-timesyncd (или chrony/ntpsec) и sudo systemctl enable --now systemd-timesyncd. Разовая синхронизация: sudo chronyc makestep или sudo ntpdate pool.ntp.org. Проверка: timedatectl timesync-status. Затем sudo apt update.

#Контейнеры и ВМ

В Docker время берётся с хоста: исправьте часы хоста. В WSL2 выполните sudo hwclock -s или перезапустите WSL (wsl --shutdown). В виртуальных машинах включите синхронизацию времени с хостом (гостевые дополнения) или NTP внутри ВМ. Аварийно (только временно!) можно запустить sudo apt -o Acquire::Check-Valid-Until=false update, но это не заменяет правильное время.

Linux · Терминал (Bash)Команда
Только проверка системной даты, зоны и режима синхронизации времени. Изменение NTP требует прав и разрешённой сети; не корректируйте серверное время вслепую, если хост обслуживает базы данных.
date -Is
timedatectl status

Так эту ошибку тоже называют

Источники и обновления

Последнее обновление статьи: 2 ноября 2026. Версии программ и интерфейсы меняются — если шаги не совпадают с вашей версией, сверяйтесь с документацией производителя.