E: Failed to fetch http://mirror/ubuntu/dists/jammy/main/binary-amd64/Packages.gz Hash Sum mismatch
#Что означает
Apt скачивает индексы пакетов и сверяет их контрольные суммы с теми, что указаны в файле Release. Если сумма не совпала, файл повреждён или относится к другой версии репозитория. Чаще всего это временная проблема зеркала, которое как раз синхронизируется, но бывает и локальная причина: повреждённый кэш, прозрачный прокси провайдера или роутера, нестабильное соединение.
#Причины по признакам
| Возможная причина | Как узнать | Что делать |
|---|---|---|
| Зеркало синхронизируетсяИндекс и пакеты не совпадают. | Ошибка на одном зеркале, на другом нет. | Смените зеркало или подождите. |
| Повреждён локальный кэшПрерванная загрузка. | Ошибка повторяется после перезапуска. | Очистите /var/lib/apt/lists. |
| Прокси провайдераКэширует индексы. | Ошибка на всех зеркалах. | Используйте HTTPS зеркало или VPN. |
| Нестабильное Wi-FiПотеря пакетов. | Другие загрузки тоже обрываются. | Подключитесь по кабелю. |
| Диск повреждён или заполненОшибки записи. | Свободное место 0. | Проверьте df -h. |
| Неверное времяРасхождение даты. | Ошибки проверки подписей. | Включите синхронизацию времени. |
#Что сделать
- Подождите 10–30 минут и повторитеЕсли сервер зеркала обновляет пакеты прямо сейчас, целостность индексов может кратковременно различаться. Запишите адрес зеркала из сообщения
Hash Sum mismatch, подождите 10–30 минут, затем в терминале выполнитеsudo apt update. Если ошибка повторяется на том же зеркале, переключитесь на рекомендованное официальное зеркало через «Менеджер обновлений» → «Правка» → «Источники приложений» (названия могут отличаться) и очистите старые индексы. Не отключайте проверку хешей или подписи. - Очистите кэш индексовУточните, какому приложению принадлежит кэш; сначала сохраните рабочие данные. Используйте штатную команду очистки именно этого приложения или пакетного менеджера, а не удаляйте произвольные системные каталоги.
- Смените зеркалоСначала запишите адрес и имя репозитория из сообщения об ошибке. В Debian/Ubuntu проверьте
/etc/apt/sources.listи файлы/etc/apt/sources.list.d/, в Fedora —/etc/yum.repos.d/, в Arch/Manjaro —/etc/pacman.d/mirrorlist. Сверьте адрес с официальной документацией именно вашей версии Linux, сохраните копию файла конфигурации и меняйте только неисправную запись. Затем обновите метаданные соответствующим менеджером пакетов. - Отключите проксиЕсли вы используете корпоративный прокси или VPN, проверьте, что проблема возникает и без них, только если политика сети это разрешает. В терминале посмотрите активные параметры через
env | grep -i proxyи конфигурацию apt в/etc/apt/apt.conf.d/. Не удаляйте чужие параметры автоматически. Сравните результатsudo apt updateв другой разрешённой сети. Если только прокси выдаёт устаревший индекс, сообщите администратору адрес зеркала и точную ошибку. - Проверьте время и датуВ Linux откройте терминал и выполните
timedatectl status. Сверьте Local time, Time zone и строку System clock synchronized. Если время неверное и доступна служба синхронизации, выполнитеsudo timedatectl set-ntp trueи снова проверьтеtimedatectl status. Если NTP недоступен, проверяйте сеть и службу времени; не отключайте проверку подписей репозиториев. - Отключите IPv6 для apt, если он нестабиленНе отключайте IPv6 глобально только из-за
Hash Sum mismatch: ошибка чаще связана с несогласованными файлами зеркала или кэша. Если есть доказательства неполадок именно IPv6 (соединение зависает на IPv6-адресе), попробуйте разовоsudo apt -o Acquire::ForceIPv4=true update. Эта команда влияет только на один запуск apt и не меняет конфигурацию системы. Если она помогла, проверьте сетевые настройки с администратором; если хеши по-прежнему расходятся, смените зеркало. - Проверьте сетьВ терминале проверьте доступность сети командой
ping -c 3 1.1.1.1, затем разрешение имени:getent hosts archive.ubuntu.com. Если первый тест проходит, а второй нет, проблема может быть в DNS; если оба проходят, изучайте конкретный адрес зеркала, показанный apt. При отсутствииpingне устанавливайте дополнительные пакеты наугад — откройте обычный сайт в браузере и сравните результаты. Не меняйте DNS, когда всё остальное работает, только из-за ошибки контрольной суммы. - Команды для отдельных ситуацийВыберите только подходящий вариант. Это не одна последовательность: часть команд диагностирует проблему, а часть меняет настройки или данные.
Если ничего из этого не помогает, а ошибка стабильна на конкретном файле, временно отключите проблемный сторонний репозиторий (PPA) в «Источниках приложений» и выполните sudo apt update снова: иногда сумму не проходит только один источник, а остальные в порядке.
#Как понять, на чьей стороне сбой
Запустите sudo apt update и посмотрите, на каком адресе возникла ошибка: в сообщении указан хост и путь. Если это зеркало Mint или Ubuntu, откройте тот же адрес .../dists/<выпуск>/InRelease в браузере или командой curl -I и повторите через несколько минут. Если ошибка касается только PPA или стороннего репозитория, виноват его владелец: репозиторий выложен частично. Проверьте, что при скачивании тот же файл с другого устройства в вашей сети проходит. Если на другом устройстве всё хорошо, а у вас нет, причина локальная: кэш, прокси, роутер. Полезная проверка: sudo apt update 2>&1 | grep -E "Hash|Err|W:" покажет только проблемные строки, а sudo apt-get update -o Debug::Acquire::http=true выведет подробный обмен с сервером.