Yum故障排查技巧
一、快速定位思路
二、高频故障与处理清单
| 症状关键词 | 可能原因 | 快速检查 | 处理要点 |
|---|---|---|---|
| Cannot connect to repository / Could not resolve host | 网络不通、DNS错误、代理/防火墙拦截 | ping 外网地址;cat /etc/resolv.conf;curl/wget 测试仓库URL | 修正DNS(如 nameserver 8.8.8.8);放通防火墙/代理;必要时更换镜像源 |
| Cannot retrieve repository metadata / baseurl invalid / No more mirrors to try | 仓库配置错误、镜像不可用、URL失效 | yum repolist all;检查.repo中baseurl/mirrorlist | 备份并替换为可靠镜像;修正URL;执行yum clean all && yum makecache |
| Another app is holding the yum lock | 前次yum异常退出残留锁 | **ps -ef | grep yum**;ls /var/run/yum.pid |
| Transaction check error / file conflicts | 包冲突、文件被占用 | **yum list installed | grep <包名>** |
| Metadata file does not match checksum / Repodata is over 2 weeks old | 缓存/元数据损坏或过期 | 查看**/var/cache/yum** | yum clean all && yum makecache |
| Public key not installed / signature verification failed | 系统时间偏差、GPG问题 | date;仓库gpgcheck配置 | 同步时间(如 ntpdate pool.ntp.org);必要时导入/校正GPG |
| /usr/bin/python: bad interpreter | CentOS 7上Python 2.7缺失或链接错误 | ls /usr/bin/python2.7 | 建立正确链接:ln -sf /usr/bin/python2.7 /usr/bin/python |
| yum: cannot create directory … Read-only file system | 根分区只读 | mount | mount -o remount,rw / |
| No package available / Package not found | 包名错误、源未包含、缓存未更新 | yum search <关键词>;yum clean all && yum makecache | 更正包名;启用包含该包的仓库;更新缓存 |
| RPM database corruption | rpm库不一致 | rpm -qa 是否异常 | 备份后执行rpm --rebuilddb;必要时清理**/var/lib/rpm/__db*** |
| Permission denied | 非root执行 | id;echo $USER | 使用sudo或切换root执行 |
| 磁盘空间不足 | /var 或根分区满 | df -h | 清理无用文件或扩容后再执行yum |
| 以上条目覆盖了最常见的报错场景与处置路径,可据此逐项核对并执行对应命令。 |
三、关键命令速查
四、预防与优化建议