dnf-automatic - 在 CentOS 8 中自动安装安全更新
保持软件最新对于维护系统的安全性和可靠性至关重要。对于暴露在互联网上的服务器和其他生产系统来说尤其如此,因为它们经常成为试图利用过时软件中的漏洞的恶意行为者的目标。
对于 CentOS 8 和其他基于 RPM 的发行版的用户来说,dnf 包管理器提供了一个强大的工具来管理软件包并使其保持最新。但是,手动检查和安装更新可能是一个耗时且容易出错的过程,尤其是在安装了大量软件包的系统上。
幸运的是,dnf-automatic 为这个问题提供了一个简单且自动化的解决方案。通过配置 dnf-automatic 自动检查并安装更新,您可以确保您的系统保持最新的安全补丁,而无需自己手动安装更新。
在这篇博文中,我们将探讨如何在 CentOS 8 上安装和配置 dnf-automatic,以自动在系统上安装安全更新。我们还将了解如何检查 dnf 自动日志,以及如何测试、安排和禁用它(如果需要)。
什么是 dnf 自动?
dnf-automatic 是 DNF 包管理器附带的工具,它是 CentOS 8 中的默认包管理器。它旨在自动在系统上安装更新,包括安全更新。默认情况下,dnf-automatic 配置为每天安装更新,但您可以自定义其行为以满足您的需求。
安装 dnf 自动
要在 CentOS 8 系统上安装 dnf-automatic,您可以使用以下命令 -
sudo dnf install dnf-automatic
这将安装 dnf-automatic 软件包及其依赖项。
配置 dnf 自动
安装 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-自动
要测试 dnf-automatic 是否按预期工作,您可以通过运行手动触发更新检查和安装任何安全更新 -
sudo dnf-automatic
如果有任何可用的安全更新,dnf-automatic 将自动下载并安装它们。
dnf-自动调度
默认情况下,dnf-automatic 配置为每天检查更新并安装任何可用的更新。但是,您可以通过修改 /etc/dnf/automatic.conf 文件来自定义其行为。
要更改更新频率,您可以修改 random_sleep 设置,这是 dnf-automatic 在检查更新之前等待的最大秒数 -
random_sleep = 1440
在此示例中,dnf-automatic 将每 1440 分钟检查一次更新,即每天一次。
您还可以通过将 system_name 设置设置为 yourhostname.localdomain 来指定 dnf 自动检查更新的特定时间。例如 -
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 自动
如果您需要禁用 dnf-automatic,您可以通过运行以下命令来实现 -
sudo systemctl disable dnf-automatic.timer
这将禁用 dnf 自动计时器,防止其自动运行。您可以随时通过运行以下命令重新启用它 -
sudo systemctl enable dnf-automatic.timer
这将重新启用 dnf 自动计时器并使其根据配置的时间表自动运行。
自定义 dnf-自动
除了上面讨论的设置之外,您还可以在 /etc/dnf/automatic.conf 文件中自定义许多其他设置,以微调 dnf-automatic 的行为。例如,您可以通过修改排除设置来指定要从更新中排除的软件包列表,也可以通过修改优先级设置来指定应在其他任何软件包之前更新的软件包列表。
结论
dnf-automatic 提供了一个简单有效的解决方案,用于在 CentOS 8 和其他基于 RPM 的发行版上自动安装安全更新。通过配置 dnf-automatic 自动检查并安装更新,您可以确保您的系统保持最新的安全补丁,而无需自己手动安装更新。
在本文中,我们介绍了 dnf-automatic 的基础知识以及如何配置它以自动安装安全更新。我们还探索了 dnf-automatic 中可用的一些高级配置选项,例如日程安排和电子邮件通知。
通过遵循本博客文章中概述的步骤并自定义 dnf-automatic 的配置以满足您的需求,您可以确保您的 CentOS 8 系统保持安全并使用最新的安全补丁。