如何在通过代理连接的系统上使用 apt-get 安装软件包?

719*_*016 54 package-management apt proxy

我有一个通过代理连接到互联网的 Ubuntu 11.10 系统,我想通过 apt-get 安装软件包。当我尝试这样做时,我收到此错误消息:

sudo apt-get install libboost-program-options-dev
[...]
Err http://gb.archive.ubuntu.com/ubuntu/ oneiric/main libboost1.46-dev i386 1.46.1-5ubuntu2
407  Proxy Authentication Required
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

Vin*_*non 76

这个方法对我有用.....试试吧...

检查文件 /etc/apt/apt.conf

内容是,

Acquire::http::proxy "http://<proxy>:<port>/";
Acquire::ftp::proxy "ftp://<proxy>:<port>/";
Acquire::https::proxy "https://<proxy>:<port>/";
Run Code Online (Sandbox Code Playgroud)

这就是为什么您可以访问代理但无法通过它的原因,因为没有用户名密码信息。所以只要把这些信息放进去..

Acquire::http::proxy "http://<username>:<password>@<proxy>:<port>/";
Acquire::ftp::proxy "ftp://<username>:<password>@<proxy>:<port>/";
Acquire::https::proxy "https://<username>:<password>@<proxy>:<port>/";
Run Code Online (Sandbox Code Playgroud)

保存文件,你就完成了...


BROTIP:更好地将这些行添加到另一个文件中/etc/apt/apt.conf.d/80proxy。这将确保在版本升级后更改不会丢失。

  • 如果您在早上这样做,请不要忘记删除 V 形 (2认同)

Lek*_*eyn 50

要配置临时代理,请设置http_proxy环境变量。如果代理proxy.example.com在端口上8080并且您需要使用 usernameuser和 password进行身份验证pass,请运行:

sudo http_proxy='http://user:pass@proxy.example.com:8080/' apt-get install package-name
Run Code Online (Sandbox Code Playgroud)

要永久设置这样的代理,请创建/etc/apt/apt.conf.d/30proxy包含:

Acquire::http::Proxy "http://user:pass@proxy.example.com:8080/";
Run Code Online (Sandbox Code Playgroud)

下次运行 apt 时,更改会立即可见。

  • 它仍然无法正常工作,同样的错误。我应该提到我在“应用程序 -&gt; 系统工具 -&gt; 系统设置 -&gt; 网络代理 -&gt; 应用系统范围”上全局设置了我的代理 (2认同)