当前位置: 首页>>技术问答>>正文


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

, , ,

问题描述

我有一个通过代理连接到互联网的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

有任何想法吗?

最佳解决方案

这种方法对我有用…..只是试一试……

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

内容是,

Acquire::http::proxy "http://<proxy>:<port>/";
Acquire::ftp::proxy "ftp://<proxy>:<port>/";
Acquire::https::proxy "https://<proxy>:<port>/";

这就是您可以访问代理但无法通过代理的原因,因为没有用户名密码信息。所以只需将信息放入其中..

Acquire::http::proxy "http://<username>:<password>@<proxy>:<port>/";
Acquire::ftp::proxy "ftp://<username>:<password>@<proxy>:<port>/";
Acquire::https::proxy "https://<username>:<password>@<proxy>:<port>/";

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


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

次佳解决方案

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

sudo http_proxy='http://user:pass@proxy.example.com:8080/' apt-get install package-name

要永久设置此类代理,请创建包含以下内容的/etc/apt/apt.conf.d/30proxy

Acquire::http::Proxy "http://user:pass@proxy.example.com:8080/";

下次运行apt时,会立即看到更改。

第三种解决方案

另一种方法是使用Synaptics Package Manager,在其Preferences中设置要连接的代理。您可以使用以下路径找到配置:设置 – >偏好 – >网络

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/1940.html,未经允许,请勿转载。