7.5. 更新软件包
yum 允许您检查您的系统是否有待处理的更新。您可以列出需要更新的软件包,并选择更新单个软件包、多个软件包或者所有软件包。如果您选择更新的软件包有依赖项,它们也会被更新。
下面的部分描述了如何使用 yum:
- 检查更新。
- 更新单个软件包。
- 更新软件包组。
- 更新所有软件包及其依赖项。
- 应用安全更新。
- 自动软件更新。
7.5.1. 使用 YUM 检查更新
以下流程描述了如何使用 yum
检查系统上安装的软件包的可用更新。
流程
要查看您系统中安装的软件包是否有可用的更新,请使用:
# yum check-update
输出返回有可用更新的软件包及其依赖项列表。
7.5.2. 使用 YUM 更新单个软件包
使用以下流程通过 yum
更新单个软件包及其依赖项。
在对内核应用更新时,yum 总会安装一个新内核,无论是否使用了 yum update
或 yum 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 Automatic 是 yum 的替代命令行界面,它适用于使用 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
除外。
其他资源
- 如需具体部分的详情,请参阅 DNF Automatic 文档。
-
有关 systemd 计时器单元的详情,请查看
man dnf-automatic
手册页。 -
有关
dnf-automatic 软件包
中包含的 systemd 计时器单元的概述,请参阅 dnf-automatic 软件包中所含 的systemd 计时器单元的概述 部分 dnf-automatic 软件包中所含 的systemd 计时器单元的概述
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>
其他资源
-
有关 dnf-automatic 计时器的详情,请参考
man dnf-automatic
手册页。 -
有关
dnf-automatic
软件包中所含的 systemd 计时器单元的概述,请参阅 dnf-automatic 软件包中所含的 systemd 计时器单元的概述 部分
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
计时器的详情,请参考man dnf-automatic
手册页。 -
有关
/etc/dnf/automatic.conf
配置文件的更多信息,请参阅 DNF 自动配置文件