Вопрос или проблема
У меня есть старый компьютер с Debian Stretch, и я столкнулся с проблемами в списке источников apt. Я нашел некоторые вопросы, связанные с моей проблемой (например, этот), но они не совсем работают для меня.
У меня было несколько репозиториев в списке источников, которые не удавалось обновить. Чтобы изолировать проблему, я закомментировал их все и оставил только deb http://deb.debian.org/debian/ stretch main
:
# Debian Stretch, основной репозиторий
deb http://deb.debian.org/debian/ stretch main
# Debian Stretch, обновления безопасности
#deb http://security.debian.org/ stretch/updates main
# Debian Stretch, "летучие" обновления
#deb http://deb.debian.org/debian/ stretch/updates main
#deb http://archive.debian.org/debian jessie-backports main
Когда я пытаюсь выполнить apt-get update
, я получаю следующее:
# apt-get update
Ign:1 http://deb.debian.org/debian stretch InRelease
Ign:2 http://deb.debian.org/debian stretch Release
Ign:3 http://deb.debian.org/debian stretch/main amd64 Packages
Ign:4 http://deb.debian.org/debian stretch/main all Packages
Ign:5 http://deb.debian.org/debian stretch/main Translation-en_US
Ign:6 http://deb.debian.org/debian stretch/main Translation-en
Ign:3 http://deb.debian.org/debian stretch/main amd64 Packages
Ign:4 http://deb.debian.org/debian stretch/main all Packages
Ign:5 http://deb.debian.org/debian stretch/main Translation-en_US
Ign:6 http://deb.debian.org/debian stretch/main Translation-en
Ign:3 http://deb.debian.org/debian stretch/main amd64 Packages
Ign:4 http://deb.debian.org/debian stretch/main all Packages
Ign:5 http://deb.debian.org/debian stretch/main Translation-en_US
Ign:6 http://deb.debian.org/debian stretch/main Translation-en
Ign:3 http://deb.debian.org/debian stretch/main amd64 Packages
Ign:4 http://deb.debian.org/debian stretch/main all Packages
Ign:5 http://deb.debian.org/debian stretch/main Translation-en_US
Ign:6 http://deb.debian.org/debian stretch/main Translation-en
Err:3 http://deb.debian.org/debian stretch/main amd64 Packages
503 Ошибка хранения кэша - Нет такого файла или каталога
Ign:4 http://deb.debian.org/debian stretch/main all Packages
Ign:5 http://deb.debian.org/debian stretch/main Translation-en_US
Ign:6 http://deb.debian.org/debian stretch/main Translation-en
Reading package lists... Done
W: Репозиторий 'http://deb.debian.org/debian stretch Release' не имеет файла Release.
N: Данные из такого репозитория не могут быть аутентифицированы и, следовательно, их использование потенциально опасно.
N: См. справочник apt-secure(8) для получения информации о создании репозитория и настройке пользователя.
E: Не удалось получить http://deb.debian.org/debian/dists/stretch/main/binary-amd64/Packages 503 Ошибка хранения кэша - Нет такого файла или каталога
E: Некоторым файлам индекса не удалось загрузиться. Они были проигнорированы, или вместо них использовались старые.
Вы знаете, в чем может быть проблема и как я могу её исправить?
Спасибо 🙂
Редактировать #1
Файл релиза правильно загружается с deb.debian.org:
# wget http://deb.debian.org/debian/dists/stretch/Release && head Release
--2020-04-23 11:56:43-- http://deb.debian.org/debian/dists/stretch/Release
Resolving deb.debian.org (deb.debian.org)... 151.101.122.133, 2a04:4e42:1d::645
Connecting to deb.debian.org (deb.debian.org)|151.101.122.133|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 117951 (115K)
Saving to: ‘Release’
Release 100%[=========================================================================>] 115.19K --.-KB/s in 0.03s
2020-04-23 11:56:43 (4.03 MB/s) - ‘Release’ saved [117951/117951]
Origin: Debian
Label: Debian
Suite: oldstable
Version: 9.12
Codename: stretch
Changelogs: http://metadata.ftp-master.debian.org/changelogs/@CHANGEPATH@_changelog
Date: Sat, 08 Feb 2020 12:23:08 UTC
Acquire-By-Hash: yes
Architectures: amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x
Components: main contrib non-free
Редактировать #2
Нет apt-cacher-ng
# apt show apt-cacher-ng
N: Невозможно найти пакет apt-cacher-ng
N: Невозможно найти пакет apt-cacher-ng
E: Пакеты не найдены
Редактировать #3
Благодаря @user4089 я нашел неправильную конфигурацию прокси, и теперь apt работает правильно.
Я просто закомментировал строку Acquire::http::Proxy "http://XXX.XXX.XXX.XXX:XXX"
в apt.conf
.
Благодаря @user4089 я нашел неправильную конфигурацию прокси, и теперь apt работает правильно.
Я просто закомментировал строку Acquire::http::Proxy "http://XXX.XXX.XXX.XXX:XXX"
в apt.conf
.
Ответ или решение
Проблема с репозиторием Debian Stretch (oldstable), связанная с отсутствием Release файла, часто вызывает затруднения у пользователей старых систем. Данная ошибка указывает на то, что система не может найти или проверить Release файл в указанном репозитории, что делает невозможным безопасное обновление пакетов. В вашем случае основной причиной проблемы оказалось использование неверной конфигурации прокси-сервера.
Подробное объяснение
При попытке обновить пакеты через apt-get update
, система сталкивается с несколькими ошибками:
- Ign: Игнорирование репозитория вследствие отсутствия необходимых файлов или неправильной конфигурации.
- Err 503: Cache storage error — ошибка, связанная с кэшем, которая часто указывает на проблемы с сетью или прокси-сервером.
- Отсутствие Release файла — apt сообщает, что репозиторий не имеет Release файла, следовательно, не может быть аутентифицирован.
Решение
-
Проверка прокси-конфигурации:
- Основная причина проблемы заключалась в некорректной конфигурации прокси-сервера. Убедитесь, что в файле
apt.conf
нет ошибочно настроенных HTTP-прокси. - Команда, которую вы применили, —
Acquire::http::Proxy "http://XXX.XXX.XXX.XXX:XXX"
, была ошибочной и привела к недоступности необходимых файлов. Удалите или закомментируйте эту строку.
- Основная причина проблемы заключалась в некорректной конфигурации прокси-сервера. Убедитесь, что в файле
-
Поддержка старых версий:
- Debian Stretch устарела, и её репозитории могут быть перемещены в архив. Убедитесь, что вы используете ссылку на архивные репозитории:
deb http://archive.debian.org/debian/ stretch main
. - Активируйте поддержку старых репозиториев, добавив в конфигурацию APT директиву
Acquire::Check-Valid-Until "false";
для игнорирования устаревших сертификатов.
- Debian Stretch устарела, и её репозитории могут быть перемещены в архив. Убедитесь, что вы используете ссылку на архивные репозитории:
-
Проверка сетевого соединения:
- Убедитесь, что ваша сеть поддерживает доступ к репозиториям. Возможно, ваши DNS настройки нуждаются в корректировке или вам стоит протестировать сетевые маршруты с помощью утилит
ping
илиtraceroute
.
- Убедитесь, что ваша сеть поддерживает доступ к репозиториям. Возможно, ваши DNS настройки нуждаются в корректировке или вам стоит протестировать сетевые маршруты с помощью утилит
Поддержание актуальной конфигурации системы — залог безопасной эксплуатации серверов. Если ваш проект может позволить, рассмотрите возможность обновления до более современных версий Debian для получения лучших поддержек и обновлений безопасности.