Linux 中的 dnf 命令 – 完整参考

DNF 命令 (Dandified yum) 是基于 RedHat 的系统的传统 YUM 包管理器的下一代版本。 它是默认的包管理器 Fedora 22、CentOS8 和 RHEL8。 它旨在替代 YUM。 它使用 RPM 和 libsolv(由 OpenSUSE 维护)进行包管理。

dnf 命令基本用法

dnf 命令的一般语法是

dnf [options] <command> [<args>...] 

可用命令包括 install, search, query, 等等。

args 可以是包名、组名或特定于“命令”的子命令。

笔记: 要安装和删除软件包,您需要有 sudo 特权。 由于我已经是 root(这不是一个好主意,但仅用于演示目的),因此我不会在任何命令前加上 sudo. 但请记住,你 必须 前置 sudo 在安装和删除软件包时。

使用 dnf 命令管理包

现在让我们看看如何使用 dnf 命令在基于 RedHat 的系统上安装/删除/查询包。

1. 使用 dnf 搜索和安装软件包

让我们使用 dnf 命令安装 TigerVNC 服务器。 但是您可能不知道包的确切名称。 最好先搜索包。

您可以使用 search 用于搜索包的 DNF 命令。

dnf search tigervnc 
DNF搜索

一旦你知道确切的包名(没有架构部分,这里是 x86_64),你可以使用 install 用于安装该软件包的 DNF 命令。

dnf install tigervnc-server 
DNF 安装 TigerVNC 服务器

2. 列出包的信息

要列出有关包的更多信息,请使用 info DNF的命令。

dnf info tigervnc-server 
DNF信息DNF信息

3. 列出已安装的包

要查看已安装软件包的列表,您可以使用 list installed DNF的命令。

dnf list installed 
已安装 Dnf 列表DNF 列出已安装的软件包

结合grep命令,可以搜索是否安装了特定的包,如下

dnf list installed | grep bash 
已安装 DnfDNF检查 bash 是否安装

如果它没有产生任何输出,则表示该软件包未安装。 在这种情况下,如果要安装软件包,请使用 dnf search 知道包的确切名称,然后 dnf install 包。

4. 删除一个包

要删除包,请使用 remove DNF的命令。

dnf remove tigervnc-server 
删除DNF 删除

要删除最初作为依赖项安装的所有不需要的包,请使用 autoremove 命令

dnf autoremove 
Dnf 自动删除DNF 自动删除

就我而言,没有不需要的依赖项。 所以跑步 autoremove 没有效果。

5.升级一个包

要升级所有可以升级的包,请使用 upgrade 命令

dnf upgrade 
DNF升级DNF升级

要升级特定的包,只需添加包的名称,例如

dnf upgrade python3-perf 
DNF升级包DNF升级包

6. 搜索和安装包组

包组只是一个名称下的多个包。 这些包组可以是整个服务器 GUI、安全工具、管理工具等。要查看组列表,您可以使用 group list DNF的命令。

dnf group list 
Dnf 组DNF 组

要知道组包中有哪些包,只需使用 group info 命令并给出包的名称。 对于“开发工具”包,输入:

dnf group info "Development Tools" 

笔记:需要附上 包含多个单词的组包名称 (” “)。 即使 Group 包名称是单个单词,也建议您使用引号。

Dnf 集团信息DNF集团信息

让我们使用以下命令安装开发工具组包 group install 命令。

dnf group install "Development Tools" 
Dnf 组安装DNF 组安装

7. 列出可用或启用的存储库

要使用 dnf 命令列出所有可用的存储库,请键入

dnf repolist all 
Dnf RepolistDNF 可用存储库

要列出所有启用的存储库,请键入

dnf repolist enabled 
Dnf 回购启用 DNF 的存储库

8. 查看安装/删除包的历史记录

有时,查看 DNF 命令历史记录是个好主意,特别是如果您想在不同的系统上重复安装。 历史可以使用 history DNF的命令。

dnf history 
历史DNF历史

9. 列出包的依赖项

要列出包的依赖项,请使用 deplist 命令。

dnf deplist vim-common 
Dnf 删除列表DNF 删除列表

结论

本教程是关于 Linux 中的 dnf 命令. 希望本文能帮助您了解 dnf 并在将来能够轻松使用该命令。 继续关注该网站,我们将在未来继续发布更多关于 Linux 的文章!