DNF命令详解

Linux DNF命令详细解析

1、概述

DNF(Dandified YUM)是一个在基于 Red Hat 的 Linux 发行版(如 Fedora、CentOS、RHEL)上用于管理软件包的包管理器。它是 YUM 的下一代版本,提供了更多功能和改进。

RHEL8中默认使用的软件批量管理工具由原版本的yum换成了速度更快的dnf,原有的yum命令仅为dnf的软链接,当然依旧可以使用的。
dnf源文件所在目录依旧为/etc/yum.repos.d/下,但官方在发布Beta版本时并没有为此系统自带源文件,需要我们自行下载准备。

[root@kwephis47629719 bin]# cat /etc/dnf/dnf.conf
[main]
gpgcheck=1
installonly_limit=3
clean_requirements_on_remove=True
best=True
skip_if_unavailable=False
sslverify=False
[root@kwephis47629719 bin]# cd /etc/yum.repos.d/
[root@kwephis47629719 yum.repos.d]# ll
total 4.0K
-rw-r--r--. 1 root root 1.7K Jan 29  2022 openEuler.repo
[root@kwephis47629719 yum.repos.d]# vi openEuler.repo
[root@kwephis47629719 yum.repos.d]# echo "" > openEuler.repo
[root@kwephis47629719 yum.repos.d]# uname -a
Linux kwephis47629719 5.10.0-60.18.0.50.oe2203.x86_64 #1 SMP Wed Mar 30 03:12:24 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
[root@kwephis47629719 yum.repos.d]# cat /etc/os-release
NAME="openEuler"
VERSION="22.03 LTS"
ID="openEuler"
VERSION_ID="22.03"
PRETTY_NAME="openEuler 22.03 LTS"
ANSI_COLOR="0;31"

[root@kwephis47629719 yum.repos.d]# vi openEuler.repo
[root@kwephis47629719 yum.repos.d]# dnf clean all
0 files removed
[root@kwephis47629719 yum.repos.d]# dnf makecache
openEuler-everything                                                                                                                                       13 MB/s |  16 MB     00:01
openEuler-epol                                                                                                                                            4.9 MB/s | 2.6 MB     00:00
openEuler-update                                                                                                                                           14 MB/s |  85 MB     00:06
Metadata cache created.
[root@kwephis47629719 yum.repos.d]#

2、dnf常用命令介绍

语法基本和之前的yum命令没啥区别。一般情况下,操作系统中会存在两个dnf命令,分别是dnf和dnf-3。

[root@kwephis47629719 etc]# dnf
dnf    dnf-3

但是本质上来说都是用的dnf-3,因为在执行文件中,dnf命令创建了软连接指向dnf-3

[root@kwephis47629719 bin]# ll | grep dnf
lrwxrwxrwx. 1 root root       22 Jan 22  2022 debuginfo-install -> /usr/libexec/dnf-utils
lrwxrwxrwx. 1 root root        5 Mar 21  2022 dnf -> dnf-3
-rwxr-xr-x. 1 root root     1.9K Mar 21  2022 dnf-3

因此,平常使用dnf进行软件包管理的时候,只需要使用dnf命令即可,简化命令。

2.1、安装命令

# 安装软件包

[root@kwephis47629719 ~]# dnf install bash-completion.noarch
Last metadata expiration check: 1:35:49 ago on Sun 17 Aug 2025 12:11:52 PM CST.
Package bash-completion-1:2.11-3.oe2203.noarch is already installed.
Dependencies resolved.
Nothing to do.
Complete!

# 重新安装

[root@kwephis47629719 ~]# dnf reinstall -y bash-completion.noarch
Last metadata expiration check: 1:36:29 ago on Sun 17 Aug 2025 12:11:52 PM CST.
Dependencies resolved.
==========================================================================================================================================================================================
 Package                                       Architecture                         Version                                          Repository                                      Size
==========================================================================================================================================================================================
Reinstalling:
 bash-completion                               noarch                               1:2.11-3.oe2203                                  openEuler-update                               259 k

Transaction Summary
==========================================================================================================================================================================================

Total download size: 259 k
Installed size: 874 k
Downloading Packages:
bash-completion-2.11-3.oe2203.noarch.rpm                                                                                                                  914 kB/s | 259 kB     00:00
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total                                                                                                                                                     909 kB/s | 259 kB     00:00
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                                                                                                                                  1/1
  Reinstalling     : bash-completion-1:2.11-3.oe2203.noarch                                                                                                                           1/2
  Cleanup          : bash-completion-1:2.11-3.oe2203.noarch                                                                                                                           2/2
  Verifying        : bash-completion-1:2.11-3.oe2203.noarch                                                                                                                           1/2
  Verifying        : bash-completion-1:2.11-3.oe2203.noarch                                                                                                                           2/2

Reinstalled:
  bash-completion-1:2.11-3.oe2203.noarch

Complete!

2.2、更新软件包

# 更新单个软件包
dnf update -y packagename
# 更新所有软件包
dnf update

2.3、删除软件包

# 删除软件包
dnf remove

# 删除不需要的依赖项
dnf autoremove

2.4、查询操作

# 查询软件包
dnf search 关键字
[root@kwephis47629719 ~]# dnf search bash
# 查询所有已经安装的软件包
dnf list installed
或者
dnf list installed | grep bash
[root@kwephis47629719 ~]# dnf list installed | grep bash
bash.x86_64                                       5.1.8-6.oe2203               @openEuler-update
bash-completion.noarch                            1:2.11-3.oe2203              @openEuler-update
libvirt-bash-completion.x86_64                    6.2.0-64.oe2203              @openEuler-update

另外还有一些常用的查询操作,可以根据需要灵活选择。

# 列出所有可用软件包
dnf list available

# 显示软件包信息
dnf info

# 查看软件包提供的文件
dnf provides

2.4、dnf 常用选项

选项说明
-y自动回答"yes"
-q安静模式,减少输出
-v详细输出
--refresh在操作前刷新仓库元数据
--nogpgcheck禁用 GPG 签名检查
--skip-broken跳过有问题的软件包
--best尝试安装最佳可用版本

3、dnf配置文件

dnf 的主要配置文件位于 /etc/dnf/dnf.conf,常见的配置项包括:

[main]
gpgcheck=1          # 是否检查GPG签名
installonly_limit=3 # 保留的内核版本数量
clean_requirements_on_remove=True # 删除时清理依赖
best=True           # 总是尝试安装最佳版本

dnf的配置文件跟yum的配置文件配置内容相同,一般修改了yum.conf配置文件,dnf.conf文件就自动修改了,因为yum.conf文件是一个软链接文件

[root@kwephis47629719 ~]# ll /etc/yum.conf
lrwxrwxrwx 1 root root 12 Sep  6  2023 /etc/yum.conf -> dnf/dnf.conf
[root@kwephis47629719 ~]#

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值