如何配置 apt-get 以使用 Pac 文件作为代理?

dev*_*dev 11 apt proxy

在我的工作场所,我们使用 Pac 文件作为代理网络。当我给浏览器设置它的工作正常时,Pac 文件编辑-->高级-->网络-->设置。当我给 Url 时,它对我来说工作正常。

但是对于 apt-get 我无法更新。

为此,我在网络代理中添加了相同的 URL。我的 pac 文件没有用户名或密码。

请给我建议。apt-get 应该如何在我的新 ubuntu 11.10 中工作。我真的很努力解决这个问题

小智 8

我不知道 APT 是否能够直接使用 PAC 文件,但您可以(通过相当多的工作/理解)从 PAC 文件本身提取相关的代理信息,并使用这些信息来配置 APT 以使用 HTTP 代理。

PAC 文件本质上由一个 JavaScript 函数组成。函数的return语句(一个或多个)返回代理服务器地址和端口,例如:

return "PROXY proxy.some.site:8080; DIRECT";
Run Code Online (Sandbox Code Playgroud)

只需在浏览器中输入其地址即可查看您的 PAC 文件。有了这些信息,您可以创建一个 APT 配置文件:

sudo gedit /etc/apt/apt.conf.d/proxy
Run Code Online (Sandbox Code Playgroud)

您应该修改该文件,使其包含以下信息:

Acquire::http::Proxy "http://proxy.some.site:8080";
Run Code Online (Sandbox Code Playgroud)

保存文件,下一次apt-get运行应该使用配置的代理设置。

如果 APT 可以处理 PAC 文件,那就太好了,因为我们也在公司中使用它们。也许其他人知道它是否/如何工作......

AptGetUbuntu Wiki 页面也有一些关于如何为 APT 配置代理的提示。

另见https://superuser.com/questions/323488/ubuntu-system-wide-proxy-auto-configuration-pac-script

  • FWIW - 我在处理我们的 MS ISA 代理时遇到了问题。我试过 bash.rc 方法;没有用。但是创建 /etc/apt/apt.conf.d/proxy 文件并以 Acquire::http::Proxy "http://domain\username:password@proxy_name:8080"; 格式添加一个条目;成功了。 (2认同)