#Что означает ошибка
E: Failed to fetch ... Hash Sum mismatch
E: Failed to fetch ... Hash Sum mismatch при apt update означает, что контрольная сумма скачанного файла не совпала с указанной в индексе. Причины: зеркало синхронизируется прямо сейчас, кэширующий прокси отдаёт старые файлы, повреждённые данные в /var/lib/apt/lists, проблемы сети.
Чаще всего хватает очистки списков и повторной попытки.
Если ошибка стабильная, меняйте зеркало или отключайте прокси.
Ошибка означает, что скачанный файл не совпадает с контрольной суммой: зеркало обновлялось в момент загрузки, прокси кэширует старые данные либо файл повреждён. Очистка списков и смена зеркала обычно помогают.
#Причины и решения
| Возможная причина | Как узнать | Что делать |
|---|---|---|
| Зеркало обновляется | Временно. | Подождите. |
| Прокси или кэш искажают | Промежуточный. | Отключите. |
| Повреждены списки пакетов | Локально. | Очистите. |
| Проблемы сети | Обрыв. | Повторите. |
#Пошаговое решение
- Проверьте источник и безопасно повторите загрузку индексовОткройте терминал Debian/Ubuntu (Ctrl+Alt+T). Сначала выполните
sudo apt updateи запишите точные имя репозитория и путь из строкиHash Sum mismatch. Если источник официальный и адрес верен, выполнитеsudo apt cleanдля очистки кеша скачанных пакетов, затемsudo apt update -o Acquire::http::No-Cache=true. Если ошибка осталась, не удаляйте каталоги вручную и переходите к проверке зеркала и прокси. При ошибке прав доступа или сети запишите её текст, а не повторяйте команды вслепую. - Повторите apt updateПосле проверки зеркала и удаления только повреждённых скачанных файлов из кэша откройте терминал Debian/Ubuntu, выполните
sudo apt updateи дождитесь завершения. Если сообщениеHash Sum mismatchповторяется для того же зеркала, сравните URL и время обновления метаданных, временно переключитесь на официальный сервер зеркал вашего дистрибутива и повторите. Не отключайте хеш-проверку APT: она защищает от повреждённых и подменённых пакетов. - Смените зеркалоСначала запишите адрес и имя репозитория из сообщения об ошибке. В Debian/Ubuntu проверьте
/etc/apt/sources.listи файлы/etc/apt/sources.list.d/, в Fedora —/etc/yum.repos.d/, в Arch/Manjaro —/etc/pacman.d/mirrorlist. Сверьте адрес с официальной документацией именно вашей версии Linux, сохраните копию файла конфигурации и меняйте только неисправную запись. Затем обновите метаданные соответствующим менеджером пакетов. - Отключите кэширование на проксиЕсли запросы apt проходят через HTTP-прокси или корпоративный кэш, устаревший индекс может давать несовпадение хеша. Сначала выясните адрес проблемного зеркала в выводе
sudo apt update, затем проверьте переменныеenv | grep -i proxyи настройки/etc/apt/apt.conf.d/. Для диагностики используйте другую разрешённую сеть или обратитесь к администратору прокси с URL файла и временем ошибки. Не отключайте проверку хеша и не меняйте системный DNS без признаков сбоя DNS. - Проверьте место на диске и времяВ терминале выполните
df -hи посмотрите столбцы «Использовано» и «Доступно» на разделе с программой или данными. Не удаляйте неизвестные системные каталоги; сначала выясните, какие файлы занимают место. - Дополнительная команда по темеLinux · Терминал (Bash)С осторожностьюНужен sudoОчистка кэша загруженных пакетов — изменяющее действие, не исправляющее неверные контрольные суммы удалённого зеркала само по себе.
sudo apt cleanКоманда может изменить состояние системы или её настройки. Проверьте параметры и последствия перед запуском.
#Очистка списков
Не начинайте с sudo rm -rf /var/lib/apt/lists/*: ошибка пути может повредить служебные файлы, а обычное несовпадение контрольных сумм часто вызвано зеркалом или прокси. Сначала выполните sudo apt update, проверьте точный проблемный источник, попробуйте sudo apt clean и повторите обновление без HTTP-кеширования: sudo apt update -o Acquire::http::No-Cache=true. Если неполадки продолжаются, сравните зеркало с официальным адресом и выясните настройки прокси. Ручное восстановление списков пакетов поручите администратору после проверки копии настроек.
#Зеркала и прокси
Подождите 15–30 минут, если зеркало обновляется. Смените зеркало в /etc/apt/sources.list или /etc/apt/sources.list.d/*.sources на официальное (deb.debian.org, archive.ubuntu.com) или ближайшее: sudo apt update -o Acquire::http::No-Cache=true. За прокси добавьте Acquire::http::Pipeline-Depth "0"; Acquire::http::No-Cache "true"; в /etc/apt/apt.conf.d/99fixbadproxy. Отключите Wi-Fi-«оптимизаторы» трафика провайдера.
#Диск и сеть
Проверьте свободное место: df -h /var. Проверьте время (timedatectl). Попробуйте проводное подключение. Для очень старых релизов (EOL) используйте архив: old-releases.ubuntu.com, archive.debian.org. Если отказ касается одного стороннего репозитория, временно отключите его в sources.list.d и вернитесь позже. Для повторяющихся ошибок включите HTTPS-зеркало: https://deb.debian.org/debian.