yakkety 更新后立即出现 apt-get 更新错误

yakkety 更新后立即出现 apt-get 更新错误

...如标题所述。错误如下:

Err:107 http://mirror.cogentco.com/pub/linux/ubuntu yakkety-security/main amd64 Packages
  Sub-process ProxyAutoDetect returned an error code (100)

E: The repository 'http://archive.canonical.com/ubuntu yakkety Release' does no longer have a Release file.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.

谷歌上关于此的信息很少。

我尝试过更改 repo 服务器,但每次尝试都会遇到同样的问题。

我也尝试过禁用 ipv6,但是没有用。

有什么想法我可以在这里做什么吗?

答案1

你是否清除软件包squid-deb-proxy还是您只是用 apt 删除了它?后者确实会删除软件包,但不会删除整个配置。配置的某些部分可能仍处于活动状态,您可以使用 删除它们sudo dpkg -P squid-deb-proxy

相应的配置文件可以在 中找到/etc/apt/apt.conf.d/


您可以在以下位置重新生成 apt 源列表https://repogen.simplylinux.ch/然后替换您的默认值/etc/apt/sources.list。我还会复制您的 /etc/apt/sources* 以供将来参考,并可能了解那里出了什么问题。

答案2

虽然在某些情况下接受的答案可能是正确的,例如就我而言,当发生这种情况时我并没有触摸squid-deb-proxy(或任何东西squid)。

造成这种情况的一个可能原因(至少这是我在 下遇到的问题bionic)是检测脚本使用 的方式nc。它只是简单地nc -z $host $port,但如果$host:$port不存在,nc则会一直尝试(或尝试很长时间),并且ProxyAutoDetect会失败。(有趣的是,检测脚本在 下工作xenial。)解决方案是将超时(-w $INTEGER)设置为nc,这样它超时的速度就会比 快,ProxyAutoDetect并且可以尝试下一个代理。

要找到该脚本,您可以尝试在 下的文件中查找其路径/etc/apt/apt.conf.d/

注意:我使用的脚本是此处发布的脚本的稍微修改后的版本:http://askubuntu.com/questions/53443/how-do-i-ignore-a-proxy-if-not-available

相关内容