
说明RPM 数据库确实处于损坏状态 (DB_RUNRECOVERY),必须先修复才能继续升级。
✅ 立即执行修复(按顺序,一步都不要跳)
bash
# 1. 先做备份(万一有问题可随时恢复)
cp -r /var/lib/rpm /var/lib/rpm.bak
# 2. 删除临时锁文件(安全,无风险)
rm -f /var/lib/rpm/__db.*
# 3. 重建 RPM 数据库
rpm --rebuilddb
# 4. 验证修复是否成功
rpm -qa | head -5
执行完后,如果看到能正常列出几个包名,就说明数据库已经恢复。
⚠️ 执行提醒
- 修复过程中如果报错"磁盘空间不足",先
df -h /var检查,清理些空间再重试。 - 建议在 screen 或 tmux 会话中执行,避免网络中断导致意外。
- 修复后,之前的
/etc/host.conf警告可以稍后再注释掉(不影响升级),但建议升级前顺手处理:
bash
sed -i.bak '/^[[:space:]]*nospoof/s/^/#/' /etc/host.conf