在 CentOS / RHEL / Rocky / Alma 等使用 yum 的系统中,“修复系统”通常指 修复损坏的软件包、依赖、仓库或系统文件。下面按常见场景给你一套实用修复方案,从简单到复杂。
yum clean all
yum makecache
✅ 适合:
rm -f /var/lib/rpm/__db.*
rpm --rebuilddb
✅ 适合:
yum 卡住rpmdb 错误yum install -y yum-utils
package-cleanup --problems
package-cleanup --dupes
yum-complete-transaction --cleanup-only
yum distro-sync
✅ distro-sync 会把系统软件包同步到仓库版本,非常有用
yum reinstall 包名
yum reinstall bash
yum reinstall glibc
yum groupinstall "Base" "Core"
rpm -Va
输出中:
5 → 文件内容被改missing → 文件丢失然后:
yum reinstall 对应包
rpm -ivh --force yum-*.rpm
yum reinstall python python-libs
⚠️ 不要随便删 python / yum
yum repolist
yum-config-manager --disable 仓库名
cd /etc/yum.repos.d/
mv *.repo *.repo.bak
# 重新生成或复制官方 repo
systemctl rescue
然后:
chroot /mnt/sysimage
yum reinstall 核心包
| 错误 | 解决 |
|---|---|
Cannot find a valid baseurl |
网络 / DNS / repo |
rpmdb open failed |
重建 rpm 数据库 |
Package xxx is a duplicate |
package-cleanup --dupes |
Nothing to do |
仓库或包名错误 |
yum install yum-utils
yum clean all/var/lib/rpm如果你愿意,可以告诉我:
我可以给你精确到命令级别的修复方案。