前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >CentOS7上使用yum-cron配置自动更新软件

CentOS7上使用yum-cron配置自动更新软件

作者头像
入门笔记
发布2022-06-02 19:15:18
5260
发布2022-06-02 19:15:18
举报
文章被收录于专栏:入门小站入门小站

定期更新CentOS系统是整体系统安全性的最重要方面之一。如果你不使用最新的安全补丁更新操作系统的软件包,那么你的计算机容易受到攻击。

如果你管理多台CentOS计算机,则手动更新系统软件包可能会很耗时。即使你只管理一个CentOS安装,有时你也可能忽略了一个重要的更新。这是自动更新很方便的地方。

在本教程中,我们将介绍在CentOS 7上配置自动更新的过程。相同的说明适用于CentOS6。

安装yum-cron软件包

yum-cron程序包使你可以自动将yum命令作为 cron作业运行,以检查,下载和应用更新。可能此软件包已安装在你的CentOS系统上。如果未安装,则可以通过运行以下命令来安装软件包:

代码语言:javascript
复制
sudo yum install yum-cron

安装完成后,启用并启动服务:

代码语言:javascript
复制
sudo systemctl enable yum-cron
sudo systemctl start yum-cron

要验证服务是否正在运行,请键入以下命令:

代码语言:javascript
复制
systemctl status yum-cron

有关yum-cron服务状态的信息将显示在屏幕上:

代码语言:javascript
复制
● yum-cron.service - Run automatic yum updates as a cron job
   Loaded: loaded (/usr/lib/systemd/system/yum-cron.service; enabled; vendor preset: disabled)
   Active: active (exited) since Sat 2019-05-04 21:49:45 UTC; 8min ago
  Process: 2713 ExecStart=/bin/touch /var/lock/subsys/yum-cron (code=exited, status=0/SUCCESS)
 Main PID: 2713 (code=exited, status=0/SUCCESS)
   CGroup: /system.slice/yum-cron.service

配置yum-cron

yum-cron带有两个配置文件,分别存储在/etc/yum目录中:每小时配置文件yum-cron.conf和每日配置文件yum-cron-hourly.conf

yum-cron服务仅控制cron作业是否运行。yum-cron实用程序由/etc/cron.hourly/0yum-hourly.cron/etc/cron.daily/0yum-daily.cron

cron文件调用。

默认情况下,每小时cron配置为不执行任何操作。如果有可用更新,则将每日cron设置为下载但不安装可用更新并将消息发送到stdout。默认配置足以满足关键生产系统的需要,这些系统要在测试服务器上测试更新后接收通知并手动进行更新。

配置文件分为几部分,每部分包含描述每个配置行所做操作的注释。

要编辑yum-cron配置文件,请在文本编辑器中打开该文件:

代码语言:javascript
复制
sudo nano /etc/yum/yum-cron-hourly.conf

在第一部分[commands]中,你可以定义要更新的程序包类型,启用消息和下载,并设置为在可用时自动应用更新。默认情况下,update_cmd设置为默认值,它将更新所有软件包。如果要设置自动无人值守更新,建议将值更改为security,这将告诉yum更新仅解决安全问题的软件包。

在以下示例中,我们通过将apply_updates设置为yes,将update_cmd更改为security并启用了无人值守更新:

/etc/yum/yum-cron-hourly.conf

代码语言:javascript
复制
[commands]
update_cmd = security
update_messages = yes
download_updates = yes
apply_updates = no
random_sleep = 360

第二部分定义了如何发送消息。要将消息发送到标准输出和电子邮件,请将emit_via的值更改为stdio,email

/etc/yum/yum-cron-hourly.conf

代码语言:javascript
复制
[emitters]
system_name = None
emit_via = stdio,email
output_width = 80

[email]部分中,你可以设置发件人和收件人的电子邮件地址。确保你拥有一个可以发送系统上安装的电子邮件的工具,例如mailx或postfix。

/etc/yum/yum-cron-hourly.conf

代码语言:javascript
复制
[email]
email_from = root@centos.host
email_to = me@example.com
email_host = localhost

[base]部分允许你覆盖yum.conf文件中定义的设置。如果要排除特定软件包的更新,可以使用exclude参数。在以下示例中,我们不包括[mongodb]包。

/etc/yum/yum-cron-hourly.conf

代码语言:javascript
复制
[base]
debuglevel = -2
mdpolicy = group:main
exclude = mongodb*

你无需重新启动yum-cron服务即可使更改生效。

查看日志

使用 grep 检查是否执行了与yum相关的cron作业:

代码语言:javascript
复制
sudo grep yum /var/log/cron
代码语言:javascript
复制
May  4 22:01:01 localhost run-parts(/etc/cron.hourly)[5588]: starting 0yum-hourly.cron
May  4 22:32:01 localhost run-parts(/etc/cron.daily)[5960]: starting 0yum-daily.cron
May  4 23:01:01 localhost run-parts(/etc/cron.hourly)[2121]: starting 0yum-hourly.cron
May  4 23:01:01 localhost run-parts(/etc/cron.hourly)[2139]: finished 0yum-hourly.cron

yum更新的历史记录记录在/var/log/yum文件中。你可以使用 tail命令:

查看最新更新。

代码语言:javascript
复制
sudo tail -f  /var/log/yum.log
代码语言:javascript
复制
May 04 23:47:28 Updated: libgomp-5-el7_x86_64
May 04 23:47:31 Updated: bpftool-0-9elx86_64
May 04 23:47:31 Updated: htop-0-elx86_64
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-02-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 入门小站 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 安装yum-cron软件包
  • 配置yum-cron
  • 查看日志
相关产品与服务
测试服务
测试服务 WeTest 包括标准兼容测试、专家兼容测试、手游安全测试、远程调试等多款产品,服务于海量腾讯精品游戏,涵盖兼容测试、压力测试、性能测试、安全测试、远程调试等多个方向,立体化安全防护体系,保卫您的信息安全。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档