DNF
是用于替代 YUM
的软件包管理器,DNF包管理器克服了YUM包管理器的一些瓶颈,提升了包括用户体验,内存占用,依赖分析,运行速度等多方面的内容。DNF使用 RPM, libsolv 和 hawkey 库进行包管理操作。尽管它没有预装在 CentOS 和 RHEL 7 中,但你可以在使用 YUM 的同时使用 DNF 。在 CentOS 8 上已经自带安装并推荐使用。DNF
保留了大部分 YUM
命令语法和功能选项,因此过度使用完全没难度。下面是 DNF
的基本用法和命令示例。
DNF 安装及语法选项
使用 dnf --version
命令检查 DNF 有无安装。如果没有,用下面命令安装。
# CentOS 7 需先添加 EPEL 软件源 yum -y install epel-release # 安装 DNF yum -y install dnf
使用 dnf help
或 man dnf
命令查看语法格式和选项列表。
DNF 常用命令示例
以下是 DNF 主要命令用法,适合新手快速查看使用。
命令 | 作用 |
---|---|
dnf check-update |
检查可更新的软件包 |
dnf upgrade |
更新所有软件包 |
dnf upgrade <软件包名称> |
更新指定软件包 |
dnf install <软件包名称> |
安装指定软件包 |
dnf reinstall <软件包名称> |
重新安装指定软件包 |
dnf remove <软件包名称> |
删除指定软件包 |
dnf search <关键词> |
以关键词搜索软件包 |
dnf info <软件包名称> |
查看软件包详情 |
dnf repoquery --requires <软件包名称> |
查看软件包依赖 |
dnf repoquery --requires --resolve <软件包名称> |
查看满足依赖所需的额外 RPM 包 |
dnf download <软件包名称> |
下载软件包到当前目录(不安装) |
dnf list installed |
列出已安装软件包 |
dnf grouplist |
列出软件组 |
dnf groupinstall 'System Tools' |
安装指定软件组软件 |
dnf groupupdate 'System Tools' |
更新指定软件组软件 |
dnf groupremove 'System Tools' |
删除指定软件组软件 |
dnf repolist |
列出已启用的软件安装源 |
dnf repolist all |
列出所有软件安装源 |
dnf –enablerepo=<软件源名称> install <软件包名称> |
从指定软件安装源安装指定软件 |
dnf downgrade <软件包名称> |
降级指定软件包版本 |
dnf history |
查看 DNF 命令历史记录 |
dnf config-manager --add-repo example.repo |
添加 DNF 软件安装源 |
dnf config-manager --set-enabled example-repo |
启用 DNF 软件安装源 |
dnf config-manager --set-disabled example-repo |
禁用 DNF 软件安装源 |
dnf autoremove |
删除不需要的依赖项软件包 |
dnf clean all |
删除缓存数据及软件包文件 |