一、安装yum-cron工具(自动更新核心组件)
yum-cron是CentOS实现自动更新的关键服务,负责定时检查、下载及应用更新。首先通过以下命令安装:
sudo yum install yum-cron
二、启动并启用yum-cron服务
安装完成后,需启动服务并设置开机自启,确保系统重启后仍能自动执行更新:
sudo systemctl enable yum-cron # 开机自启
sudo systemctl start yum-cron # 立即启动
sudo systemctl status yum-cron # 验证服务状态(显示“active (running)”即为正常)
三、配置yum-cron自动更新策略
编辑/etc/yum/yum-cron.conf文件(主配置文件),调整以下核心参数以满足需求:
update_cmd指定更新类型。若仅需修复安全漏洞(推荐生产环境),设置为security;若需更新所有可用软件包(包括功能改进),设置为updates或security,updates。apply_updates设为yes,实现自动下载并安装更新;若仅需检查更新而不安装,设为no。download_updates设为yes,提前下载更新包以节省后续安装时间;若仅需检查更新,设为no。update_messages设为yes,允许发送更新通知(需配合邮件配置);random_sleep设为360(单位:秒),随机延迟检查时间以避免服务器同时更新导致网络拥堵。[commands]部分添加exclude=kernel*(排除所有内核更新)。示例配置(安全更新+自动应用):
[commands]
update_cmd = security
update_messages = yes
download_updates = yes
apply_updates = yes
random_sleep = 360
[email]
email_from = root@your-server.host
email_to = your-email@example.com
email_host = localhost
四、(可选)配置邮件通知
若需接收更新日志邮件,需安装并配置邮件发送工具(如mailx或postfix):
sudo yum install mailx # 安装mailx
sudo systemctl enable postfix # 启用postfix(默认邮件服务)
sudo systemctl start postfix # 启动postfix
在/etc/yum/yum-cron.conf的[email]部分填写发件人、收件人及邮件主机信息(如email_from = root@your-server.host、email_to = your-email@example.com、email_host = localhost)。
五、验证自动更新效果
sudo yum-cron check-update命令模拟自动更新流程,观察是否按配置执行。/var/log/yum.log文件,确认更新是否成功应用(如tail -f /var/log/yum.log)。六、注意事项
exclude参数指定。/var/log/yum.log,及时处理更新失败的情况(如依赖冲突)。