dnf命令
一、什么是dnf
dnf是新一代软件包管理器,首次出现在Fedora18中,取代了yum
DNF 包管理器克服了 YUM 包管理器的一些瓶颈,提升了包括用户体验,内存占用,依赖分析,运行速度等多方面的内容。DNF使用 RPM, libsolv 和 hawkey 库进行包管理操作。尽管它没有预装在 CentOS 和 RHEL 7 中,但你可以在使用 YUM 的同时使用 DNF 。你可以在这里获得关于 DNF 的更多知识:《 DNF 代替 YUM ,你所不知道的缘由》。DNF 的最新稳定发行版版本号是 1.0,发行日期是2015年5月11日。 这一版本的额 DNF 包管理器(包括在他之前的所有版本) 都大部分采用 Python 编写,发行许可为 GPL v2.
二、dnf安装
问题:
-bash/zsh: dnf: command not found
CentOS安装:
安装 epel-release依赖:
yum install epel-release
安装DNF包
yum install dnf
Fedora安装
dnf install dnf
三、dnf命令语法
## 版本
dnf --vresion 查看DNF包管理器版本
## 帮助
dnf help dnf help <command> dnf history
## 信息查看
dnf repolist 查看系统中可用的DNF软件库 dnf search <package> 搜索软件库中的RPM包 dnf list installed 列出所有安装的rpm包 dnf list available 列出所有可安装的rpm包 dnf info <package> 查看软件包详情
dnf provides <file> 查找某一文件的提供者
## 软件包操作
dnf install <package> 安装软件包机器所需的依赖 dnf update <package> 升级软件包 dnf remove <package> 删除软件包 dnf reinstall <package> 重新安装特定软件包 dnf distro-sync 更新软件包到最新的稳定发行版
## 系统软件包
dnf check-update 检查系统所有软件包的更新 dnf update 升级所有系统软件包 dnf clean all 删除缓存的无用软件包
四、dnf命令配置文件
/etc/dnf/dnf.conf
五、dnf代理设置
proxy=http://<ip address>:<port> proxy_username=<username> proxy_password=<password>
六、dnf命令实例
使用dnf安装 卸载 control-center 命令:
sudo dnf install control-center sudo dnf remove control-center
#dnf 升级软件 sudo dnf update
#dnf 升级系统 sudo dnf upgrade
#dnf 清除 RPM 包缓存 sudo dnf clean packages
为什么要舍弃 Yum 而用 DNF?
三个方面:
Yum 没有 API 文档。这意味着开发者需要做更多的工作。Yum 开发者写一个调用函数都需要查看 Yum 的代码库,使开发变得缓慢。
Fedora 将会过渡到 Python3,但 Yum 却没有这个能力,而 DNF 既可以使用 Python2,也可以在 Python3 环境下运行。
依赖解决能力长期是 Fedora 软件包管理的阿喀硫斯之踵。DNF 使用基于 SAT 的依赖问题解决方法,与 SUSE 和 OpenSUSE 的 Zypper 类似。
参考文献:
https://commandnotfound.cn/linux/1/291/dnf-%25E5%2591%25BD%25E4%25BB%25A4