E: Не удалось получить file:/var/cache/apt-build/repository/dists/apt-build/main/binary-i386/Packages Файл не найден

Недавно решил развеять скуку, путем перекомпиляции основных пакетов в системе, в связи с чем поставил apt-build. Тулза эта старая, всем вроде известная, но есть ньюансы.

В общем после настройки, и сборки пакетов, в ответ на apt-build update (или apt-get update), система мне заявила:
E: Не удалось получить file://var/cache/apt-build/repository/dists/apt-build/main/binary-i386/Packages Файл не найден
И такого файла действительно нет. Сперва попробовал обновить индекс репозитория, но не помогло.

Как выяснилось суть беды в том, что система у меня 64 битная, и по умолчанию apt-build создает реп с пакетами исключительно amd64, а в /etc/apt/sources.list.d/apt-build.list автоматом добавилась такая строка:

deb [trusted=yes] file:/var/cache/apt-build/repository apt-build main

ну и в результате, apt-get при обновлении списка пакетов, ищет в репе нет только 64х, но 32х битные пакеты.

Пути решения 2, либо в настройках apt-get централизовано указать, что система у нас 64х битная, и ничего кроме как для себя — не качать. Но я так делать не рекомендую, ибо можно поиметь немало жопоболи при установке какого-нибудь пакета, который требует multiarch и 32х битных библиотек (например steam client).

Вместо этого, лучше поменять строку на:


deb [arch=amd64, trusted=yes] file:/var/cache/apt-build/repository apt-build main

Ошибка Apt BADSIG и кэширующий прокси сервер

На одном из серверов приключилась бесячая ошибка APT BADSIG. Стандартное заклинание не сработало. Перебрал вариантов кучу, в частности apt-cacher-cleanup.pl не работал по причине

Undefined subroutine &main::inet_aton called at /usr/share/apt-cacher/lib/apt-cacher.pl line 221.

Совершенно очевидно, что проблема в закешированном битом файле, что подтверждалось наличием 2 файлов в /var/lib/apt/lists/partial, причем, если их удалить, и сделать aptitude update, они снова появятся.

Простого пути сбросить кэш апт кэшера я не нашел.

В результате утомило меня это дело, и я просто снес его рабочие файлы.

/etc/init.d/apt-cacher stop
rm -R /var/cache/apt-cacher/*
mkdir -p /var/cache/apt-cacher/{headers,import,packages,private}
/etc/init.d/apt-cacher start

в результате чего, проблема волшебным образом решилась.

Может пригодится кому? 😉