了解 Ubuntu 中的代理设置

了解 Ubuntu 中的代理设置

我使用大学代理,并且对 Ubuntu 的代理设置感到很困惑,如果有人能帮我解释一下我会很高兴。

如果我往里面看,/etc/apt/apt.conf它有我自定义的代理设置

Acquire::http{Proxy "http://user:pass@proxy:port";};
Acquire::http::proxy "http://user:pass@proxy:port/";
Acquire::https::proxy "https://user:pass@proxy:port/";
Acquire::ftp::proxy "ftp://user:pass@proxy:port/";
Acquire::socks::proxy "socks://user:pass@proxy:port/";

里面/etc/environment

http_proxy="http://proxy:port/"
https_proxy="https://proxy:port/"
ftp_proxy="ftp://proxy:port/"
socks_proxy="socks://proxy:port/"

但如果我这样做,echo $http_proxy我就会得到

http://differentproxy:differentport

我不知道它从哪里“回显”。有什么解释吗?我知道我可以将 $http_proxy 变量导出到正确的代理,但我只是想了解 Ubuntu 用于代理的所有文件/设置。

答案1

Linux 代理设置并不是世界上最友好的设置。标准化或创建全局设置的尝试并没有取得特别的成功。

全局配置文件(例如 /etc/environment)不是每个应用程序或每次启动时都会读取的,并且特定于 Linux 发行版。

应用程序可以使用 DE(例如 Gnome 或 KDE)环境设置。

用户首选项,例如来自 shell 环境的设置可能会(并且应该)覆盖主机或系统全局设置。

不同配置源之间的优先级顺序非常难以管理,例如系统全局配置文件、桌面环境设置和登录脚本设置。

应用程序特定的设置可能会覆盖环境设置。

更改“全局”设置通常需要重新启动应用程序,有时甚至需要重新启动主机,因此在每个应用程序中使用特定于应用程序的设置更为方便。

最终结果是设置不是特别动态。

在这种情况下,APT 和 /etc/environment 的设置很可能来自您在安装期间指定的设置。

终端中看到的值很可能在您的登录脚本或 shell 配置文件中被覆盖,也可能被用户的 Gnome 全局首选项中覆盖。

相关内容