Apt-Get с использованием Apt-Cacher NG не может получить пакеты с несоответствием хэш-суммы

У меня есть машина, которая использует Apt-Cacher NG, работающий на другой машине, в качестве кеширующего прокси.

Когда я пытаюсь запустить sudo apt-get update, я получаю следующие ошибки:

W: Failed to fetch gzip:/var/lib/apt/lists/partial/it.archive.ubuntu.com_ubuntu_dists_oneiric-updates_main_source_Sources  Hash Sum mismatch
W: Failed to fetch gzip:/var/lib/apt/lists/partial/it.archive.ubuntu.com_ubuntu_dists_oneiric-updates_main_binary-amd64_Packages  Hash Sum mismatch
W: Failed to fetch gzip:/var/lib/apt/lists/partial/it.archive.ubuntu.com_ubuntu_dists_oneiric-updates_universe_binary-amd64_Packages  Hash Sum mismatch
W: Failed to fetch gzip:/var/lib/apt/lists/partial/it.archive.ubuntu.com_ubuntu_dists_oneiric-updates_main_binary-i386_Packages  Hash Sum mismatch
E: Some index files failed to download. They have been ignored, or old ones used instead.

Каталог /etc/apt/sources.list.d пуст.

Чтобы исправить это, я уже попробовал следующее безуспешно:

Решение 1:

sudo rm -fr /var/lib/apt/lists
sudo mkdir -p /var/lib/apt/lists/partial
sudo apt-get clean
sudo apt-get autoclean

Решение 2:

sudo apt-get update -o Acquire::http::No-Cache=True

Любое предложение? [ 1110]

8
задан 28 December 2012 в 19:30

8 ответов

Предложение 1

sudo rm /var/lib/apt/lists/*gzip*
sudo rm /var/lib/apt/lists/partial/*gzip*
sudo apt-get update

Предложение 2

sudo rm -f /var/cache/apt/partial/*
sudo rm -f /var/cache/apt/*.deb
sudo apt-get update

Предложение 3

sudo touch /etc/apt/apt.conf.d/no-cache
sudo nano /etc/apt/apt.conf.d/no-cache

И вставьте это в:

Acquire::http {No-Cache=True;};

Теперь попробуйте:

sudo apt-get update
0
ответ дан 28 December 2012 в 19:30

Я бы предложил отключиться от APT-cacher-ng и проверить Squid-deb-proxy.

APT-cacher-ng оказался очень глючным в моем опыте, и множество сообщений об ошибках выдаются. Лишь недавно было предложено снова разблокировать Debian, когда некоторые основные ошибки устранены. Для Ubuntu я давно перешел на Squid-deb-proxy и не жалею об этом. Это отличная альтернатива и лучший APT-кешер, который я когда-либо встречал.

Для Squid-deb-proxy просто установите пакет squid-deb-proxy и добавьте разрешенные домены назначения в новый файл в /etc/squid-deb-proxy/mirror-dstdomain.acl.d. В качестве бонуса клиенты могут автоматически обнаруживать машины с поддержкой кэширования в локальной сети, установив пакет squid-deb-proxy-client .

0
ответ дан 28 December 2012 в 19:30

Мои обновления всегда почти выполнялись успешно - 95% файлов загружались через прокси-сервер, в результате чего, возможно, последние ~ 100 файлов перестали работать с «несоответствием хэш-суммы», и ни одно из предложенных решений не помогло бы. когда-либо работать.

А потом, просто ради смеха, я переместил 01proxy в 01proxy.ng, запустил aptitude update, затем update-manager и выбрал дистрибутив-апгрейд. Он продолжил загрузку оставшихся файлов с archive.ubuntu.com (~ 70M, а не ~ 1G), а остальная часть обновления прошла гладко. После перезагрузки я переместил 01proxy.ng обратно на 01proxy, и все вернулось на круги своя.

Я сделал это дважды сейчас, один раз на самом прокси-сервере и один раз на клиенте, и оба успешно справились с задачей после сбоя (при этом значении 95%) при прохождении через прокси.

0
ответ дан 28 December 2012 в 19:30

Можно зафиксировать это прямо сейчас путем выполнения:

http://your-cache-server:3142/acng-report.html?abortOnErrors=aOe&byPath=bP&byChecksum=bS&truncNow=tN&incomAsDamaged=iad&purgeNow=pN&doExpire=Start+Scan+and%2For+Expiration&calcSize=cs&asNeeded=an#bottom

Это удалит все поврежденные файлы в Вашем кэше.

Для создания этого permananet взгляните на https://www.unix-ag.uni-kl.de / ~ bloch/acng/html/maint.html#auto-cleanup

В основном можно настроить ежедневный крон очистки кэша, чтобы сделать полное соответствие контрольной суммы во всем кэше. Это поймает все плохие размеры и любое другое повреждение и вычистит те файлы. Я отредактировал /etc/cron.daily/apt-cacher-ng и добавил следующее после комментариев:

export ACNGREQ="abortOnErrors=aOe&byPath=bP&byChecksum=bS&truncNow=tN&incomAsDamaged=iad&purgeNow=pN&doExpire=Start+Scan+and%2For+Expiration&calcSize=cs&asNeeded=an"

Это эквивалентно нажатию на все опции истечения на странице обслуживания кроме "Проверок заголовка пропуска..."

6
ответ дан 28 December 2012 в 19:30

Удаление папки /var/cache/apt-cacher-ng/download.virtualbox.org помогло мне решить проблему с Failed to fetch ... Hash Sum mismatch в apt-get update, которая помешала пакету virtualbox-4.3 с сервера Oracle.

0
ответ дан 28 December 2012 в 19:30

Вы также можете удалить всю папку репозитория

rm -r /var/cache/apt-cacher-ng/<repository_folder>

, где хранится пакет с несоответствием хэш-суммы.

При следующем запросе apt новая папка с чистой хэш-суммой будет автоматически создана apt-cacher-ng.

0
ответ дан 28 December 2012 в 19:30

Я боролся ОЧЕНЬ часто (1 из 50 загрузок) с ошибками «Hash Sum Mismatch» и «Invalid Header», используя apt-cacher-ng в Ubuntu Precise 12.04 LTS со дня обновления дистрибутива. Ubuntu Precise использует apt-cacher-ng версию 0.7.2-1, на сегодняшний день существует множество исправлений ошибок в этом программном обеспечении, и более новая версия: 0.7.26-1 гораздо стабильнее.

Я установил Ubuntu Quantal версию apt-cacher-ng с packages.ubuntu.com, которая является версией 0.7.26-1.

Я настоятельно рекомендую взять будущую / тестовую версию apt-cacher-ng и вручную установить этот новый пакет.

0
ответ дан 28 December 2012 в 19:30

Предложение 4

Запуск sudo apt-get update && sudo apt-get upgrade -y на сервере Apt-Cacher NG может решить проблему. Вы должны делать это каждый раз, когда возникает проблема.

Предложение 5

Иногда проблема в зеркале: изменение зеркала в /etc/apt/sources.list, как на сервере, так и на клиентах, может решить эту проблему.

0
ответ дан 28 December 2012 в 19:30

Другие вопросы по тегам:

Похожие вопросы: