温馨提示×

怎样修复linux yum

小樊
43
2026-09-03 16:28:13
栏目: 智能运维

修复 Linux 上的 yum(Yellowdog Updater Modified)通常取决于你遇到的具体问题。下面按常见故障场景给你一套系统化的排查与修复方法


一、先确认系统是否支持 yum

yum 主要用于 RHEL / CentOS 6/7/8(部分)

cat /etc/redhat-release
which yum
  • CentOS 8 以后默认用 dnf
  • 如果是 CentOS 8 Stream / Rocky / Alma,请用 dnf

二、常见 yum 问题及修复方法

1️⃣ command not found: yum

可能原因:yum 被误删或未安装

修复(CentOS 7 示例)

rpm -qa | grep yum

若为空:

# 手动下载 yum 相关 rpm
yum-3.4.3-*.rpm
yum-metadata-parser-*.rpm
yum-plugin-fastestmirror-*.rpm

rpm -ivh yum-*.rpm

或:

dnf install yum

2️⃣ yum 源错误(最常见的)

报错示例:

Cannot find a valid baseurl for repo

修复步骤

  1. 备份原配置
mv /etc/yum.repos.d/* /tmp/backup_yum/
  1. 使用官方源(CentOS 7 示例)
cat > /etc/yum.repos.d/CentOS-Base.repo <<'EOF'
[base]
name=CentOS-7-Base
baseurl=http://mirror.centos.org/centos/7/os/x86_64/
gpgcheck=0
enabled=1
EOF
  1. 清理并重建缓存
yum clean all
yum makecache

3️⃣ 仓库 GPG 校验失败

报错:

GPG key retrieval failed

解决

yum clean all
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

或临时关闭校验:

sed -i 's/gpgcheck=1/gpgcheck=0/' /etc/yum.repos.d/*.repo

4️⃣ yum 卡死 / 进程锁住

报错:

Another app is currently holding the yum lock

解决

rm -f /var/run/yum.pid

或:

kill -9 $(cat /var/run/yum.pid)

5️⃣ yum 数据库损坏

error: rpmdb: BDB0113 Thread/process failed

重建 rpm 数据库

rm -f /var/lib/rpm/__db*
rpm --rebuilddb
yum clean all

6️⃣ Python 依赖损坏(yum 依赖 Python)

报错:

No module named yum

修复

python -V   # 必须是系统自带 python2

若被替换:

ln -sf /usr/bin/python2 /usr/bin/python

三、通用“一键修复”思路

yum clean all
rm -rf /var/cache/yum
yum makecache
yum update -y

四、如果是 CentOS 8 / Rocky / Alma

请直接用 dnf:

dnf clean all
dnf makecache
dnf update

五、你可以告诉我

为了更精确修复,请提供:

  1. 系统版本(cat /etc/redhat-release
  2. 具体报错内容(完整复制)
  3. 是否能联网

我可以直接给你对应系统的修复命令

0