Red Hat Training

A Red Hat training course is available for RHEL 8

7.5. 更新软件包

yum 允许您检查您的系统是否有待处理的更新。您可以列出需要更新的软件包,并选择更新单个软件包、多个软件包或者所有软件包。如果您选择更新的软件包有依赖项,它们也会被更新。

下面的部分描述了如何使用 yum:

  • 检查更新。
  • 更新单个软件包。
  • 更新软件包组。
  • 更新所有软件包及其依赖项。
  • 应用安全更新。
  • 自动软件更新。

7.5.1. 使用 YUM 检查更新

以下流程描述了如何使用 yum 检查系统上安装的软件包的可用更新。

流程

  • 要查看您系统中安装的软件包是否有可用的更新,请使用:

    # yum check-update

    输出返回有可用更新的软件包及其依赖项列表。

7.5.2. 使用 YUM 更新单个软件包

使用以下流程通过 yum 更新单个软件包及其依赖项。

重要

在对内核应用更新时,yum 总会安装一个新内核,无论是否使用了 yum updateyum install 命令。

  • 要更新软件包,请使用:

    # yum update package-name

    使用软件包名称替换 package-name

重要

如果您在 BIOS 或 IBM Power 系统中升级 GRUB 引导装载程序软件包,请重新安装 GRUB。请参阅 重新安装 GRUB

7.5.3. 使用 YUM 更新软件包组

使用以下流程通过 yum 更新一组软件包及其依赖项。

流程

  • 要更新软件包组,请使用:

    # yum group update group-name

    使用软件包组的名称替换 group-name

重要

如果您在 BIOS 或 IBM Power 系统中升级 GRUB 引导装载程序软件包,请重新安装 GRUB。请参阅 重新安装 GRUB

7.5.4. 使用 YUM 更新所有软件包及其依赖项

使用以下流程通过 yum 更新所有软件包及其依赖项。

流程

  • 要更新所有软件包及其依赖项,请使用:

    # yum update
重要

如果您在 BIOS 或 IBM Power 系统中升级 GRUB 引导装载程序软件包,请重新安装 GRUB。请参阅 重新安装 GRUB

7.5.6. 自动化软件更新

要自动并定期检查和下载软件包更新,您可以使用 dnf-automatic 软件包提供的 DNF Automatic 工具。

DNF Automaticyum 的替代命令行界面,它适用于使用 systemd 计时器、cron 任务和其它此类工具自动和常规执行。

DNF Automatic 根据需要同步软件包元数据,然后检查可用更新。之后,该工具可以根据其配置的方式来执行以下操作之一:

  • 退出
  • 下载更新的软件包
  • 下载并应用更新

然后,通过选定的机制(如标准输出或电子邮件)报告操作的结果。

7.5.6.1. 安装 DNF Automatic

以下流程描述了如何安装 DNF Automatic 工具。

流程

  • 要安装 dnf-automatic 软件包,请使用:

    # yum install dnf-automatic

验证步骤

  • 要验证安装是否成功,请运行以下命令来确认 dnf-automatic 软件包是否存在:

    # rpm -qi dnf-automatic

7.5.6.2. DNF Automatic 配置文件

默认情况下,DNF Automatic 使用 /etc/dnf/automatic.conf 作为其配置文件来定义其行为。

配置文件被分隔为以下主题部分:

  • [commands] 部分

    设置 DNF Automatic 的操作模式。

  • [emitters] 部分

    定义如何报告 DNF Automatic 的结果。

  • [command_email] 部分

    为用来发送电子邮件的外部命令提供电子邮件发布程序配置。

  • [email] 部分

    提供电子邮件发布程序配置。

  • [base] 部分

    覆盖 yum 主配置文件中的设置。

使用 /etc/dnf/automatic.conf 文件的默认设置,DNF Automatic 会检查可用的更新,下载这些更新,并以标准输出的形式报告结果。

警告

[commands] 部分中操作模式的设置会被所有计时器单元的 systemd 定时器单元覆盖,dnf-automatic.timer 除外。

其他资源

7.5.6.3. 启用 DNF Automatic

要运行 DNF Automatic,您始终需要启用并启动特定的 systemd 计时器单元。您可以使用 dnf-automatic 软件包中提供的计时器单元,或者您可以根据需要编写您自己的计时器单元。

下面的部分论述了如何启用 DNF Automatic

先决条件

  • 您可以通过修改 /etc/dnf/automatic.conf 配置文件来指定 DNF Automatic 的行为。

有关 DNF Automatic 配置文件的更多信息,请参阅 "DNF 自动配置文件"的 2.5.6.2 部分。

流程

  • 选择、启用并启动一个符合您需要的 systemd 计时器单元:

    # systemctl enable --now <unit>

其中 <unit> 是以下计时器之一:

  • dnf-automatic-download.timer
  • dnf-automatic-install.timer
  • dnf-automatic-notifyonly.timer
  • dnf-automatic.timer

    • 下载 可用的更新,请使用:

      # systemctl enable dnf-automatic-download.timer
      # systemctl start dnf-automatic-download.timer
    • 下载并安装 可用的更新,请使用:

      # systemctl enable dnf-automatic-install.timer
      # systemctl start dnf-automatic-install.timer
    • 报告 可用的更新,请使用:

      # systemctl enable dnf-automatic-notifyonly.timer
      # systemctl start dnf-automatic-notifyonly.timer
    • 另外,您可以使用:

      # systemctl enable dnf-automatic.timer
      # systemctl start dnf-automatic.timer

就下载和应用更新而言,这个计时器单元的行为取决于 /etc/dnf/automatic.conf 配置文件中的设置。默认行为与 dnf-automatic-download.timer 类似:它会下载更新的软件包,但不安装它们。

注意

或者,您还可以从命令行或从自定义脚本,通过直接执行 /usr/bin/dnf-automatic 文件来运行 DNF Automatic

验证步骤

  • 要验证是否启用了计时器,请运行以下命令:

    # systemctl status <systemd timer unit>

其他资源

7.5.6.4. dnf-automatic 软件包中包含的 systemd 计时器单元的概述

systemd 定时器单元优先并覆盖 /etc/dnf/automatic.conf 配置文件中有关下载和应用更新的设置。

例如,如果您在 /etc/dnf/automatic.conf 配置文件中设置了以下选项,但已激活了 dnf-automatic-notifyonly.timer 单元,则软件包将不会被下载:

download_updates = yes

dnf-automatic 软件包包括以下 systemd 计时器单元:

计时器单元功能覆盖 /etc/dnf/automatic.conf 文件中的设置?

dnf-automatic-download.timer

下载软件包以便进行更新。

注: 这个计时器单元没有安装更新的软件包。要执行安装,您必须执行 dnf update 命令。

dnf-automatic-install.timer

下载并安装更新的软件包。

dnf-automatic-notifyonly.timer

仅下载存储库数据,以保持存储库缓存最新,并通知您有关可用的更新。

注: 这个计时器单元不下载或安装更新的软件包

dnf-automatic.timer

此计时器有关下载和应用更新的行为由 /etc/dnf/automatic.conf 配置文件中的设置指定。

默认行为与 dnf-automatic-download.timer 单元的行为相同:它仅下载软件包,但不安装它们。

其他资源

  • 有关 dnf-automatic 计时器的详情,请参考 man dnf-automatic 手册页。
  • 有关 /etc/dnf/automatic.conf 配置文件的更多信息,请参阅 DNF 自动配置文件