pau*_*que 108
在某些版本中,sudo 被配置为在运行命令时所有环境变量都被清除。要保留http_proxy的值并修复此问题,您需要编辑 /etc/sudoers,运行:
visudo
Run Code Online (Sandbox Code Playgroud)
然后找到一行说明:
Defaults env_reset
Run Code Online (Sandbox Code Playgroud)
并在其后添加:
Defaults env_keep = "http_proxy ftp_proxy"
Run Code Online (Sandbox Code Playgroud)
事情将按预期开始工作。
感谢Ubuntu 论坛中的kdogksu找到了解决方案。
为了不仅修复 apt-get 还修复图形 X11 实用程序,例如突触,mintintall,...) 中的以下行/etc/sudoers应该完成这项工作:
Defaults env_keep = "http_proxy https_proxy ftp_proxy DISPLAY XAUTHORITY"
Run Code Online (Sandbox Code Playgroud)
小智 49
用这个。
ubuntu@ubuntu:~$ cat /etc/apt/apt.conf
Acquire::http::Proxy "http://Username:Password@proxy.foo.bar.edu.au:8080";
Run Code Online (Sandbox Code Playgroud)
这就是我使用的。完美运行。
Apt 还允许将单独的设置放在 下的文件中/etc/apt/apt.conf.d/,因此这与上面的效果完全相同,但如果.conf文件中有其他行,则可能更容易维护:
ubuntu@ubuntu:~$ cat /etc/apt/apt.conf.d/05proxy
Acquire::http::Proxy "http://Username:Password@proxy.foo.bar.edu.au:8080";
Run Code Online (Sandbox Code Playgroud)
Sam*_*Sam 29
对我有用的是:
sudo http_proxy=http://yourserver apt-get update
Run Code Online (Sandbox Code Playgroud)
这有点奇怪,因为简单地导出 http_proxy 然后运行 sudo echo $http_proxy 乖乖地打印出导出的值
Oli*_*Oli 13
export http_proxy=http://proxyusername:proxypassword@proxyaddress:proxyport
sudo apt-get update
Run Code Online (Sandbox Code Playgroud)
导出应该不需要sudoing,如果您的代理是匿名的,只需丢弃该proxyusername:proxypassword@部分。
Pra*_*nge 10
如果您想在命令行中通过代理运行 \xe2\x80\x9csudo apt-get update\xe2\x80\x9d,请使用以下命令,
\n\nsudo apt-get -o Acquire::http::proxy="http://user:password@host:port/" update;\nRun Code Online (Sandbox Code Playgroud)\n