- 我用这个包设置了一个服务器
apt-cacher-ng
。 - 我配置了一台 PC 来使用这个缓存。我
/etc/apt/apt.conf.d/02proxy
用这一行创建了:
Acquire::http::proxy "http://my-server:3142";
- 我安装了谷歌浏览器。即下载并安装
google-chrome-stable_current_amd64.deb
。
问:后来,我发现检查软件更新时出现问题。发生了什么?
在 Ubuntu Desktop 22.04 上,软件更新程序只是说“无法下载存储库信息。请检查您的互联网连接”。
或者在 Debian 11 (GNOME) 上,软件显示弹出错误:
无法下载更新:
E: https://dl.google.com/linux/chrome/deb stable InRelease (yet) is not (yet) available (来自代理的无效响应:HTTP/1.0 CONNECT denied (要求管理员启用 HTTPS 隧道) [IP:我的服务器-IP 3142]
在 Ubuntu 和 Debian 上运行apt update
显示完整的错误。
最后,如果您使用 Ubuntu 22.04,但切换到使用 GNOME Software应用程序(例如,为了避免快照),则根本没有错误消息!Chrome 网络浏览器的安全更新似乎将在没有任何警告的情况下被跳过。可能是因为它是旧版本的 GNOME 软件。
测试包版本
- Ubuntu Desktop 22.04 上的软件更新程序- 更新管理器 1:22.04.10
- Debian 11 (GNOME) 上的软件- gnome-software 3.38.1-1
- Ubuntu Desktop 22.04 上的软件- gnome-software 3.38.1-1
- apt-cacher-ng 3.6.4-1
Google Chrome 更新使用加密连接 (
https://
)。此连接无法被拦截和缓存。首先,我建议允许
https://
包存储库绕过缓存。这样可以避免您在任何时间段内错过安全更新的风险。编辑您使用的 apt 配置文件,并添加第二行,如下所示:手册第 8.3 节访问 SSL/TLS 遥控器 (HTTPS)中解释了替代选项。
如果你想缓存谷歌浏览器包
对于谷歌浏览器,您应该首先重命名
/etc/apt/sources.list.d/google-chrome.list
为local-google-chrome.list
. 如果你编辑了这个文件而不移动它,谷歌说你的更改可能会被他们的 cron 作业或包脚本自动覆盖。现在您可以编辑文件了。替换这一行:
有了这个:
请记住,如果禁用代理,则需要还原此更改。