仅适用于指定存储库的 acquire::http::proxy

仅适用于指定存储库的 acquire::http::proxy

有没有办法对某些存储库使用 acquire::http::proxy ?

我所在的网络有代理服务器。因此每个人都必须更新 /etc/apt/apt.conf,添加如下行

Acquire::http::Proxy "http://yourproxyaddress:proxyport";
Acquire::https::Proxy "http://yourproxyaddress:proxyport";
Acquire::ftp::Proxy "http://yourproxyaddress:proxyport";
Acquire::socks::Proxy "http://yourproxyaddress:proxyport";

一切运行正常。

但是现在我们有很多 ubuntu 机器,我想做一个本地 ubuntu 镜像。

所以我们应该删除那些代理线......除了外部存储库。

那么,我该如何配置类似的东西?

在基于 RH 的发行版中,您可以为 yum 设置全局代理,然后为每个存储库使用单独的代理设置。但在 Ubuntu 中没有找到类似的东西。

答案1

最后我终于让它按照我想要的方式工作了。

对于每个本地镜像,你必须添加如下一行:

Acquire::http::proxy::local.mirror.address "DIRECT";

因此,在 /etc/apt/apt.conf 中我得到了类似的内容:

Acquire::http::Proxy "http://yourproxyaddress:proxyport";
Acquire::http::proxy::local.mirror.address "DIRECT";
Acquire::https::Proxy "http://yourproxyaddress:proxyport";
Acquire::ftp::Proxy "http://yourproxyaddress:proxyport";
Acquire::socks::Proxy "http://yourproxyaddress:proxyport";

这样,我就可以使用我们的 Web 代理来访问外部存储库,并且无需 Web 代理即可使用我们的本地存储库镜像。

答案2

这就是我解决这个问题的方法。

删除 apt.conf 中的所有 acquire 行并将其恢复到原始状态

现在,将您的 http_proxy 导出为

export http_proxy=http://username:password@host:port 
export no_proxy=.xyz.org

其中 xyz.org 是您的本地域名

现在最终运行 apt-get,如下所示。

sudo -E apt-get update

-E 选项使 http_proxy 变量可供 apt-get 使用。就是这样。代理现在用于所有外部连接,而不是内部网络。

相关内容