apt-transport-http - 参考手册、选项、命令示例


姓名

apt-transport-http - 通过超文本传输协议 (HTTP) 下载的 APT 传输

描述

此 APT 传输允许使用通过超文本传输协议 (HTTP) 访问的存储库。它默认可用,并且可能是所有传输中最常用的。请注意,传输永远不会由用户直接调用,而是由 APT 工具根据用户配置使用。

HTTP 是一种未加密的传输协议,这意味着与远程服务器(或代理)的整个通信可以被通常称为“中间人”(MITM) 的足够能力的攻击者观察到。但是,此类攻击者无法修改通信以危害系统的安全,因为 APT 数据安全模型独立于所选的传输方法。 apt-secure(8)对此进行了详细解释。 sources.list(5) 中给出了可用传输方法的概述。

选项

可以在 apt.conf(5) 文件中设置各种选项来修改其行为,从代理配置到特定服务器限制的解决方法。

代理配置

系统范围的配置支持环境变量http_proxy。特定于 APT 的代理可以通过选项 Acquire::http::Proxy 进行配置。可以通过 Acquire::http::Proxy::host 指定仅用于某些主机的代理。通过代理自动检测可以实现更细粒度的控制,下面将进一步详细介绍。所有这些选项都使用 URI 格式 scheme://[[user][:pass]@]host [:端口]/。支持的 URI 方案包括ocks5h(具有远程 DNS 解析的 SOCKS5)、http 和 https。身份验证详细信息可以通过 apt_auth.conf(5) 提供,而不是直接将其包含在 URI 中。

各种 APT 配置选项支持特殊值 DIRECT,这意味着不应使用代理。出于相同目的,还支持环境变量 no_proxy。

此外,还为符合 HTTP/1.1 的代理缓存提供了三种设置: Acquire::http::No-Cache 告诉代理在任何情况下都不要使用其缓存的响应。 Acquire::http::Max-Age 设置代理缓存中索引文件允许的最大期限(以秒为单位)。 Acquire::http::No-Store 指定代理不应将请求的存档文件存储在其缓存中,这可用于防止代理使用(大).deb 文件污染其缓存。

自动代理配置

Acquire::http::Proxy-Auto-Detect 可用于指定外部命令来发现要使用的 HTTP 代理。第一个也是唯一的参数是 URI,表示要联系的主机,以允许特定于主机的配置。 APT 期望该命令以先前指定的 URI 格式将代理在 stdout 上输出为单行,如果不应使用代理,则输出为 DIRECT 一词。没有输出表明应使用通用代理设置。

请注意,如果已通过 Acquire::http::Proxy::host 设置了特定于主机的代理配置,则不会对主机使用自动检测。

请参阅 squid-deb-proxy-client(1) 和 auto-apt-proxy(1) 包以获取示例实现。

此选项优先于旧选项名称 Acquire::http::ProxyAutoDetect。

连接配置

选项 Acquire::http::Timeout 设置该方法使用的超时计时器;该值适用于连接以及数据超时。

可以使用 Acquire::http::Dl-Limit 来限制使用的带宽,它接受每秒千字节的整数值。默认值为 0,它会停用限制并尝试使用所有可用带宽。请注意,此选项隐式禁用同时从多个服务器下载。

设置 Acquire::http::Pipeline-Depth 可用于启用 HTTP 管道(RFC 2616 第 8.1.2.2 节),这可能是有益的,例如在高延迟连接上。它指定在管道中发送多少个请求。 APT 尝试检测并解决运行时行为不当的 Web 服务器和代理,但如果您知道您的 Web 服务器和代理不符合 HTTP/1.1 规范,则可以通过将该值设置为 0 来禁用管道。默认情况下启用值 10 。

Acquire::http::AllowRedirect 控制 APT 是否遵循重定向,默认情况下启用。

Acquire::http::User-Agent 可用于为 http 下载方法设置不同的 User-Agent,因为某些代理仅在客户端使用已知标识符时才允许客户端访问。

Acquire::http::SendAccept 默认情况下处于启用状态,并向服务器发送一个 Accept: text/* 标头字段以获取不带文件扩展名的请求,以防止服务器尝试进行内容协商。

例子

Acquire::http {
	Proxy::example.org "DIRECT";
	Proxy "socks5h://apt:pass@127.0.0.1:9050";
	Proxy-Auto-Detect "/usr/local/bin/apt-http-proxy-auto-detect";
	No-Cache "true";
	Max-Age "3600";
	No-Store "true";
	Timeout "10";
	Dl-Limit "42";
	Pipeline-Depth "0";
	AllowRedirect "false";
	User-Agent "My APT-HTTP";
	SendAccept "false";
};

也可以看看

apt.conf(5) apt_auth.conf(5) sources.list(5)

错误

APT 错误页面[1]。如果您想报告 APT 中的错误,请参阅 /usr/share/doc/debian/bug-reporting.txt 或 reportbug(1) 命令。

作者

APT团队

笔记

1.APT错误页面:http://bugs.debian.org/src:apt