我注意到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”。
答案1
所以这其实是 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
答案2
您使用代理吗?
我经常遇到此错误,即使在使用主服务器时也是如此。我注意到当 apt-get 进程因某种原因中断时会发生这种情况。例如,当运行apt-get update
某个文件下载时无法完成。之后您将收到该文件的 403 错误。
我了解到,apt-get update 期间这些部分下载的文件(我不确定它们是否是确切的文件)存储在/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/*
答案3
我使用智能镜像。我必须apt clean all
删除 squid/var/spool/squid3/intelligentmirror/deb
目录中之前下载的 deb 文件才能继续。