让 APT 下载通过代理
为 APT 仓库请求明确指定 HTTP 代理,保持 HTTPS 验证开启,并检查按主机设置的直连例外。
APT 有自己的代理选项。更改浏览器设置不能确定 apt-get 使用哪条路径,更换仓库镜像也不等于选择代理。
对单条命令,显式传入设置:
sudo apt-get \
-o Acquire::http::Proxy=http://203.0.113.10:8080/ \
-o Acquire::https::Proxy=http://203.0.113.10:8080/ \
update
用来自服务或HTTP 代理列表的所选 HTTP 端点替换文档示例 IP。只要普通 HTTP 代理支持所需的 HTTPS 隧道,两个值都可以指向它。选项名称描述的是正在配置的仓库传输方式。
需要长期保留的连接
APT 可以在 /etc/apt/apt.conf.d/ 下的专用文件中保存同样的值:
Acquire::http::Proxy "http://203.0.113.10:8080/";
Acquire::https::Proxy "http://203.0.113.10:8080/";
保留语法中的引号和分号。使用单独且命名明确的文件,便于以后移除自己的覆盖设置,而无需重写仓库定义或无关 APT 选项。
要查看某个选定值而不启动软件包操作,可使用:
apt-config shell PROXY Acquire::http::Proxy
APT 也支持 http_proxy 环境配置,但通过 sudo 可用的环境可能与设置它的终端不同。显式 APT 选项更便于理解单条命令的对比。
仓库可能有意直连
针对特定主机的代理选项可使用特殊值 DIRECT。如果只有一个仓库忽略通用代理,应先检查这些主机覆盖设置,再更换端点。
HTTPS 证书验证仍是独立检查。需要获准的检查 CA 时,应配置适当信任;不要为了让下载继续而关闭对端或主机名验证。软件包签名的用途也不同于 TLS 和代理路由。
不要只看命令最终退出结果
检查哪些仓库请求实际成功,以及 APT 是否报告获取警告或复用旧列表。部分更新并不能证明每个源都通过该路径成功获取。
撤销长期测试时,只移除自己添加的代理条目。然后检查剩余的环境或主机专用设置,它们仍可能选择另一个代理。