网站搜索

Yum-cron - 在 CentOS 7 中自动安装安全更新


在网络威胁和漏洞不断涌现和不断发展的世界中,应用安全更新将大大有助于保护您的系统免受潜在威胁。如果这些更新的应用无需您的干预而自动完成,那将是多么令人高兴!

这意味着您将不必担心手动更新系统,而可以专注于其他系统管理任务。

推荐阅读:dnf-automatic – 在 CentOS 8 中自动安装安全更新

在本教程中,您将学习如何使用 yum-cronCentOS 7 系统上自动安装和配置安全更新。

那么 Yum-Cron 是什么?

Yum-cron 是一个yum 模块和命令行工具,允许用户为 Yum 包管理器配置 cron 作业。

步骤1:在CentOS 7中安装Yum-cron实用程序

Yum-cron 预安装在 CentOS 7 上,但如果由于某种原因它不存在,您可以通过运行命令来安装它。

yum install yum-cron

安装完成后,通过使用 grep 命令运行 rpm 命令来确认 yum-cron 实用程序是否存在。

rpm -qa | grep yum-cron

步骤 2:在 CentOS 7 中配置自动安全更新

成功安装yum-cron实用程序后,您需要将其配置为自动检索安全更新并更新系统。有两种更新:使用 yum update 命令初始化的默认更新、最小更新和最后的安全更新。

在本指南中,我们将配置系统以自动接收安全更新。因此,打开并编辑位于所示路径中的 yum-cron.conf 文件。

vi /etc/yum/yum-cron.conf

找到字符串 update_cmd。默认情况下,此设置为默认值。现在编辑该值并将其设置为‘security’

update_cmd = security

接下来,找到 update_messages 参数并确保其值设置为 “yes”

update_messages = yes

同样,对 download_updatesapply_updates 执行相同的操作。

download_updates = yes
apply_updates = yes

您的配置应如下所示。

保存并退出配置文件。

要使更改生效,请在启动时启动并启用 yum-cron 守护程序或服务,如图所示。

systemctl start yum-cron
systemctl enable yum-cron
systemctl status yum-cron

步骤 3:如何在 Yum 中排除软件包更新

有时,由于依赖该包的其他应用程序可能出现兼容性问题,您可能需要维护包的版本而不更新它们。有时,这甚至可能包括内核本身。

要实现此目的,请返回 yum-cron.conf 配置文件。在底部的 [base] 部分中,附加一行带有 ‘exclude’ 参数,并定义要从更新中排除的包。

exclude = mysql* php* kernel*

所有以 mysqlphp 开头的软件包名称都将从自动更新中排除。

重新启动 yum-cron 以使更改生效。

systemctl restart yum-cron

步骤4:检查yum-cron日志

yum-cron 日志存储在 /var/log/yum.log 文件中。要查看已更新的软件包,请运行 cat 命令。

cat /var/log/yum.log  | grep -i updated

自动系统更新由每天运行的 cron 作业控制,并存储在 /var/log/cron 文件中。检查每日 cron 作业运行的日志。

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

您的 CentOS 7 系统现已完全配置为自动安全更新,您无需手动更新系统。