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


简介

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

因此,定期检查 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”列列出所有具有可用更新的软件包。

  • “升级类型”列指定更新是否仅提供新功能或错误修复。

总的来说,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] 
# what commands to use for the update process upgrade_type = default 
auto_upgrade = yes [emitters] 
# how to send out email notifications email_to = root 
system_name = None  

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

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

[Unit] Description=DNF automatic update timer 
[Timer] OnCalendar=daily 
RandomizedDelaySec=1h Persistent=true 
[Install] WantedBy=timers.target  

保存并退出文件。然后通过运行以下命令启用定时器:

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

结论

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

更新于:2023-08-31

2K+ 阅读量

开启您的 职业生涯

通过完成课程获得认证

开始学习
广告