设置 apt-cacher-ng 后未获取 Google Chrome 更新

设置 apt-cacher-ng 后未获取 Google Chrome 更新
  1. 我用这个包设置了一个服务器apt-cacher-ng
  2. 我配置了一台电脑来使用这个缓存。我/etc/apt/apt.conf.d/02proxy用这一行创建了 :
Acquire::http::proxy "http://my-server:3142";
  1. 我安装了谷歌浏览器。即下载并安装google-chrome-stable_current_amd64.deb

问:后来,我在检查软件更新时发现了一个问题。发生了什么?

在 Ubuntu 桌面 22.04 上,软件更新程序只是说“无法下载存储库信息。请检查您的互联网连接”。

或者在 Debian 11 (GNOME) 上,软件显示弹出错误:

无法下载更新:
E:https://dl.google.com/linux/chrome/deb稳定的 InRelease 尚不可用(来自代理的无效响应:HTTP/1.0 CONNECT 被拒绝(要求管理员启用 HTTPS 隧道)[IP:我的服务器 IP第3142章

apt update在 Ubuntu 和 Debian 上运行都会显示完整的错误。

最后,如果你使用 Ubuntu 22.04,但切换到使用 GNOME软件应用程序(例如,为了避免卡顿),根本没有错误消息! Chrome 网络浏览器的安全更新似乎将被跳过,且没有任何警告。也许是因为它是旧版本的 GNOME 软件。

测试过的包版本

  • 软件更新程序在 Ubuntu 桌面 22.04 上 - 更新管理器 1:22.04.10
  • 软件在 Debian 11 (GNOME) 上 - gnome-software 3.38.1-1
  • 软件在 Ubuntu 桌面 22.04 上 - gnome-software 3.38.1-1
  • apt-cacher-ng 3.6.4-1

答案1

Google Chrome 更新使用加密连接 ( https://)。该连接无法被拦截和缓存。

首先,我建议允许https://包存储库绕过缓存。这可以避免您在任何时间内错过安全更新的风险。编辑您使用的 apt 配置文件,并添加第二行,如下所示:

Acquire::HTTP::proxy "http://my-server:3142";
Acquire::HTTPS::proxy "DIRECT";

手册第 8.3 节中解释了替代选项访问 SSL/TLS 远程 (HTTPS)

如果您想缓存 Google Chrome 软件包

对于 Google Chrome,您应该首先重命名/etc/apt/sources.list.d/google-chrome.listlocal-google-chrome.list.如果您编辑此文件而不移动它,Google 表示您的更改可能会被他们的 cron 作业或包脚本自动覆盖。

现在您可以编辑该文件。替换这一行:

deb [arch=amd64] https://dl.google.com/linux/chrome/deb/ stable main

有了这个:

deb [arch=amd64] http://HTTPS///dl.google.com/linux/chrome/deb/ stable main

请记住,如果禁用代理,则需要恢复此更改。

相关内容