使用 sudo 时代理无法工作

使用 sudo 时代理无法工作

我使用系统设置 -> 网络 -> 网络代理设置了代理。然后点击“应用到整个系统”,输入我的密码,其他什么都不输入。

michele@rserver-VirtualBox:~$ wget http://bbc.co.uk
--2014-09-30 13:02:20--  http://bbc.co.uk/
Resolving datapx01-wcg (datapx01-wcg)... 10.123.7.31
Connecting to datapx01-wcg (datapx01-wcg)|10.123.7.31|:8080... connected.
Proxy request sent, awaiting response... 301 Moved Permanently
Location: http://www.bbc.co.uk/ [following]
--2014-09-30 13:02:21--  http://www.bbc.co.uk/
Reusing existing connection to datapx01-wcg:8080.
Proxy request sent, awaiting response... 200 OK
Length: 103020 (101K) [text/html]
Saving to: ‘index.html’

100%[======================================>] 103,020      190KB/s   in 0.5s   

2014-09-30 13:02:21 (190 KB/s) - ‘index.html’ saved [103020/103020]

而是使用 sudo:

michele@rserver-VirtualBox:~$ sudo wget http://bbc.co.uk
[sudo] password for michele: 
--2014-09-30 13:02:30--  http://bbc.co.uk/
Resolving bbc.co.uk (bbc.co.uk)... 212.58.246.104, 212.58.244.20, 212.58.246.103, ...
Connecting to bbc.co.uk (bbc.co.uk)|212.58.246.104|:80... failed: Connection timed out.

我使用的是 14.04,在昨天从 12.04 升级之前没有遇到过这个问题。请告诉我您还需要什么其他信息。

答案1

如果有人想知道:

这里的问题是,当使用 sudo 时,会加载一个新环境,这意味着不再设置 http_proxy。

要解决此问题,您可以添加Defaults env_keep += "http_proxy https_proxy"到 /etc/sudoers 文件以便在切换到安全路径时保留这些变量。

参考:https://help.ubuntu.com/community/EnvironmentVariables

答案2

在终端中打开/etc/apt/apt.conf文件并按如下方式设置代理设置:

Acquire::http::proxy "http://user:pass@host:port/";
Acquire::https::proxy "https://user:pass@host:port/";
Acquire::ftp::proxy "ftp://user:pass@host:port/";
Acquire::socks::proxy "socks://user:pass@host:port/";

替换user为你的用户名pass和你的密码host代理网址并且port端口号

相关内容