#Что означает ошибка
E: The repository '...' does not have a Release file.
E: The repository 'http://... ' does not have a Release file означает, что по указанному адресу нет файла Release для вашего релиза и компоненты. Причины: релиз снят с поддержки (EOL) и репозиторий перенесён в архив, опечатка в имени релиза, репозиторий стороннего ПО не поддерживает вашу версию дистрибутива.
Определите свой релиз и посмотрите, какая строка вызывает ошибку.
Исправьте или отключите репозиторий.
Репозиторий недоступен или не поддерживает ваш релиз: закрыт старый выпуск, неверный адрес или PPA не содержит файлы для вашей версии. Удалите или исправьте этот источник.
#Причины и решения
| Возможная причина | Как узнать | Что делать |
|---|---|---|
| Релиз закрыт | Устаревший Ubuntu/Debian. | Обновите систему. |
| Неверный адрес репозитория | Опечатка. | Исправьте. |
| PPA не поддерживает версию | Нет релиза. | Отключите. |
| Нет сети | Репозиторий. | Проверьте. |
#Пошаговое решение
- Определите релизОткройте терминал Debian/Ubuntu и выполните
cat /etc/os-release. Запишите поляID=,VERSION_ID=иVERSION_CODENAME=— это фактический выпуск системы. Сравните его с названием ветки репозитория в строке ошибкиdoes not have a Release file. Не меняйте кодовое название в источнике на более новое или старое просто чтобы сообщение исчезло. - Найдите проблемную строкуПри ошибке репозитория в Debian/Ubuntu сначала прочитайте точный URL в выводе
sudo apt update, затем найдите источник в/etc/apt/sources.listи/etc/apt/sources.list.d/. Сверьте название выпуска черезcat /etc/os-releaseи наличие каталога dists у официального зеркала. Если выпуск снят с поддержки, безопаснее спланировать обновление ОС; архивный репозиторий не делает старую систему защищённой. - Проверьте каталог dists на сервереОткройте терминал и скопируйте адрес проблемного репозитория из вывода
sudo apt update. Сначала проверьте, что имя домена принадлежит ожидаемому проекту, а выпуск (например,bookwormилиnoble) действительно поддерживается. Через браузер откройте официальный сайт владельца репозитория и проверьте его опубликованный список поддерживаемых дистрибутивов; отсутствие каталогаdists/ИМЯ_ВЫПУСКА/на сервере обычно означает, что для этого выпуска не опубликован Release. Не подменяйте выпуск чужим кодовым именем: это может смешать несовместимые пакеты. - Замените адрес на архивный или удалите репозиторийЕсли сторонний репозиторий больше не поддерживает ваш выпуск, безопаснее отключить только его строку в
/etc/apt/sources.list.d/, предварительно сохранив копию файла, и выполнитьsudo apt update. Для официального архивного выпуска Debian/Ubuntu переход на архивные источники возможен только по документации соответствующего дистрибутива; это не делает устаревшую систему безопасной. Не добавляйте[trusted=yes]и не отключайте проверку подписей. - Выполните apt updateПосле изменения только проблемной записи репозитория выполните
sudo apt updateв терминале Debian/Ubuntu. Успех — отсутствие прежней ошибкиdoes not have a Release file; обновления при этом могут ещё не устанавливаться. Если ошибка повторяется, проверьте второй файл с тем же URL в/etc/apt/sources.list.d/и убедитесь, что исправили исходный файл, а не похожую копию. Не используйтеtrusted=yesилиAllowInsecureRepositories, чтобы обойти проверку подписей. Вернуть настройку можно из созданной ранее копии. - Версия дистрибутиваLinux · Терминал (Bash)КомандаВерсия дистрибутива.
lsb_release -a
#Диагностика
Узнайте релиз: lsb_release -a или cat /etc/os-release. Откройте строку из сообщения и пройдите по адресу в браузере: http://хост/путь/dists/ — есть ли каталог с кодовым именем вашего релиза (jammy, bookworm)? Проверьте файлы /etc/apt/sources.list и /etc/apt/sources.list.d/*.list / *.sources. Для PPA: ls /etc/apt/sources.list.d/.
#Исправление
Для EOL-релизов Ubuntu замените адреса на http://old-releases.ubuntu.com/ubuntu/; для Debian — на http://archive.debian.org/debian/ (и Acquire::Check-Valid-Until "false"; при необходимости). Для PPA без поддержки вашего релиза удалите: sudo add-apt-repository --remove ppa:имя/ppa или удалите файл из sources.list.d. Для сторонних репозиториев замените кодовое имя на поддерживаемое (например, stable, bookworm) согласно инструкции проекта.
#После правки
Выполните sudo apt update. Обновите систему до поддерживаемого релиза (do-release-upgrade для Ubuntu, поэтапно для Debian). Проверьте GPG-ключи репозитория (формат signed-by=/etc/apt/keyrings/…). Для Kali и Mint убедитесь, что используете актуальное зеркало. Если репозиторий больше не нужен, просто удалите файл. Не оставляйте неработающие репозитории: они блокируют обновления.
sudo apt update выполняйте отдельно, проверяя подпись и название выпуска.cat /etc/os-releasegrep -R -h -E "^(deb |URIs:|Suites:|Signed-By:)" /etc/apt/sources.list /etc/apt/sources.list.d/ 2>/dev/null