有没有办法对某些存储库使用 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 使用。就是这样。代理现在用于所有外部连接,而不是内部网络。