怎样使用yum-cron为CentOS7自动更新重要的安全补丁

怎样使用yum-cron为CentOS自动更新重要的安全补丁

2017年4月19日 | 分类: 【技术】

参考:https://linux.die.net/man/8/yum-cron
参考:http://www.linuxprobe.com/centos-rhel-update.html
参考:https://solarhell.com/post/2016/02/yum-cron

【安装yum-cron】

1
yum install yum- cron -y

【设置yum-cron】

打开 /etc/yum/yum-cron.conf ,设置以下内容:

1
2
3
update_messages = yes # 表明自动更新命令行应该像这样:yum --security upgrade
download_updates = yes
apply_updates = yes

默认情况下,cron 任务被配置成了立即下载并安装所有更新,但是我们可以通过在 /etc/sysconfig/yum-cron 配置文件中把下面两个参数改为yes,从而改变这种行为。

1
2
CHECK_ONLY= yes # 不要安装,只做检查(有效值: yes|no)
DOWNLOAD_ONLY= yes # 要求 CHECK_ONLY=yes(先要检查后才可以知道要下载什么)

【启用yum-cron】

打开并启用yum-cron 服务:

CentOS/RHEL 7 :

1
2
systemctl start yum- cron
systemctl enable yum- cron

On CentOS/RHEL 6 :

1
2
service yum- cron start
chkconfig --level 35 yum- cron on

###

安装 yum-cron

 
yum -y install yum-cron

配置 yum-cron 自动更新

有两个配置文件:/etc/yum/yum-cron.conf 和 /etc/yum/yum-cron-hourly.conf。这两个配置文件内容差不多,用于配置每天需要执行的内容和每小时需要执行的内容。

在配置文件中,提供的更新策略为:

 
# What kind of update to use:
 
# default = yum upgrade
 
# security = yum --security upgrade
 
# security-severity:Critical = yum --sec-severity=Critical upgrade
 
# minimal = yum --bugfix update-minimal
 
# minimal-security = yum --security update-minimal
 
# minimal-security-severity:Critical = --sec-severity=Critical update-minimal

default 默认的更新,类似yum update
security 安全更新, 类似yum –secruity upgrade
security-severity:Critical 重要的安全更新,类似yum –sec-severity=Critical upgrade
minimal 最小化更新,类似yum –bugfix update-minimal
minimal-security 最小化安全更新,类似yum –security update-minimal
minimal-security-severity:Critical 最小化重要安全更新,类似yum –sec-severity=Critical update-minimal

通过update-cmd指定相应的更新策略。
如: 需要配置只需要更新重要的安全更新,则配置为

 
update_cmd = security-severity:Critical
   
 
# 快捷替换命令则为
 
sed -i 's|update_cmd = default|update_cmd = security-severity:Critical|g' /etc/yum/yum-cron.conf

apply_updates设置是否提交相应的安全更新,如果设置为no,则只会检测存在更新,但不会直接更新,如要自动更新,需将apply_updates设置为yes

 
# 将 apply_updates 参数改为 yes
 
grep ^apply_updates /etc/yum/yum-cron.conf
 
sed -i 's|apply_updates = no|apply_updates = yes|g' /etc/yum/yum-cron.conf
 
grep ^apply_updates /etc/yum/yum-cron.conf

不想更新内核的话,添加以下内容:

 
if [ -z "`grep ^exclude /etc/yum/yum-cron.conf`" ]; then
 
cat >> /etc/yum/yum-cron.conf << EOF
 
exclude=kernel*
 
EOF
 
else
 
sed -i "s@^exclude.*@exclude=kernel*@" /etc/yum/yum-cron.conf
 
fi
 
echo 'Info: 禁止自动更新内核设置完毕!'
   
 
# 允许更新内核设置
 
sed -i "s@^exclude.*@@" /etc/yum/yum-cron.conf

启动服务

 
systemctl enable yum-cron.service && systemctl start yum-cron.service && systemctl status yum-cron.service

无人值守自动更新服务就设置完成了,以后不用再惦记检查更新这档事啦。

 

CentOS 7 Yum 自动安装安全更新

发布:elantion 日期:2019-07-08 阅读:1150 评论:0

做运维的都应该经历过安全漏洞更新的痛苦,Linux 的软件太多,几乎每个软件过段时间就会有漏洞,放着不管不行,每一两天更新一次又很烦,有没有自动更新的东西可以帮帮忙呢?有,Yum 有很成熟的自动更新工具:yum-cron,功能完善,也不复杂。

安装 yum-cron

yum-cron 存在 CentOS 7 的软件库中,安装命令如下:

yum -y install yum-cron

安装之后,启动并设为开启启动:

sudo systemctl enable yum-cron.service
sudo systemctl start yum-cron.service

查看状态

sudo systemctl status yum-cron.service

设置

安装之后,我们需要对其进行配置,默认下,yum-cron 提供三种升级模式:默认、最小和安全,我们这里只介绍安全更新模式。

首先,编辑 yum-cron 的配置文件:

sudo vi /etc/yum/yum-cron.conf

修改下面的配置(#符号行为注释):

# 只升级 安全更新
update_cmd = security
# 显示更新信息
update_messages = yes
# 下载更新
download_updates = yes
# 安装更新
apply_updates = yes
# 提示通过邮件方式发送
emit_via = email
# 邮件配置
email_from = root@hakase-labs
email_to = [email protected]
email_host = hakase-labs
# 某些包是不需要自动更新的
exclude = mysql* kernel*

修改完之后重启即可:

systemctl start yum-cron

查看日志

如果担心 yum-cron 不知道在背后干了咐,可以查看他的日志:

cd /var/log/
cat cron | grep yum-daily

查看那些包更新了:

cat yum.log | grep Updated

猜你喜欢

转载自www.cnblogs.com/xuanbjut/p/12499803.html