在 Linux 系统中,yum(Yellowdog Updater, Modified)本身没有独立的代理配置命令,需要通过修改其配置文件或系统环境变量来设置代理。以下是两种常用方法:
yum 配置文件(推荐,仅对 yum 生效)yum 的主配置文件是 /etc/yum.conf,也可在 /etc/yum.repos.d/ 下的仓库文件中单独配置(优先级更高)。
编辑 yum 主配置文件(全局生效):
打开终端,用 root 权限编辑 /etc/yum.conf:
sudo vi /etc/yum.conf
在文件末尾添加以下内容(替换为你的代理信息):
# 代理服务器地址和端口(例如:http://proxy.example.com:8080)
proxy=http://代理IP:端口
# 如果代理需要认证,添加用户名和密码(可选)
proxy_username=你的代理用户名
proxy_password=你的代理密码
示例(假设代理是 192.168.1.100:3128,无需认证):
proxy=http://192.168.1.100:3128
(可选)单独配置某个仓库:
如果只想让某个仓库(如 CentOS-Base.repo)走代理,编辑对应仓库文件(如 /etc/yum.repos.d/CentOS-Base.repo),在仓库段(如 [base])下添加同样的代理配置:
[base]
proxy=http://代理IP:端口
proxy_username=用户名
proxy_password=密码
保存并退出:
vi 编辑器中按 Esc,输入 :wq 保存退出。
通过环境变量 http_proxy 和 https_proxy 设置代理,yum 会自动读取这些变量。
直接在终端执行以下命令(替换为你的代理):
export http_proxy="http://代理IP:端口"
export https_proxy="http://代理IP:端口" # 注意:https代理通常也用http://开头(除非是socks代理)
# 如果代理需要认证:
export http_proxy="http://用户名:密码@代理IP:端口"
export https_proxy="http://用户名:密码@代理IP:端口"
将环境变量写入系统配置文件(如 /etc/profile 或 ~/.bashrc):
编辑 /etc/profile(全局,所有用户):
sudo vi /etc/profile
末尾添加:
export http_proxy="http://代理IP:端口"
export https_proxy="http://代理IP:端口"
使配置生效:
source /etc/profile
执行 yum 命令(如更新缓存),观察是否能正常连接网络:
yum clean all && yum makecache
如果代理生效,yum 会通过代理拉取仓库元数据;若失败,检查代理地址、端口、认证信息是否正确,或防火墙是否允许代理端口通信。
yum 主要支持 HTTP/HTTPS 代理,SOCKS 代理可能需要额外工具(如 proxychains)配合。unset http_proxy https_proxy 清除环境变量。如果是 dnf(yum 的继任者,如 CentOS 8+、Fedora),配置方法与 yum 完全一致(因为 dnf 兼容 yum 的配置)。