Вопрос: Список загрузок пакетов с ошибками из-за ошибки «Несоответствие суммарной суммы»


Когда я проверяю наличие обновлений, я получаю сообщение об ошибке «Ошибка при загрузке репозитория».

Это то, что поддается деталям:

W: Failed to fetch gzip:/var/lib/apt/lists/partial/us.archive.ubuntu.com_ubuntu_dists_natty_main_source_Sources  Hash Sum mismatch, 
E: Some index files failed to download. They have been ignored, or old ones used instead.

332
2018-05-09 20:55


Источник




Ответы:


Просто удалите все содержимое /var/lib/apt/lists каталог:

sudo rm -rf /var/lib/apt/lists/*

затем выполните:

sudo apt-get update

395
2018-05-09 21:52



Если вы удалите все файлы, вы должны загрузить их снова. Вы можете просто удалить недопустимый файл, чтобы ускорить этот процесс. - Behrang
Я помню, как это происходило и с Debian. Решением было переключить хранилища (например, с us.ubuntu.com на XX.ubuntu.com, где XX - код вашей страны) или ждать. Лучше всего было бы немного подождать и повторить попытку позже. Удаление списков может исправить разбитые списки, но это редко бывает. - f.ardelian
Старый вопрос, но на некоторых дистрибутивах (как emdebian), после этого вам нужно будет "mkdir /var/lib/apt/lists/partial«(Как root, очевидно.), Иначе вы не сможете"apt-get update"или иным образом использовать apt. - Archenoth
@AlyssaGono, если это папка, вам нужно запустить rm с помощью рекурсивного флага: sudo rm -R /var/lib/apt/lists/* однако даже это не помогло мне. - mchid
Нам нужен префикс -rf, так что это будет выглядеть sudo rm -rf /var/lib/apt/lists/* - Askar


Это известная проблема и усугубляется для клиентов за кэшами прокси. Некоторые крупные организации и интернет-провайдеры (особенно в отдаленных уголках мира) имеют прозрачные кеши, о которых вы, возможно, не знаете.

Основная проблема заключается в том, что формат apt-репозитория зависит от условий гонки, когда зеркало обновляется. Эта проблема особенно влияет на репозитории, которые быстро меняются, например, релиз разработки.

Вы можете отслеживать ход исправления для этого в эта ошибка (пожалуйста, отметьте себя как «влияет на меня тоже» в ошибке) и этот проект, Но имейте в виду, что это сложная проблема и может потребовать более одного релиза.


121
2017-07-05 22:21



Этот проект более недоступен; вот архивная копия, - Eliah Kagan
эта ошибка существует и на ubuntu 16.04 - Scott Stensland
Ошибка отмечена как «Fix Released».
Я просто изменяю свое зеркало по умолчанию на лучший сервер и его работу для меня. - habibun


Самый простой способ исправить это:

sudo apt-get clean
sudo apt-get update

77
2018-05-22 12:25



Попробовав принятый ответ, у меня все еще были те же ошибки, поэтому сразу же исправил проблему - Alex
дела sudo rm -rf /var/lib/apt/lists/* тогда sudo apto-get clean исправил проблему и для меня. Ни работали изолированно. - Cam
Это должен быть правильный ответ. - Clayton Dukes
не помогает на ubuntu 16.04 ... и ни один комментарий выше не помогает - Scott Stensland
sudo apt-get clean не помогло с 16.04, но sudo rm -rf /var/lib/apt/lists/* починил это - sdaffa23fdsf


У меня все еще была проблема после удаления каталогов и выполнения sudo apt-get update,
Только следующий шаг решил мою проблему:

sudo sed -i -re 's/\w+\.archive\.ubuntu\.com/archive.ubuntu.com/g' /etc/apt/sources.list

Я не знаю, правильно ли это это сделать ...
Я нашел решение Вот,


42
2017-08-27 19:55



Следует отметить, что de-part указывает сервер для Германии и что этот скрипт заменяет локальный сервер основным сервером. Переход к Источники программного обеспечения GUI-путь и переключение настроек там были бы более безопасными и обратимыми для многих пользователей. Следующее должно работать практически для каждой страны: sudo sed -i 's/[a-z][a-z].archive.ubuntu.com/archive.ubuntu.com/g' /etc/apt/sources.list - LiveWireBT


Единственное решение, которое сработало для меня, - это unix.stackexchange,

Это происходит потому, что существует известная ошибка, и решение заключается в обновлении с помощью другого метода сжатия, поэтому файлы загружаются правильно, и контрольная сумма преуспевает.

Попробуйте:

sudo rm -rf /var/lib/apt/lists/partial
sudo apt-get update -o Acquire::CompressionTypes::Order::=gz

(спасибо @brook_hong из комментариев для части rm)


25
2018-05-31 14:13



Это единственное решение, которое сработало для меня. Благодарю. - Cerin
Это сработало и для меня. Обратите внимание, что вам не обязательно всегда запускать эту команду. Просто запустите его один раз, а затем вы можете запустить «apt-get update» без ошибок. - dalf
Прежде чем попробовать с опцией, мы должны очистить частичную папку - sudo rm -rf /var/lib/apt/lists/partial, Почему я написал статью. brookhong.github.io/2016/10/10/... - brook hong
Я пробовал использовать общее решение с различных форумов, но это работает из коробки. Спасибо. - wkhwilo
Работал для меня на Ubuntu 16.04 / linux mint - David Okwii


Это может произойти, когда ваше зеркало не обновлено или не будет перегружать ошибки. Вы можете подождать некоторое время и повторить попытку или переключиться на другое зеркало:


22
2018-04-28 02:04



Почему сервер не обновляется или перегружается, выдает файл с правильным именем успешно загрузить (в том смысле, что соединение не прекращается до тех пор, пока все байты не будут отправлены и не получены), но будут повреждены? (Я не утверждаю, что этого не происходит, я просто надеюсь, что вы сможете объяснить, почему это происходит.) - Eliah Kagan
@EliahKagan Обычно проблема заключается не в том, что сам файл поврежден, а в том, что есть файл (я упрощаю, но не слишком), и файл индекса, содержащий хэш (отпечаток пальца) файла данных. Когда репозитории обновляются (происходит каждый час) на сервере, один файл после другого обновляется. Теперь может случиться так, что ваш клиент (apt-get или аналогичный) обращается к серверу, когда файл данных обновлен, но индексный файл еще не обновлен (или наоборот). Тогда хэш не соответствует файлу данных, а клиент (ложно) предполагает, что файл данных поврежден. - Patrick Häcker
Изменение зеркала работало для меня, когда ни один из вышеперечисленных ответов не сделал. - mango


Если вы находитесь за прокси-сервером, создайте файл с именем 99fixbadproxy в /etc/apt/apt.conf.d/:

sudo gedit /etc/apt/apt.conf.d/99fixbadproxy

Вставьте это в 99fixbadproxy и сохраните его:

Acquire::http::Pipeline-Depth 0;
Acquire::http::No-Cache true;
Acquire::BrokenProxy    true;

Теперь запустите команду update:

sudo apt-get update

5
2017-08-08 21:37





Следующие команды могут решить вашу проблему.

sudo rm -R /var/lib/apt/lists/partial/*

а потом

sudo apt-get update && sudo apt-get upgrade

он решит вашу проблему. Я также столкнулся с той же проблемой, но приведенные выше команды решили проблему для меня. Поэтому дайте им попробовать.

Ссылка на решение


4
2017-12-17 21:47



Я просто попытался, и это не сработало; Первый apt-get update снова создайте файлы в том же месте в этом каталоге. - Volker Siegel


У меня была такая же проблема, и все решения, предоставляемые с помощью терминала, не помогли.

Для меня это было:

Настройки → Программное обеспечение и обновления → Ubuntu Software: Загрузить с: Change Local в Main Server,

Он начинает перезагружать репозитории и обновлять. Когда я вхожу:

sudo apt-get update

После этого не было никаких проблем. Я использую Ubuntu 14.04.4 LTS.


3
2017-07-28 09:56





Я не знаю, что это правильное решение или нет, но я сделал следующее, и сообщение об ошибке исчезло:

После ввода sudo apt-get update в терминале, он дает мне имена некоторых пакетов, которые вызывают ошибку, тогда я сделал следующее:

Менеджер обновлений (обновление программного обеспечения) → Настройка → Настроить источники программного обеспечения → Другое программное обеспечение [вкладка] → Снимите флажки

После нажатия на «закрыть» снизу менеджер обновлений снова начал проверять наличие обновлений, и я увидел это сообщение: «Программное обеспечение на этом компьютере обновлено. Последнее проверено 2 секунды назад».

Kubuntu 12.04


1
2018-03-30 22:03



Это сработало для меня, и никакое другое решение, размещенное здесь, не работало. За исключением того, что у меня нет Ubuntu UI (запуск командной строки только под WSL), поэтому вместо этого для каждого пакета <pkg> где произошла ошибка, я запустил `sudo apt-get install <pkg> '. Я на Ubuntu 16.04. - Yitz


У меня была такая же проблема, и все решения, предоставляемые с помощью терминала, не помогли.

Для меня это было:

Настройки → Программное обеспечение и обновления → Другое программное обеспечение: Снимите все флажки и нажмите «Закрыть».

Он начинает перезагружать репозитории и обновлять. Когда я вхожу:

sudo apt-get update

После этого не было никаких проблем. Я использую Ubuntu 13.10.


1
2017-07-12 14:30



Это действительно работает, но эффективно защищает машину от возможности устанавливать пакеты, не являющиеся частью основной сборки (до тех пор, пока эти флажки не будут активированы позже) ... все же необходимо время от времени просто для получения бесплатного обновления apt-get, которое позволяет установка целевых пакетов - Scott Stensland