在给本机配置完代理后,zypper 却不使用代理联网。为此,我检查了一些环境,最后发现是 sudo 为了保证安全,默认清理了’http_proxy’在内的一系列环境变量:
相关环境变量丢失验证
❯ sudo env
COLORTERM=truecolor
LANG=zh_CN.UTF-8
LANGUAGE=
TERM=xterm-256color
MAIL=/var/mail/root
PATH=/usr/sbin:/usr/bin:/sbin:/bin
LOGNAME=root
USER=root
HOME=/root
SHELL=/bin/bash
SUDO_COMMAND=/usr/bin/env
SUDO_USER=huang
SUDO_UID=1000
SUDO_GID=100
经查,可以修改/etc/sudoers
来设置保持指定的环境变量:
Defaults env_keep += "http_proxy https_proxy ftp_proxy no_proxy all_proxy"
相关环境变量保持验证
❯ sudo env
COLORTERM=truecolor
LANG=zh_CN.UTF-8
LANGUAGE=
TERM=xterm-256color
https_proxy=http://127.0.0.1:7890
http_proxy=http://127.0.0.1:7890
all_proxy=socks5://127.0.0.1:7890
MAIL=/var/mail/root
PATH=/usr/sbin:/usr/bin:/sbin:/bin
LOGNAME=root
USER=root
HOME=/root
SHELL=/bin/bash
SUDO_COMMAND=/usr/bin/env
SUDO_USER=huang
SUDO_UID=1000
SUDO_GID=100
本方案与现有方案对比:
方案 | 根据当前用户设置动态修改 | 影响 CLI 等无本机代理环境时操作 |
---|---|---|
本方案 | ![]() |
![]() |
修改/etc/privoxy/config |
☒ | ☒ |
修改/etc/sysconfig/proxy |
☒ | ☒ |
修改/etc/environment |
☒ | ☒ |