Недавно решил развеять скуку, путем перекомпиляции основных пакетов в системе, в связи с чем поставил 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