我刚刚从 Ubuntu 12.04 更新到 13.10
在 12.04 中,我习惯在 .bashrc 中设置 http_proxy 变量,然后使用 apt-get 如下
sudo -E apt-get update
sudo 中的 -E 选项用于使用户环境变量可供 sudo 和 apt-get 使用,它将选择 http_proxy 变量。
由于某种原因,此方法在 13.10 中不起作用。我反复收到407 Proxy authentication Required
。
有人知道原因吗?我该如何解决这个问题?
笔记:
我知道为 apt-get 启用代理的另一种方法是更改 apt.conf 中的设置。我不想这样做,因为这将创建一个系统范围的设置。此外,当我在家中使用系统时(没有代理),我将再次不得不去更改 apt.conf。
在上述解决方案中,我只需删除 sudo 中的“-E”选项,apt-get 就会尝试直接连接到互联网。
答案1
/home/$USER/.bashrc
您应该在文件中向您的代理提供身份验证参数export http_proxy=http://username:password@host:password/
。
如果您的密码中包含特殊字符(非字母数字字符),如、、"
等,则应使用这些字符的 HTML 代码。'
@
:
例如,如果您的密码是p@ssw0rd
,则应p%40ssw0rd
在文件中输入密码/home/$USER/.bashrc
,然后将这些变量导出到当前会话中source /home/$USER/.bashrc
。(%40 是的 HTML 代码@
。)