如何在 CentOS 和 RHEL 上检查和安装更新?

linuxoperating systemopen source

简介

保持系统更新对于维护计算机的安全性、稳定性和性能至关重要。网络犯罪分子总是在寻找操作系统和软件中的漏洞进行攻击,使您面临数据泄露、身份盗窃和其他网络威胁的风险。此外,软件更新通常包含错误修复和增强功能,以改善应用程序的功能以及与其他程序的兼容性。

因此,定期检查 CentOS/RHEL 上的更新并及时应用至关重要。在本指南中,您将学习如何使用 Yum 软件包管理器和 DNF 软件包管理器(CentOS/RHEL 发行版上两个流行的软件包管理器)来有效地管理更新。

检查更新

保持系统更新对于安全性和稳定性至关重要。检查更新是此过程的第一步。 CentOS 和 RHEL 用户可以使用两个软件包管理器 - Yum 和 DNF 检查可用更新。

使用 Yum 软件包管理器

Yum(Yellowdog Updater Modified)是一个命令行软件包管理器,可以自动解析依赖项并从软件仓库中检索软件包。它是 CentOS 6 及更早版本中的默认软件包管理器,但自 CentOS 8 起已被 DNF 取代。使用 Yum 检查更新的命令为 -

yum check-update

此命令将查询系统上已配置的软件仓库,并列出所有可用更新,并按各自的软件包分组。输出显示相关详细信息,例如软件包名称、版本、架构、存储库名称、大小和更新状态。

您可以按如下方式解读输出 -

  • "已安装"列指示您是否安装了该软件包的早期版本。

  • "可用"列包含有关系统上任何已启用存储库中可用的软件包新版本的信息。

  • 您应该关注描述中带有"安全"标签的任何更新,因为它们通常包含关键错误修复或安全补丁。

使用 DNF 软件包管理器

DNF(Dandified YUM)是 Yum 的下一代分支,它使用现代库和数据结构来提高性能、依赖项解析、并行下载和事务错误处理。从 CentOS 8 开始,它成为默认的软件包管理器,但也可以安装在更早的版本上。要使用 DNF 检查可用的更新,请运行以下命令 -

dnf check-update

此命令的输出与 Yum 的输出类似,只是软件包版本号后附加了一个冒号。冒号表示版本号,该值仅在比较不同版本的软件包版本时才有意义,因为它代表了版本控制方案。

您可以按如下方式理解 dnf check-update 的输出 -

  • "Repo"列显示每个更新由哪个仓库提供。

  • "Package"列列出了所有可用更新的软件包。

  • "Upgrade Type"列指定更新是提供新功能还是仅修复错误。

总的来说,Yum 和 DNF 都提供了一种可靠的方法来检查 CentOS 或 RHEL 系统上的可用更新。接下来,我们将了解如何安装这些更新。

安装更新

使用 Yum 软件包管理器

检查更新并确定需要更新的软件包后,就可以安装它们了。使用 Yum 软件包管理器在 CentOS 或 RHEL 上安装更新非常简单。

要使用 Yum 安装更新,请使用以下命令 -

$ sudo yum update

此命令将提示您确认是否要下载并安装可用的更新。确认后,Yum 将开始下载并安装系统更新。

此命令的输出包含每个正在下载和安装的软件包的详细信息。输出包括软件包名称、版本号、文件大小以及指示每个软件包已下载量的进度条。

使用 DNF 软件包管理器

DNF 是 CentOS 和 RHEL 系统上另一个常用的软件包管理器。要使用 DNF 安装更新,请使用以下命令 -

$ sudo dnf update

此命令将显示需要更新的软件包列表及其版本号。系统将提示您输入"y"或"n"以分别选择是否继续更新列出的软件包。

此命令的输出包含有关正在下载和安装的每个软件包的详细信息,类似于 Yum 的输出。输出包含的信息包括:正在更新的软件包的名称、其当前版本号与 yum 仓库中可用版本号(如果有)的比较,以及文件大小等其他信息。

设置自动更新

需要自动更新的原因说明

定期更新操作系统对于确保其安全高效运行至关重要。然而,手动检查并安装更新可能非常耗时。这时,自动更新就派上用场了。

通过设置自动更新,您可以确保您的 CentOS 或 RHEL 系统无需您干预即可收到所有必要的补丁和升级。这不仅节省您的时间,还能确保您的系统保持安全和最新状态。

如何使用 Yum-cron 软件包设置自动更新

yum-cron 软件包提供了一种使用 Yum 软件包管理器在 CentOS 和 RHEL 系统上设置自动更新的简单方法。要安装该软件包,请运行以下命令:

sudo yum install yum-cron

安装完成后,使用文本编辑器(例如 nano 或 vim)编辑配置文件"/etc/yum/yum-cron.conf"。修改以下选项以启用自动更新 −

apply_updates = yes 
download_updates = yes 

您还可以通过修改以下选项来指定这些更新的发生时间 -

update_cmd = default

完成后保存并关闭文件。使用以下命令启动并启用 `yum-cron` 服务 - ```

sudo systemctl start yum-cron
sudo systemctl enable yum-cron

如何使用 Dnf-automatic 软件包设置自动更新

dnf-automatic 软件包提供了类似的方法,使用 DNF 软件包管理器在 CentOS 和 RHEL 系统上设置自动更新。要安装此软件包,请运行以下命令: -

sudo dnf install -y dnf-automatic

成功安装 dnf-automatic 服务后,打开其配置文件:/etc/dnf/automatic.conf。

配置文件中需要进行一些更改。

[commands]
# 更新过程中要使用的命令 upgrade_type = default
auto_upgrade = yes [emitters]
# 如何发送电子邮件通知 email_to = root
system_name = None

还有一个文件需要修改,那就是 dnf-automatic 的计时器单元。

计时器单元定义了 dnf-automatic 服务何时将运行并实施更新。使用 vim 编辑器或任何其他您熟悉的文本编辑器打开此文件 /usr/lib/systemd/system/dnf-automatic.timer。

[Unit] Description=DNF 自动更新计时器
[Timer] OnCalendar=daily
RandomizedDelaySec=1h Persistent=true
[Install] WantedBy=timers.target

保存并退出文件。然后运行以下命令启用 timber -

sudo systemctl enable --now dnf-automatic.timer
sudo systemctl start dnf-automatic-install.timer

总结

定期更新您的 CentOS 或 RHEL 系统对于确保其安全性和最佳性能至关重要。本指南向您展示了如何使用 Yum 和 DNF 软件包管理器检查更新,以及如何使用 yum-cron 或 dnf-automatic 软件包设置自动更新。使用这些工具,您可以自动化更新过程,节省时间,并确保您的系统保持最新状态,无需任何手动干预。


相关文章


有用资源