CentOS Trigger更新失败排查与修复
一、先明确“Trigger”的含义
二、针对 yum-cron 触发的自动更新
三、针对自定义“触发器”(脚本/定时任务/CI)
四、快速判断与处理清单
| 现象 | 优先检查 | 快速修复 |
|---|---|---|
| 无法解析镜像或下载元数据 | /etc/resolv.conf、网络连通、镜像源可用性 | echo “nameserver 8.8.8.8” >> /etc/resolv.conf;更换国内镜像;yum clean all && yum makecache |
| Another app is holding the yum lock | /var/run/yum.pid、ps aux | 结束占用进程或 rm -f /var/run/yum.pid(确认安全) |
| Cannot find a valid baseurl for repo | .repo 文件、镜像地址 | 修正 baseurl/mirrorlist;替换为可用镜像;重建缓存 |
| No space left on device | df -h、/var/cache/yum | 清理缓存与临时文件;扩容分区 |
| yum-cron 服务未触发 | systemctl status yum-cron、/etc/cron.hourly/0yum-hourly.cron | systemctl enable --now yum-cron;确保 hourly 脚本存在且可执行 |
| 自动更新后未生效或异常 | /etc/yum/yum-cron.conf、/var/log/yum.log | 核对 apply_updates、update_cmd;查看日志定位具体包/事务错误 |
| 触发器脚本不执行 | cron 日志、脚本权限与环境 | 手动执行脚本、set -x 调试、补全 PATH/代理、修正权限 |
五、重要提示