如何在没有GUI的情况下配置代理?
如何使用终端在Ubuntu Server或Minimal(CLI)版本中配置代理设置?
CLI Ubuntu / Server中的系统范围代理必须设置为环境变量。
- 使用
vi
(或您喜欢的编辑器)打开/etc/environment
文件。 此文件存储引导时初始化的系统范围变量。 -
添加以下行,进行适当修改。 您必须同时复制大写和小写,因为(不幸的是)某些程序只查找其中一个:
HTTP_PROXY = “http://myproxy.server.com:8080/” https_proxy = “http://myproxy.server.com:8080/” ftp_proxy这= “http://myproxy.server.com:8080/” NO_PROXY = “本地主机,127.0.0.1将localAddress,.localdomain.com” HTTP_PROXY = “http://myproxy.server.com:8080/” HTTPS_PROXY = “http://myproxy.server.com:8080/” FTP_PROXY = “http://myproxy.server.com:8080/” NO_PROXY = “本地主机,127.0.0.1将localAddress,.localdomain.com”
-
apt-get
,aptitude
等在正常使用sudo
时不会服从环境变量。 所以单独配置它们; 在/etc/apt/apt.conf.d/
创建一个名为95proxies
的/etc/apt/apt.conf.d/
,并包含以下内容:获取:: http :: proxy“http://myproxy.server.com:8080/”; 获取:: ftp :: proxy“ftp://myproxy.server.com:8080/”; 获取:: https :: proxy“https://myproxy.server.com:8080/”;
最后,注销并重新启动以确保更改生效。
资料来源: 1,2 。 有关其他帮助,请参阅1,包括快速打开/关闭代理的脚本。
如果您有身份validation代理,则URL将不同。 代替:
"http://myproxy.server.com:8080/"
你有:
"http://user_name:password@myproxy.server.com:8080/"
请注意,这些仍然是URL,因此密码(可能还有用户名)必须进行URL编码 。
例如, muru
的用户名和)qv3TB3LBm7EkP}
的密码如下所示:
"http://muru:)qv3TB3LBm7EkP%7D@myproxy.server.com:8080/"
这可以通过各种方式完成:
- 有几个网站用于编码:
- 程序化:
- Stack Overflow的
bash
脚本 - 在Perl中,来自Stack Overflow
- Stack Overflow的
在紧要关头,您可以使用man url
查看需要编码的字符:
An escaped octet is encoded as a character triplet, consisting of the percent character "%" followed by the two hexadecimal digits representing the octet code...
八位字节代码可以在man ascii
。