温馨提示×

linux yum如何代理

小樊
71
2026-09-12 16:02:45
栏目: 智能运维

在 Linux 中使用 yum 配置代理,常见有临时生效和永久配置两种方式,也可以针对特定仓库配置。


一、临时使用代理(命令行)

在执行 yum 命令时直接指定代理:

yum -y update \
--setopt=proxy=http://代理IP:端口 \
--setopt=proxy_username=用户名 \
--setopt=proxy_password=密码

如果是匿名代理,可省略用户名和密码。


二、永久配置(推荐)

1. 修改 yum 全局配置

编辑 /etc/yum.conf,在 [main] 段下添加:

[main]
proxy=http://代理IP:端口
proxy_username=用户名
proxy_password=密码

示例:

proxy=http://192.168.1.100:8080
proxy_username=admin
proxy_password=123456

匿名代理只需 proxy 一行即可。

保存后,所有 yum 操作都会走代理。


三、仅为某个仓库配置代理

编辑对应仓库文件,例如:

/etc/yum.repos.d/CentOS-Base.repo

在对应仓库段落中添加:

[base]
proxy=http://代理IP:端口
proxy_username=用户名
proxy_password=密码

这样只对该仓库生效。


四、系统级代理(可选)

如果系统本身已配置代理(如 http_proxy 环境变量),yum 也会生效:

export http_proxy=http://代理IP:端口
export https_proxy=http://代理IP:端口

⚠️ 注意:yum 主要使用 http_proxy(即使是 https 仓库)。


五、常见问题

1. 代理需要认证但报错

  • 确认用户名/密码正确
  • 特殊字符需 URL 编码(如 @ → %40)

2. https 仓库无法代理

  • 代理需支持 CONNECT 方法
  • 可尝试:
proxy=http://代理IP:端口

3. 测试代理是否生效

yum clean all
yum makecache

如果你使用的是 CentOS 8 / Rocky / Alma,yum 实际是 dnf,配置方式完全一致。需要我针对具体系统或代理类型(如 Squid、CN 环境)给示例也可以。

0 踩