新一代的RPM软件包管理器。DNF 发行日期是2015年5月11日,DNF 包管理器采 用Python 编写,发行许可为GPL v2,首先出如今Fedora 18 发行版中。在 RHEL 8.0 版本正式 取代了 YUM,DNF包管理器克服了YUM包管理器的一些瓶颈,提高了包括用户体验,内存占用, 依赖分析,运行速度等
注意:DNF 并未默认安装在 RHEL 或 CentOS 7系统中,可是 Fedora 22 已经默认使用 DNFphp
- 配置文件:/etc/dnf/dnf.conf
- 仓库文件:/etc/yum.repos.d/ *.repo
- 日志: /var/log/dnf.rpm.log,/var/log/dnf.log
dnf --version
dnf repolist
dnf install httpd
dnf remove httpd
dnf clean all
dnf makecache
dnf list installed
dnf list available
dnf search nano
dnf history undo 1 缓存
- 一、为了安装 DNF ,必须先安装并启用 epel-release 依赖
yum install epel-release
或者
#yum install epel-release -y
其实这里并无强制使用”-y”的理由,相反的,在不使用”-y”的状况下,用户能够在安装过程当中查看到底有哪些东西被安装进了系统。但对于没有这个需求的用户,可使用”-y”参数来自动安装全部东西。- 二、使用 epel-release 依赖中的 YUM 命令来安装 DNF 包。在系统中执行如下命令
yum install dnf- 安装完成
查看安装在系统中的DNF包管理器的版本
#dnf –version
查看系统中可用的 DNF 软件库
#dnf repolist
显示系统中可用和不可用的全部的 DNF 软件库
#dnf repolist all
列出全部RPM包
#dnf list
列出全部安装了的 RPM包
#dnf list installed
列出全部可供安装的RPM包
#dnf list available
搜索软件库中的 RPM 包:不知道想要安装的软件的准确名称时,能够用该命令来搜索软件包。须要在”search”参数后面键入软件的部分名称来搜索。(在本例中使用”nano”)
#dnf search nano
查找某一文件的提供者:想要查看是哪一个软件包提供了系统中的某一文件时,可使用这条命令。(在本例中,查找”/bin/bash”这个文件的提供者)
#dnf provides /bin/bash
查看软件包详情
#dnf info nano
安装软件包:系统将会自动安装对应的软件及其所需的全部依赖(在本例中,安装nano软件)
#dnf install nano
升级软件包(在本例中,升级”systemd”这一软件包)
#dnf update systemd
检查系统全部软件包的更新
#dnf check-update
升级全部系统软件包
#dnf update 或 # dnf upgrade
删除软件包(在本例删除”nano”这一软件包)
#dnf remove nano 或 #dnf erase nano
删除无用孤立的软件包
#dnf autoremovebash
删除缓存的无用软件包
#dnf clean all
获取有关某条命令的使用帮助(本例中获取有关命令”clean”的使用帮助)
#dnf help clean
查看全部的DNF命令及其用途
#dnf help
查看DNF命令的执行历史
#dnf history
查看全部的软件包组
#dnf grouplist
安装一个软件包组(本例中,安装”Educational Software”这个软件包组)
#dnf groupinstall ‘Educational Software’
升级一个软件包组中的软件包(本例中,升级”Educational Software”这个软件包组中的软件)
#dnf groupupdate ‘Educational Software’
删除一个软件包组(本例中,删除”Educational Software”这个软件包组)
#dnf groupremove ‘Educational Software’
从特定的软件包库安装特定的软件(本例中从软件包库 epel 中安装 phpmyadmin 软件包)
#dnf –enablerepo=epel install phpmyadmin
更新软件包到最新的稳定发行版
#dnf distro-sync
从新安装特定软件包(本例中,从新安装”nano”这个软件包)
#dnf reinstall nano
回滚某个特定软件的版本(本例中,下降”acpid”这个软件包的版本)
#dnf downgrade acpid
样例输出:
Using metadata from Wed May 20 12:44:59 2015
No match for available package: acpid-2.0.19-5.el7.x86_64
Error: Nothing to do.
在执行这条命令的时候, DNF 并无按照我指望的那样降级指定的软件(“acpid”)。该问题已经上报ide