Я заметил, что запуск apt-get update
недавно привел к тому, что многие ppa вернули «403 Forbidden». В попытке очистить их, я посмотрел:
W: Failed to fetch http://ppa.launchpad.net/gnome3-team/gnome3/ubuntu/dists/raring/main/binary-amd64/Packages 403 Forbidden
W: Failed to fetch http://ppa.launchpad.net/gnome3-team/gnome3/ubuntu/dists/raring/main/binary-i386/Packages 403 Forbidden
E: Some index files failed to download. They have been ignored, or old ones used instead.
Странно то, что если я скопирую эти URL-адреса в свой браузер, у меня будет очень хороший доступ к файлам. Зачем apt-get сообщить «403 Forbidden», если они все еще доступны? Я попытался повторно добавить ppa через add-apt-repository
, который снова загружает ключ подписи, и он все еще сообщал «403 Forbidden».
Итак, выясняется, что это проблема с squid-deb-proxy. К сожалению, он не добавляет PPA и другие репозитории и просто завершается с довольно неожиданной ошибкой 403.
Вы можете исправить это, добавив репозитории в конфигурационный файл:
/etc/squid-deb-proxy/mirror-dstdomain.acl
# launchpad personal package archives (disabled by default)
ppa.launchpad.net
private-ppa.launchpad.net
Конечно, удаление squid-deb-proxy также работает вокруг проблемы:
apt-get remove squid-deb-proxy
Вы используете прокси?
Я часто сталкиваюсь с этой ошибкой, даже при использовании основного сервера. Я заметил, что это происходит, когда процесс apt-get по какой-то причине прерывается. Например, при запуске apt-get update
загрузка некоторого файла не может быть завершена. После этого вы получите ошибку 403 для этого конкретного файла.
Я узнал, что эти частично загруженные файлы (я не уверен, что это именно те файлы) во время обновления apt-get хранятся в /var/lib/apt/lists/partial/
Так что я сделал sudo rm -r /var/lib/apt/lists/partial/*
(удалил все файлы в каталог)
После этого я не получаю ошибку 403.
Если вы получаете ошибку при запуске apt-get install
или apt-get upgrade
или apt-get dist-upgrade
, попробуйте sudo rm -r /var/cache/apt/archives/partial/*
Я использую интеллектуальное зеркало. Мне пришлось apt clean all
затем удалить мои ранее загруженные файлы deb в директории /var/spool/squid3/intelligentmirror/deb
моего squid, чтобы заставить его продолжить.