APT 能解析文件,却会漏掉代理键
把 APT 代理设置当作配置树来读,并区分未使用的键与网络故障。
配置文件可以成功解析,却仍然没有配置代理。APT 接受一棵由命名选项组成的树;它并不会把每个看似合理的分支都当成给 HTTP 传输层的指令。
对于 HTTP 路径,APT 代理设置是:
Acquire::http::Proxy "http://proxy.example.net:8080/";
当公共仓库访问可能使用公共代理时,请使用你服务中的 HTTP 端点或 HTTP 代理列表。把同一设置包进额外的作用域会改变它的名字:
APT {
Acquire {
http {
Proxy "http://proxy.example.net:8080/";
};
};
};
这会把值放在 APT::Acquire::http::Proxy。它不是 Acquire::http::Proxy 的另一种拼写。HTTP 获取方法查找的是后者。
询问确切的值
apt-config shell HTTP_PROXY_VALUE Acquire::http::Proxy
apt-config shell NESTED_VALUE APT::Acquire::http::Proxy
这些是只读的配置检查。如果 URI 中含有用户信息,输出可能会暴露它,因此请把凭据排除在共享记录之外。请比较启动失败软件包操作时所用的相同配置文件、选项和账户上下文。
正确路径上缺少值,解释了为什么一个看似有效的文件没有选中该端点。它还没有说明该端点是否可达。
在正确的层次检查标点。名称使用双冒号分隔符;普通的值赋值需要引号和结尾分号。APT 选项名不区分大小写,所以把 proxy 改成 Proxy 并不能修复多余的作用域。URI 字符串里的分号是数据,而不是语句终止符。
应修正声明,而不是在它周围增加更多导出。一旦 APT 报告了预期的设置,连接被拒绝、407 或证书错误就属于后续阶段。