修复 Linux 上的 yum(Yellowdog Updater Modified)通常取决于你遇到的具体问题。下面按常见故障场景给你一套系统化的排查与修复方法。
yum 主要用于 RHEL / CentOS 6/7/8(部分):
cat /etc/redhat-release
which yum
dnfdnfcommand not found: yum可能原因:yum 被误删或未安装
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
报错示例:
Cannot find a valid baseurl for repo
mv /etc/yum.repos.d/* /tmp/backup_yum/
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
yum clean all
yum makecache
报错:
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
报错:
Another app is currently holding the yum lock
rm -f /var/run/yum.pid
或:
kill -9 $(cat /var/run/yum.pid)
error: rpmdb: BDB0113 Thread/process failed
rm -f /var/lib/rpm/__db*
rpm --rebuilddb
yum clean all
报错:
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
请直接用 dnf:
dnf clean all
dnf makecache
dnf update
为了更精确修复,请提供:
cat /etc/redhat-release)我可以直接给你对应系统的修复命令。