如何在Ubuntu上设置系统范围的代理?

如何在Ubuntu上设置系统范围的代理?,ubuntu,proxy,Ubuntu,Proxy,我处于一个奇怪的位置,apt get update可以工作,并且可以连接到互联网,尽管在Docker容器中没有其他东西可以工作 我不确定我是否把代理放错了地方,或者我遗漏了什么 对于apt-get,我将以下内容添加到/etc/apt/apt.conf中,它就可以工作了 Acquire::http::proxy "http://user:pass@172.18.*.*:80/"; Acquire::ftp::proxy "ftp://user:pass@172.18.*.*:80/"; Acqu

我处于一个奇怪的位置,
apt get update
可以工作,并且可以连接到互联网,尽管在Docker容器中没有其他东西可以工作

我不确定我是否把代理放错了地方,或者我遗漏了什么

对于apt-get,我将以下内容添加到
/etc/apt/apt.conf
中,它就可以工作了

Acquire::http::proxy  "http://user:pass@172.18.*.*:80/";
Acquire::ftp::proxy "ftp://user:pass@172.18.*.*:80/";
Acquire::https::proxy "https://user:pass@172.18.*.*:80/";
虽然也在
/etc/profile
中以正确的(我认为)模式/格式放置凭据,但我无法让
curl
ping
等命令工作


是否有我可能缺少的内容?

键入
env|grep proxy
,如果它不返回任何内容,则导出代理可能会有所帮助:

export https_proxy=https://user:pass@172.18.*.*:80
export http_proxy=http://user:pass@172.18.*.*:80
export ftp_proxy=ftp://user:pass@172.18.*.*:80

如果用户的默认shell是bash或其他与Bourne兼容的shell,则交互式登录shell将从全局/etc/profile和/etc/profile.d/*.sh和/etc/bash.bashrc文件中读取。交互式非登录shell也将从全局/etc/bash.bashrc文件中读取

创建一个/etc/profile.d/proxy.sh文件,其中设置了http\u proxy、https\u proxy和ftp\u proxy环境变量,这样在下次登录时,大多数程序都可以使用这些值

下面是一个示例proxy.sh文件,其中http、https和ftp代理相同:

export http_proxy=http://my.local.proxy:port
export https_proxy=$http_proxy
export ftp_proxy=$http_proxy

有些登录方法可能会跳过这些文件,因此如果不起作用,您可以尝试将它们放在/etc/bash.bashrc中,以便您打开的每个新交互式shell都设置了这些值。

这将非常简单。我已经为此创建了一个python 3脚本

下载并运行它。您可以非常快速地设置和删除系统范围的代理

步骤:
1) 以zip格式下载并解压缩。
2) 打开终端并导航到提取文件的文件夹。
3) 键入以下命令
chmod+x proxy.py
sudo./proxy.py


干杯

您可能需要设置一个系统范围的代理,不仅针对
apt
是的,而且如果我理解正确,它只适用于当前终端session@Line是的,你说得对。如果你想让它适用于所有终端会话,你需要把这些命令放在你的
.bashrc
文件中。home/user\u name/.bashrc也很好(在我的Ubuntu 19.04中)太棒了!这救了我一天。非常感谢你!