仅适用于Centos7,可能不适用于RHEL8
#!/usr/bin/env bash
# 安装yum自动更新工具
yum install yum-cron -y
# 配置自动更新计划任务
## 备份每日yum任务配置文件
cp /etc/yum/yum-cron.conf{,.bak}
## 备份每小时yum任务配置文件
cp /etc/yum/yum-cron-hourly.conf{,.bak}
# 配置每日更新任务
echo "
# 只自动执行安全更新命令
update_cmd = security
# 更新消息
update_messages = yes
# 下载更新
download_updates = yes
# 启动自动安装更新
apply_updates = yes
# 禁用随机休眠
random_sleep = 0
# 禁用yum-cron消息
debuglevel = -4
" >/etc/yum/yum-cron.conf
# 配置自动更新任务开机自启动
## 开机自启yum-cron服务
systemctl enable --now yum-cron
## 查看yum-cron服务状态
systemctl status yum-cron
# 查看高危漏洞公告
yum updateinfo list

# 针对高危漏洞公告的某一项进行单独升级
yum update --advisory=FEDORA-EPEL-2022-3c43a57d41 -y
yum update --advisory=FEDORA-EPEL-2022-e03362d364
# 检查特定软件有无安全更新
yum list-security software_name
# 列出更新的详细信息
yum info-security software_name
# 仅更新到包含最新安全更新的版本
## 只安装最安全的安全更新,忽略所有可能包含不安全新功能的包
yum --security update-minimal -y

# 安装可能包含不安全功能的安全更新
yum update --security -y
# 安装yum自动更新工具
yum install yum-cron -y
# 开机自启yum-cron服务
systemctl enable --now yum-cron
# 查看yum-cron服务状态
systemctl status yum-cron
参考: https://www.myfreax.com/configure-automatic-updates-with-yum-cron-on-centos-7/
yum-cron带有两个配置文件,分别存储在/etc/yum目录中:
每日配置文件: /etc/yum/yum-cron.conf;每小时配置文件: /etc/yum/yum-cron-hourly.conf;yum-cron服务仅控制cron作业是否运行;yum-cron程序由/etc/cron.hourly/0yum-hourly.cron和/etc/cron.daily/0yum-daily.cron cron文件调用每日或每小时计划# 备份每日yum任务配置文件
cp /etc/yum/yum-cron.conf{,.bak}
# 备份每小时yum任务配置文件
cp /etc/yum/yum-cron-hourly.conf{,.bak}
配置每日yum任务:
vim /etc/yum/yum-cron.conf
配置每小时yum任务:
vim /etc/yum/yum-cron-hourly.conf
# 只自动执行安全更新命令
update_cmd = security
# 更新消息
update_messages = yes
# 下载更新
download_updates = yes
# 启动自动安装更新
apply_updates = yes
# 禁用随机休眠
random_sleep = 0
# 禁用yum-cron消息
debuglevel = -4
yum-cron服务修改yum-cron配置后,要重启yum-cron服务.
yum-cron服务不支持自动清理缓存的配置选项,要自动执行yum clean all,可在/etc/cron.daily/目录中创建一个shell 脚本并赋予可执行权限,作为cron作业.
vim /etc/cron.daily/yum_clean_all.sh
#!/bin/sh
yum clean all
赋予/etc/cron.daily/yum_clean_all.sh脚本可执行权限.
chmod +x /etc/cron.daily/yum_clean_all.sh
yum-cron服务# 开机自启并现在启动yum-cron服务
systemctl enable --now yum-cron
# 测试每日任务
yum-cron /etc/yum/yum-cron.conf
# 测试每小时任务
yum-cron /etc/yum/yum-cron-hourly.conf
# 安装dnf
yum install dnf -y
# 安装dnf-utils
dnf install dnf-utils -y
# 显示安全和错误修复更新
## --security 安全更新
## --bugfix bug更新
dnf check-update --security --bugfix
# 检查安全更新
dnf check-update --security
# 检查bug修复更新
dnf check-update --bugfix
# 安装安全和错误修复更新
dnf update --security --bugfix
# 安装安全更新
dnf update --security
# 安装bug更新
dnf update --bugfix
# 显示安全更新及其 ID 的列表
dnf updateinfo list --security
# 安装指定安全更新
dnf update --advisory=FEDORA-2021-74ebf2f06f
## 一次安装多个安全更新
dnf update --advisories=FEDORA-2021-74ebf2f06f,FEDORA-2021-83fdddca0f