dnf-automatic - 在 CentOS 8 中自动安装安全更新
保持软件更新对于维护系统的安全性和可靠性至关重要。对于暴露在互联网上的服务器和其他生产系统尤其如此,因为它们经常成为恶意攻击者的目标,试图利用过时软件中的漏洞。
对于 CentOS 8 和其他基于 RPM 的发行版的用户,dnf 软件包管理器提供了一个强大的工具来管理软件包并使其保持最新。但是,手动检查和安装更新可能是一个耗时且容易出错的过程,尤其是在安装了大量软件包的系统上。
幸运的是,dnf-automatic 为这个问题提供了一个简单且自动化的解决方案。通过配置 dnf-automatic 自动检查和安装更新,您可以确保您的系统始终保持最新的安全补丁,而无需手动安装更新。
在这篇博文中,我们将探讨如何在 CentOS 8 上安装和配置 dnf-automatic,以自动安装系统上的安全更新。我们还将介绍如何检查 dnf-automatic 日志,以及如何测试、安排和禁用它(如果需要)。
什么是 dnf-automatic?
dnf-automatic 是 DNF 包管理器自带的工具,而 DNF 包管理器是 CentOS 8 中的默认包管理器。它旨在自动安装系统更新,包括安全更新。默认情况下,dnf-automatic 配置为每日安装更新,但您可以根据需要自定义其行为。
安装 dnf-automatic
要在 CentOS 8 系统上安装 dnf-automatic,您可以使用以下命令 -
sudo dnf install dnf-automatic
这将安装 dnf-automatic 软件包及其依赖项。
配置 dnf-automatic
安装 dnf-automatic 后,您需要将其配置为在系统上自动安装安全更新。为此,您需要编辑 /etc/dnf/automatic.conf 文件。此文件包含 dnf-automatic 的配置设置。
使用您选择的文本编辑器打开此文件 −
sudo nano /etc/dnf/automatic.conf
此文件中包含许多可自定义的配置设置,以满足您的需求。目前,我们将重点介绍控制安全更新自动安装的设置。
找到 upgrade_type 设置并将其值更改为 security。这将指示 dnf-automatic 仅安装安全更新 −
upgrade_type = security
接下来,找到 apply_updates 设置并将其值更改为 yes。这将启用 dnf-automatic 自动安装安全更新 -
apply_updates = yes
最后,找到 emit_via 设置并将其值更改为 stdio。这将确保 dnf-automatic 的任何输出都发送到标准输出(即控制台),而不是记录到文件中 -
emit_via = stdio
保存并关闭文件。
测试 dnf-automatic
要测试 dnf-automatic 是否按预期工作,您可以通过运行以下命令手动触发更新检查并安装任何安全更新 -
sudo dnf-automatic
如果有任何可用的安全更新,dnf-automatic 将自动下载并安装它们。
安排 dnf-automatic
默认情况下,dnf-automatic 配置为每日检查更新并安装任何可用的更新。但是,您可以通过修改 /etc/dnf/automatic.conf 文件来自定义其行为。
要更改更新频率,您可以修改 random_sleep 设置,这是 dnf-automatic 在检查更新之前等待的最大秒数 -
random_sleep = 1440
在此示例中,dnf-automatic 将每 1440 分钟检查一次更新,即每天一次。
您还可以通过将 system_name 设置设置为 yourhostname.localdomain 来指定 dnf-automatic 在一天中的特定时间检查更新。例如 -
system_name = mycomputer.localdomain
默认情况下,dnf-automatic 会在 0 点到 23 点之间的随机时间检查更新。但是,如果您指定了主机名,dnf-automatic 将使用该主机名来确定检查更新的时间。例如,如果您的主机名是 mycomputer.localdomain,dnf-automatic 将在每天 00:00 到 00:59 之间的随机时间检查更新。
您还可以配置 dnf-automatic,使其在安装更新或更新过程中出现任何错误时发送电子邮件通知。为此,您需要修改 email_from 和 email_to 设置。
配置安全更新的电子邮件通知
首先,将 email_from 设置设置为 dnf-automatic 应用作电子邮件通知发件人的电子邮件地址 -
email_from = root@example.com
接下来,将 email_to 设置设置为应接收电子邮件通知的电子邮件地址 -
email_to = admin@example.com
保存并关闭文件。
查看 dnf-automatic 日志
dnf-automatic 将其活动记录到 /var/log/dnf.log 文件中。您可以通过运行以下命令查看 dnf-automatic 的日志 -
sudo less /var/log/dnf.log
这将在 less 分页器中显示日志,允许您滚动浏览日志并搜索特定条目。
禁用 dnf-automatic
如果您需要禁用 dnf-automatic,可以通过运行以下命令来实现 -
sudo systemctl disable dnf-automatic.timer
这将禁用 dnf-automatic 计时器,阻止其自动运行。您可以随时通过运行以下命令重新启用它 -
sudo systemctl enable dnf-automatic.timer
这将重新启用 dnf-automatic 计时器,并使其根据配置的时间表自动运行。
自定义 dnf-automatic
除了上面讨论的设置之外,您还可以在 /etc/dnf/automatic.conf 文件中自定义许多其他设置,以微调 dnf-automatic 的行为。例如,您可以通过修改排除设置来指定要从更新中排除的软件包列表,或者您可以通过修改优先级设置来指定应优先更新的软件包列表。
结论
dnf-automatic 提供了一种简单有效的解决方案,用于在 CentOS 8 和其他基于 RPM 的发行版上自动安装安全更新。通过配置 dnf-automatic 自动检查并安装更新,您可以确保您的系统始终保持最新的安全补丁,而无需手动安装更新。
在本文中,我们介绍了 dnf-automatic 的基础知识以及如何配置它以自动安装安全更新。我们还探索了 dnf-automatic 中提供的一些高级配置选项,例如调度和电子邮件通知。
通过遵循本博文中概述的步骤并根据您的需求自定义 dnf-automatic 的配置,您可以确保您的 CentOS 8 系统保持安全并安装最新的安全补丁。
相关文章
有用资源
linux 参考教程 - 该教程包含有关 linux 的更多信息:https://www.cainiaomax.com/linux/

