本文将探讨如何过滤您可用的更新 Fedora Linux 系统按类型。 这种方式你可以选择,因为 example,仅安装安全或错误修复更新。 本文将演示在工具箱中运行 dnf 命令,而不是使用真实的 Fedora Linux 安装。
在阅读本文之前,您可能还想阅读使用 dnf updateinfo 阅读更新更改日志。
介绍
如果您一直在管理系统更新 Fedora Linux 或任何其他 GNU/Linux 发行版,您可能已经注意到,当您运行系统更新时(使用 dnf 更新,在 Fedora 工作站),您通常不会只安装安全更新。
由于 GNU/Linux 发行版中的包管理是如何工作的,通常(除了在容器中运行、在 Flatpak 或类似技术下运行的软件)您正在更新每个包,无论它是“系统”软件还是“应用程序”。
DNF 将更新分为三种类型:“安全”、“错误修复”和“增强”。 而且,正如您将看到的,DNF 允许过滤您想要操作的类型。
但是,为什么您只想更新一部分包呢?
好吧,这可能取决于您个人选择如何处理系统更新。 如果您目前对更新所有内容感到不舒服,那么将当前更新限制为仅安全更新可能是一个不错的选择。 您还可以安装错误修复更新,并且仅在未来的机会中安装增强功能和其他类型的更新。
如何过滤安全和错误修复更新
首先创建一个 Fedora Linux 34 工具箱:
toolbox create --distro fedora --release f34 updatefilter-demo
然后进入那个工具箱:
toolbox enter updatefilter-demo
从现在开始,命令可以在真实的 Fedora Linux 安装。
首先,运行 dnf check-update 以查看未过滤的软件包列表:
$ dnf check-update
audit-libs.x86_64 3.0.5-1.fc34 updates
avahi.x86_64 0.8-14.fc34 updates
avahi-libs.x86_64 0.8-14.fc34 updates
...
vim-minimal.x86_64 2:8.2.3318-1.fc34 updates
xkeyboard-config.noarch 2.33-1.fc34 updates
yum.noarch 4.8.0-1.fc34 updates
DNF 支持将要操作的更新类型作为参数传递:-security 用于安全更新,-bugfix 用于错误修复更新,–enhancement 用于增强更新。 这些适用于诸如 dnf check-update、dnf update 和 dnf updateinfo 之类的命令。
为了 example,这是您仅按安全更新过滤可用更新列表的方式:
$ dnf check-update --security
avahi.x86_64 0.8-14.fc34 updates
avahi-libs.x86_64 0.8-14.fc34 updates
curl.x86_64 7.76.1-7.fc34 updates
...
libgcrypt.x86_64 1.9.3-3.fc34 updates
nettle.x86_64 3.7.3-1.fc34 updates
perl-Encode.x86_64 4:3.12-460.fc34 updates
现在同样的事情,但仅通过错误修复更新:
$ dnf check-update --bugfix
audit-libs.x86_64 3.0.5-1.fc34 updates
ca-certificates.noarch 2021.2.50-1.0.fc34 updates
coreutils.x86_64 8.32-30.fc34 updates
...
systemd-pam.x86_64 248.7-1.fc34 updates
systemd-rpm-macros.noarch 248.7-1.fc34 updates
yum.noarch 4.8.0-1.fc34 updates
它们甚至可以组合使用,因此您可以同时使用其中的两个或多个。 为了 example,您可以过滤列表以显示安全和错误修复更新:
$ dnf check-update --security --bugfix
audit-libs.x86_64 3.0.5-1.fc34 updates
avahi.x86_64 0.8-14.fc34 updates
avahi-libs.x86_64 0.8-14.fc34 updates
...
systemd-pam.x86_64 248.7-1.fc34 updates
systemd-rpm-macros.noarch 248.7-1.fc34 updates
yum.noarch 4.8.0-1.fc34 updates
如前所述,dnf updateinfo 也适用于此过滤,因此您可以过滤 dnf updateinfo、dnf updateinfo 列表和 dnf updateinfo 信息。 为了 example,对于安全更新及其 ID 的列表:
$ dnf updateinfo list --security
FEDORA-2021-74ebf2f06f Moderate/Sec. avahi-0.8-14.fc34.x86_64
FEDORA-2021-74ebf2f06f Moderate/Sec. avahi-libs-0.8-14.fc34.x86_64
FEDORA-2021-83fdddca0f Moderate/Sec. curl-7.76.1-7.fc34.x86_64
FEDORA-2021-e14e86e40e Moderate/Sec. glibc-2.33-20.fc34.x86_64
FEDORA-2021-e14e86e40e Moderate/Sec. glibc-common-2.33-20.fc34.x86_64
FEDORA-2021-e14e86e40e Moderate/Sec. glibc-minimal-langpack-2.33-20.fc34.x86_64
FEDORA-2021-8b25e4642f Low/Sec. krb5-libs-1.19.1-14.fc34.x86_64
FEDORA-2021-83fdddca0f Moderate/Sec. libcurl-7.76.1-7.fc34.x86_64
FEDORA-2021-31fdc84207 Moderate/Sec. libgcrypt-1.9.3-3.fc34.x86_64
FEDORA-2021-d1fc0b9d32 Moderate/Sec. nettle-3.7.3-1.fc34.x86_64
FEDORA-2021-92e07de1dd Important/Sec. perl-Encode-4:3.12-460.fc34.x86_64
如果需要,您可以只安装安全更新:
# dnf update --security
================================================================================
Package Arch Version Repository Size
================================================================================
Upgrading:
avahi x86_64 0.8-14.fc34 updates 289 k
avahi-libs x86_64 0.8-14.fc34 updates 68 k
curl x86_64 7.76.1-7.fc34 updates 297 k
...
perl-Encode x86_64 4:3.12-460.fc34 updates 1.7 M
Installing weak dependencies:
glibc-langpack-en x86_64 2.33-20.fc34 updates 563 k
Transaction Summary
================================================================================
Install 1 Package
Upgrade 11 Packages
Total download size: 9.7 M
Is this ok [y/N]:
甚至在忽略增强更新的同时安装安全和错误修复更新:
# dnf update --security --bugfix
================================================================================
Package Arch Version Repo Size
================================================================================
Upgrading:
audit-libs x86_64 3.0.5-1.fc34 updates 116 k
avahi x86_64 0.8-14.fc34 updates 289 k
avahi-libs x86_64 0.8-14.fc34 updates 68 k
...
rpm-plugin-systemd-inhibit x86_64 4.16.1.3-1.fc34 fedora 23 k
shared-mime-info x86_64 2.1-2.fc34 fedora 374 k
sqlite x86_64 3.34.1-2.fc34 fedora 755 k
Transaction Summary
================================================================================
Install 11 Packages
Upgrade 45 Packages
Total download size: 32 M
Is this ok [y/N]:
仅安装特定更新
您还可以选择仅安装具有特定 ID 的更新,例如通过使用 –advisory 并指定 ID 来安装用于 avahi 的 FEDORA-2021-74ebf2f06f:
# dnf update --advisory=FEDORA-2021-74ebf2f06f
================================================================================
Package Architecture Version Repository Size
================================================================================
Upgrading:
avahi x86_64 0.8-14.fc34 updates 289 k
avahi-libs x86_64 0.8-14.fc34 updates 68 k
Transaction Summary
================================================================================
Upgrade 2 Packages
Total download size: 356 k
Is this ok [y/N]:
甚至是多次更新,带有 ‐‐咨询:
# dnf update --advisories=FEDORA-2021-74ebf2f06f,FEDORA-2021-83fdddca0f
================================================================================
Package Architecture Version Repository Size
================================================================================
Upgrading:
avahi x86_64 0.8-14.fc34 updates 289 k
avahi-libs x86_64 0.8-14.fc34 updates 68 k
curl x86_64 7.76.1-7.fc34 updates 297 k
libcurl x86_64 7.76.1-7.fc34 updates 284 k
Transaction Summary
================================================================================
Upgrade 4 Packages
Total download size: 937 k
Is this ok [y/N]:
结论
最后,这一切都取决于您个人更喜欢如何管理您的更新。 但是,无论出于何种原因,如果您只需要安装安全更新,那么这些过滤器肯定会派上用场!