Ошибка Hash Sum mismatch возникает в Ubuntu при обновлении пакетов через apt. Статья поможет системным администраторам и пользователям начального и среднего уровня быстро устранить проблему, связанную с повреждённым кэшем и списками репозиториев.
Почему появляется ошибка Hash Sum mismatch
- Повреждённые локальные кэши пакетов и списков в /var/lib/apt/lists или /var/cache/apt/archives
- Неполная или прерванная загрузка данных с зеркала репозитория
- Кэш старой или несогласованной версии пакетов в системе
- Проблемы с зеркалом репозитория (например, зеркальный сервер не обновлён или устаревший)
Пошаговое решение
Шаг 1: Очистка кэша списков пакетов
sudo rm -rf /var/lib/apt/lists/*Удаляем все файлы списков из папки apt. Это позволит загрузить свежие списки пакетов. Если боитесь удалить всё сразу, сначала посмотрите содержимое:
ls /var/lib/apt/lists/Шаг 2: Очистка кэша скачанных пакетов
sudo apt cleanКоманда удаляет скачанные .deb-файлы из /var/cache/apt/archives, что исключит использование повреждённых или устаревших пакетов при установке.
Шаг 3: Повторное обновление списков пакетов
sudo apt updateОбновляем информацию о пакетах с чистого листа. Если всё прошло успешно, ошибка должна исчезнуть. В выводе ожидается, что apt скачает списки без ошибок.
Шаг 4: Проверка зеркала репозитория (опционально)
Если ошибка сохраняется, возможно проблема в выбранном зеркале Ubuntu. Проверьте текущий репозиторий в /etc/apt/sources.list:
cat /etc/apt/sources.list | grep -v '^#'При необходимости вручную смените зеркало на официальное, например, archive.ubuntu.com. Для этого отредактируйте файл:
sudo nano /etc/apt/sources.listЗамените проблемные адреса на:
http://archive.ubuntu.com/ubuntu/Затем повторите sudo apt update.
Альтернативные методы
Удаление повреждённых пакетов вручную
В некоторых случаях возникает ошибка из-за повреждённых кешированных пакетов в /var/cache/apt/archives/partial. Можно удалить эти файлы:
sudo rm -rf /var/cache/apt/archives/partial/*После этого повторите sudo apt clean и sudo apt update.
Изменение способа загрузки apt
Иногда помогает отключение HTTP прокси или использование другого метода загрузки. Например, можно принудительно использовать IPv4:
sudo apt -o Acquire::ForceIPv4=true updateЭто решит проблемы, связанные с сетевыми особенностями.
Проверка результата
После выполнения описанных шагов убедитесь, что ошибка исчезла и обновление прошло успешно:
sudo apt updateОтсутствие сообщений Hash Sum mismatch означает решение проблемы.
Как избежать в будущем
- Регулярно очищайте кэш apt с помощью
sudo apt clean - Используйте проверенные зеркала репозиториев
- Избегайте прерывания процесса
apt updateиapt upgrade - Проверяйте стабильность интернет-соединения при работе с пакетным менеджером
FAQ
Почему появляется Hash Sum mismatch?
Это связано с несоответствием контрольных сумм загруженных списков пакетов и кеша, чаще всего из-за повреждённых данных или проблем с зеркалом.
Можно ли удалить содержимое /var/lib/apt/lists без риска?
Да, это безопасно. Пакетный менеджер заново загрузит списки при следующем обновлении.
Что делать, если ошибка не пропадает после очистки кэша?
Попробуйте сменить зеркало репозитория или проверить сетевые настройки и прокси.
Смотрите также: Использование apt-key в Ubuntu — базовые команды и практика