В первую очередь, данное руководство будет полезно для тех, кто столкнулся с ошибкой, когда репозиторий Debian недоступен (deb.debian.org недоступен).
Если вам просто нужно подключить рабочие зеркала (На данный момент актуально для РФ), можете сразу перейти на Шаг 4 — либо, пошагово проверить работу базового подключения, проверить DNS и работает ли HTTPS.
На Debian 11 (bullseye), 12 (bookworm) и 13 (trixie) может возникнуть похожая ошибка:
Failed to fetch http://deb.debian.org... Unable to connectCould not connect to debian.map.fastlydns.net:80/443Connection refused
📚 Что делать, если Debian не может обновить репозитории
🔍 Причины ошибки
Даже если интернет есть, apt update может падать по нескольким причинам:
- Провайдер или сеть блокируют
deb.debian.org(особенно через CDN Fastly) - Проблемы с DNS или IPv6
- Сбой в сетевом стеке (особенно в виртуальных машинах)
- Временная недоступность зеркал
💡 Часто всё работало вчера, а сегодня — нет. Это не ошибка системы, а внешние сетевые ограничения.
В качестве примера. При попытке выполнить apt update — в конце вывода имеются похожие строки (например на Дебиан 13 у меня было так):
Warning: Failed to fetch http://deb.debian.org/debian/dists/trixie/InRelease Unable to connect to deb.debian.org:http:
Warning: Failed to fetch http://deb.debian.org/debian/dists/trixie-updates/InRelease Unable to connect to deb.debian.org:http:
Warning: Some index files failed to download. They have been ignored, or old ones used instead.
Что это означает:
Эти предупреждения означают, что система не смогла скачать списки пакетов с официального репозитория deb.debian.org.
Фраза “Unable to connect” — это прямое указание на проблему с сетевым доступом: сервер не отвечает, соединение блокируется или не устанавливается.
Последняя строка (“Some index files failed to download…”) говорит, что APT проигнорировал эти ошибки и использует старые списки (или вообще ничего не обновил). Из‑за этого apt upgrade может ничего не показать, даже если обновления есть.
✅ Пошаговое решение
Спойлер — когда у меня возникла подобная ошибка мне помог Шаг 4
🔧 Шаг 1: Проверьте базовое подключение
ping -c 4 8.8.8.8
- ✅ Если пакеты идут — сеть есть.
- ❌ Если нет — проблема на уровне хоста, ВМ или провайдера.
🌐 Шаг 2: Проверьте DNS
nslookup deb.debian.org
- ✅ Должен вернуть IP (например,
146.75.118.132) - ❌ Если не отвечает — смените DNS:
echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf
🔒 Шаг 3: Проверьте, работает ли HTTPS
curl -I https://deb.debian.org
- ✅ Если ответ
200 OK— HTTPS работает. - ❌ Если
Connection refused— попробуйте зеркало.
🔄 Шаг 4: Переключитесь на российское зеркало (например, Яндекс)
Откройте файл:
sudo nano /etc/apt/sources.list
💡 Замените содержимое файла (старые зеркала) на приведённые ниже строки, т.е. на адреса соответствующие вашей версии Дебиан.
(Старые зеркала правильнее (рекомендуется) закоментировать — поставить символ решетки # в начало каждой строки.
Второй вариант: (если знаете что делаете) старые зеркала можно удалить, НО только их! Там могут быть и другие строки, удаление которых, может привести к ненужным последствиям):
🟩 Для Debian 11 (bullseye)
deb https://mirror.yandex.ru/debian bullseye main contrib non-free
deb https://security.debian.org/debian-security bullseye-security main contrib non-free
deb https://mirror.yandex.ru/debian bullseye-updates main contrib non-free
🟦 Для Debian 12 (bookworm)
deb https://mirror.yandex.ru/debian bookworm main contrib non-free
deb https://security.debian.org/debian-security bookworm-security main contrib non-free
deb https://mirror.yandex.ru/debian bookworm-updates main contrib non-free
🟥 Для Debian 13 (trixie)
deb https://mirror.yandex.ru/debian trixie main contrib non-free
deb https://security.debian.org/debian-security trixie-security main contrib non-free
deb https://mirror.yandex.ru/debian trixie-updates main contrib non-free
Дополнительно рекомендуется убедиться, что нет дубликатов: (например для Debian 13), если в /etc/apt/sources.list.d/ уже есть файл с trixie от другого зеркала — его тоже лучше отключить (переименовать или удалить), иначе будет конфликт источников и лишние скачивания одних и тех же индексов.
Как это сделать рассмотрим далее в разделе Дополнительно
💾 Сохраните и обновите:
Сохраняяете и выходите Ctrl + O , Enter, Ctrl + X
Обновляете:
sudo apt update
🌍 Где искать актуальные ссылки на репозитории?
Список официальных зеркал Debian
👉 https://www.debian.org/mirror/list
- Выберите страну → найдите зеркало с
httpsи хорошей скоростью - Примеры для России:
https://mirror.yandex.ru/debianhttps://mirror.mipt.ru/debianhttps://msk.debian.org
3. Проверка доступности зеркал
Используйте:
curl -Is https://mirror.yandex.ru/debian | head -1
— если ответ HTTP/2 200 — зеркало работает.
💡 Профилактика: как избежать проблем в будущем
| Совет | Как применить |
|---|---|
| Используйте HTTPS-зеркала по умолчанию | Особенно в России — mirror.yandex.ru |
Не полагайтесь только на deb.debian.org | Он может быть недоступен из-за CDN |
Регулярно проверяйте sources.list | После обновления ОС или переноса ВМ |
Создайте резервный sources.list | Например, sources.list.backup: |
sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup |
🧰 Полезные команды
| Команда | Назначение |
|---|---|
sudo apt clean | Очистить кэш пакетов |
sudo rm -rf /var/lib/apt/lists/* | Удалить списки пакетов (если повреждены) |
sudo apt update | Обновить списки |
sudo apt upgrade | Установить обновления |
apt list --upgradable | Показать, что можно обновить |
📌 Вывод
🔸
deb.debian.orgможет неожиданно перестать работать — особенно в РФ.
🔸 Зеркало Яндекса по HTTPS — надёжная замена.
🔸 В случае подобной ошибки проверяйтеsources.list— это главной файл обновлений.
Дополнительно (как найти и что делать с дубликатами)
Дубликаты могут мешать — APT при apt update выдаёт предупреждения, а в перспективе это риск конфликтов (особенно если для одного репозитория в разных файлах заданы разные GPG-ключи).
Их нужно найти и аккуратно убрать. Подход одинаковый для Debian 11, 12 и 13 — система работы с репозиториями в них одинаковая.
Шаг 1. Поиск дубликатов
Сначала нужно выявить повторяющиеся записи. Дубликатом считается ситуация, когда точно такая же строка (URL, кодовое имя релиза и компоненты вроде main) встречается в двух разных местах: либо дважды в /etc/apt/sources.list, либо один раз в основном файле, а второй — в каком-то файле из /etc/apt/sources.list.d/.
Вот команда, которая поможет найти такие повторы:
grep -r "^deb" /etc/apt/sources.list /etc/apt/sources.list.d/* | sort | uniq -d
Она рекурсивно ищет все строки, начинающиеся с deb, сортирует их и выводит только те, что встречаются более одного раза.
Что делать с выводом?
Если команда не вывела ни одной строки — всё в порядке: Дубликатов deb -строк нет.
Если вывод всё таки есть: Каждая строка в результате — это дубликат. Теперь нужно понять, в каких именно файлах он затесался. Можно взять одну из таких строк и поискать её подробнее:
grep -Rin "найденная_строка_без_пробелов" /etc/apt/sources.list /etc/apt/sources.list.d/
Так вы увидите номера файлов и строк — это поможет при редактировании.
Важное предупреждение про форматы. Иногда конфликт возникает не из-за двух одинаковых .list-файлов, а из-за того, что для одного репозитория есть и старый .list, и новый .sources (формат deb822). В таком случае APT видит два описания одного источника с разными параметрами (например, разные пути к GPG-ключу) — это тоже нужно исправлять. При поиске обращайте внимание на такие пары.
Шаг 2. Удаление
Когда вы поняли, где дубликат, откройте соответствующий файл в текстовом редакторе
(например, sudo nano /путь/к/файлу) и удалите лишнюю строку. Либо, если дубликат целиком в отдельном файле в sources.list.d, можно удалить этот файл (но сначала убедитесь, что там нет других, уникальных записей).
Совет для осторожных: перед окончательным удалением можно временно «отключить» файл, переименовав его (например, в vendor.list.disabled). Затем выполните sudo apt update. Если предупреждение пропало — вы точно нашли виновника, и можно удалять файл окончательно.
Шаг 3. Проверка
После удаления запустите:
sudo apt update
Если в выводе нет предупреждений о дубликатах — задача выполнена
Несколько советов
Сделайте бэкап. Перед любыми правками скопируйте /etc/apt/sources.list и содержимое /etc/apt/sources.list.d/ в отдельную папку. Это спасёт, если вы случайно удалите что-то важное.
Не смешивайте релизы. При просмотре файлов заодно проверьте, нет ли в одном списке строк для разных кодовых имён (например, bullseye и bookworm рядом) — это частая причина проблем.
Приведите к одному формату. Если для какого-то стороннего репозитория есть и .list, и .sources, оставьте только один файл. Часто логичнее сохранить .sources, если вендор уже перешёл на этот формат.
После такой чистки система станет чище, а apt update будет работать стабильнее.