为什么在使用配置的 squid-deb-proxy 客户端运行 do-release-upgrade 从 19.10 到 20.04 LTS 时收到“身份验证失败”?

N0r*_*ert 5 upgrade apt proxy 19.10 20.04

我正在squid-deb-proxy本地网络中运行服务器。它适用于运行所有 APT 命令时的所有包下载。它针对所有可能的已知镜像 URL(包括旧版本)进行配置。Ubuntu 19.10 客户端已安装客户端 -squid-deb-proxy-client软件包。

\n
$ dpkg -l squid-deb-proxy-client | tail -n1\nii  squid-deb-proxy-client 0.8.14+nmu2  all          automatic proxy discovery for APT based on Avahi\n\n$ sudo apt update \nHit:1 http://archive.ubuntu.com/ubuntu eoan InRelease\nHit:2 http://archive.ubuntu.com/ubuntu eoan-updates InRelease\nHit:3 http://archive.ubuntu.com/ubuntu eoan-backports InRelease\nHit:4 http://security.ubuntu.com/ubuntu eoan-security InRelease\nReading package lists... Done\nBuilding dependency tree       \nReading state information... Done\nAll packages are up to date.\n
Run Code Online (Sandbox Code Playgroud)\n

但是当我尝试开始升级过程以获得 20.04 LTS -sudo do-release-upgrade在终端中使用时,我收到以下错误消息:

\n
$ sudo do-release-upgrade \nChecking for a new Ubuntu release\nYour Ubuntu release is not supported anymore.\nFor upgrade information, please visit:\nhttp://www.ubuntu.com/releaseendoflife\n\nGet:1 Upgrade tool signature [1\xe2\x80\xaf554 B]                                                                                                              \nGet:2 Upgrade tool [1\xe2\x80\xaf342 kB]                                                                                                                       \nFetched 1\xe2\x80\xaf343 kB in 0s (0 B/s)                                                                                                                      \nauthenticate \'focal.tar.gz\' against \'focal.tar.gz.gpg\' \nAuthentication failed\nAuthenticating the upgrade failed. There may be a problem with the network or with the server. \n
Run Code Online (Sandbox Code Playgroud)\n

我在服务器端的日志中没有看到任何特殊内容squid-deb-proxy

\n
==> /var/log/squid-deb-proxy/access.log <==\n1595069772.862    212 192.168.3.47 TCP_MISS/200 3349 CONNECT changelogs.ubuntu.com:443 - HIER_DIRECT/91.189.95.15 -\n1595069774.726      2 192.168.3.47 TCP_MEM_HIT/200 1950 GET http://archive.ubuntu.com/ubuntu/dists/focal-updates/main/dist-upgrader-all/current/focal.tar.gz.gpg - HIER_NONE/- application/x-gzip\n1595069775.410    681 192.168.3.47 TCP_HIT/200 1342082 GET http://archive.ubuntu.com/ubuntu/dists/focal-updates/main/dist-upgrader-all/current/focal.tar.gz - HIER_NONE/- application/x-gzip\n
Run Code Online (Sandbox Code Playgroud)\n

如何解决身份验证无法通过代理服务器正常运行升级的问题?我不想关闭代理服务器(或从客户端排除其配置)来解决问题。

\n
\n

笔记:

\n
    \n
  1. 对于可能的接近投票者:当我尝试使用sudo do-release-upgrade -d.
  2. \n
  3. 我已向 Launchpad 报告错误 1888058
  4. \n
  5. 删除deb-package 并通过insquid-deb-proxy-client指定代理不会改变任何内容。Acquire::http::Proxy "http://192.168.12.34:8000";/etc/apt/apt.conf
  6. \n
\n

N0r*_*ert 0

这里的问题是由于我的代理具有旧版本的安装程序文件引起的。

因此,我通过客户端上的命令触发手动缓存更新来解决该问题:

cd /tmp
http_proxy=http://192.168.12.34:8000 wget --no-cache -c http://archive.ubuntu.com/ubuntu/dists/focal-updates/main/dist-upgrader-all/current/focal.tar.gz
http_proxy=http://192.168.12.34:8000 wget -c http://archive.ubuntu.com/ubuntu/dists/focal-updates/main/dist-upgrader-all/current/focal.tar.gz
Run Code Online (Sandbox Code Playgroud)

并在服务器上:

sudo service squid3 restart
sudo service squid-deb-proxy restart
Run Code Online (Sandbox Code Playgroud)

然后升级运行良好。