DNF是新一代的rpm软件包管理器。它首先出现在 Fedora 18 这个发行版中。而目前,它取代了yum,正式成为从 Fedora 22 起 Fedora 版本的包管理器。

DNF包管理器克服了YUM包管理器的一些瓶颈,提升了包括用户体验,内存占用,依赖分析,运行速度等多方面的内容。DNF使用 RPM, libsolv 和 hawkey 库进行包管理操作。尽管它没有预装在 CentOS 和 RHEL 7 中,但你可以在使用 YUM 的同时使用 DNF。它们之间的区别可以参考软件包管理基础:apt,yum,dnf,pkg。

DNF 的最新稳定发行版版本号是 1.0,发行日期是2015年5月11日。 这一版本的额 DNF 包管理器(包括在他之前的所有版本) 都大部分采用 Python 编写,发行许可为GPL v2。

安装 DNF 包管理器

DNF 并未默认安装在 RHEL 或 CentOS 7系统中,但是 Fedora 22 已经默认使用 DNF。

1、为了安装 DNF ,您必须先安装并启用 epel-release 依赖。

在系统中执行以下命令:

# yum install epel-release

或者

# yum install epel-release -y

其实这里并没有强制使用”-y”的理由,相反的,在不使用”-y”的情况下,用户可以在安装过程中查看到底有哪些东西被安装进了系统。但对于没有这个需求的用户,您可以在 YUM 中使用”-y”参数来自动安装所有东西。

2、使用 epel-release 依赖中的 YUM 命令来安装 DNF 包。在系统中执行以下命令:

# yum install dnf

然后, DNF 包管理器就被成功的安装到你的系统中了。

DNF常用命令

检查并升级可用软件包:

$ dnf update

删除缓存:

$dnf clean all

列出可用的软件源:

$ dnf repolist

搜索软件:

$ dnf search $package

安装软件:

$ dnf install $package

升级软件包:

$ dnf update $package

删除软件包:

$ dnf remove $package

查看更多命令:

$ dnf help

遇到不懂的地方运行 man dnf 指令就会用啦。

接下来,是时候开始我们的教程了!在这个教程中,您将会学到27个用于 DNF 包管理器的命令。使用这些命令,你可以方便有效的管理您系统中的 RPM 软件包。现在,让我们开始学习 DNF 包管理器的27条常用命令吧!

1.查看 DNF 包管理器版本

用处:该命令用于查看安装在您系统中的 DNF 包管理器的版本

# dnf –version

2.查看系统中可用的 DNF 软件库
用处:该命令用于显示系统中可用的 DNF 软件库

# dnf repolist

3.查看系统中可用和不可用的所有的 DNF 软件库
用处:该命令用于显示系统中可用和不可用的所有的 DNF 软件库
# dnf repolist all
4.列出所有 RPM 包
用处:该命令用于列出用户系统上的所有来自软件库的可用软件包和所有已经安装在系统上的软件包
# dnf list

5.列出所有安装了的 RPM 包
用处:该命令用于列出所有安装了的 RPM 包
# dnf list installed

6.列出所有可供安装的 RPM 包
用处:该命令用于列出来自所有可用软件库的可供安装的软件包
# dnf list available

7.搜索软件库中的 RPM 包
用处:当你不知道你想要安装的软件的准确名称时,你可以用该命令来搜索软件包。你需要在”search”参数后面键入软件的部分名称来搜索。(在本例中我们使用”nano”)
# dnf search nano

8.查找某一文件的提供者
用处:当你想要查看是哪个软件包提供了系统中的某一文件时,你可以使用这条命令。(在本例中,我们将查找”/bin/bash”这个文件的提供者)
# dnf provides /bin/bash

9.查看软件包详情
用处:当你想在安装某一个软件包之前查看它的详细信息时,这条命令可以帮到你。(在本例中,我们将查看”nano”这一软件包的详细信息)
# dnf info nano

10安装软件包
用处:使用该命令,系统将会自动安装对应的软件及其所需的所有依赖(在本例中,我们将用该命令安装nano软件)
# dnf install nano
11.升级软件包
用处:该命令用于升级制定软件包(在本例中,我们将用命令升级”systemd”这一软件包)
# dnf update systemd

12.检查系统软件包的更新
用处:该命令用于检查系统中所有软件包的更新
# dnf check-update
13.升级所有系统软件包
用处:该命令用于升级系统中所有有可用升级的软件包
# dnf update 或 # dnf upgrade
14.删除软件包
用处:删除系统中指定的软件包(在本例中我们将使用命令删除”nano”这一软件包)
# dnf remove nano 或 # dnf erase nano
15.删除无用孤立的软件包
用处:当没有软件再依赖它们时,某一些用于解决特定软件依赖的软件包将会变得没有存在的意义,该命令就是用来自动移除这些没用的孤立软件包。
# dnf autoremove

16.删除缓存的无用软件包
用处:在使用 DNF 的过程中,会因为各种原因在系统中残留各种过时的文件和未完成的编译工程。我们可以使用该命令来删除这些没用的垃圾文件。
# dnf clean all

17.获取有关某条命令的使用帮助
用处:该命令用于获取有关某条命令的使用帮助(包括可用于该命令的参数和该命令的用途说明)(本例中我们将使用命令获取有关命令”clean”的使用帮助)
# dnf help clean

18.查看所有的 DNF 命令及其用途
用处:该命令用于列出所有的 DNF 命令及其用途
# dnf help

19.查看 DNF 命令的执行历史
用处:您可以使用该命令来查看您系统上 DNF 命令的执行历史。通过这个手段您可以知道在自您使用 DNF 开始有什么软件被安装和卸载。
# dnf history

20.查看所有的软件包组
用处:该命令用于列出所有的软件包组
# dnf grouplist

21.安装一个软件包组
用处:该命令用于安装一个软件包组(本例中,我们将用命令安装”Educational Software”这个软件包组)
# dnf groupinstall ‘Educational Software’

22.升级一个软件包组中的软件包
用处:该命令用于升级一个软件包组中的软件包(本例中,我们将用命令升级”Educational Software”这个软件包组中的软件)
# dnf groupupdate ‘Educational Software’

23.删除一个软件包组
用处:该命令用于删除一个软件包组(本例中,我们将用命令删除”Educational Software”这个软件包组)
# dnf groupremove ‘Educational Software’

24.从特定的软件包库安装特定的软件
用处:该命令用于从特定的软件包库安装特定的软件(本例中我们将使用命令从软件包库 epel 中安装 phpmyadmin 软件包)
# dnf –enablerepo=epel install phpmyadmin
25.更新软件包到最新的稳定发行版
用处:该命令可以通过所有可用的软件源将已经安装的所有软件包更新到最新的稳定发行版
# dnf distro-sync
26.重新安装特定软件包
用处:该命令用于重新安装特定软件包(本例中,我们将使用命令重新安装”nano”这个软件包)
# dnf reinstall nano

27.回滚某个特定软件的版本
用处:该命令用于降低特定软件包的版本(如果可能的话)(本例中,我们将使用命令降低”acpid”这个软件包的版本)
# dnf downgrade acpid
样例输出:
Using metadata from Wed May 20 12:44:59 2017
No match for available package: acpid-2.0.19-5.el7.x86_64
Error: Nothing to do.
注:在执行这条命令的时候, DNF 并没有按照我期望的那样降级指定的软件(“acpid”)。该问题已经上报。
总结
DNF 包管理器作为 YUM 包管理器的升级替代品,它能自动完成更多的操作。但在我看来,正因如此,所以 DNF 包管理器不会太受那些经验老道的 Linux 系统管理者的欢迎。举例如下:
1.在 DNF 中没有 –skip-broken 命令,并且没有替代命令供选择。
2.在 DNF 中没有判断哪个包提供了指定依赖的 resolvedep 命令。
3.在 DNF 中没有用来列出某个软件依赖包的 deplist 命令。
4.当你在 DNF 中排除了某个软件库,那么该操作将会影响到你之后所有的操作,不像在 YUM 下那样,你的排除操作只会咋升级和安装软件时才起作用。

centos8软件安装dnf命令相关推荐

  1. UOS软件安装相关命令

    UOS软件安装相关命令 查看安装的所有软件 dpkg -l #查看所有已安装的软件 dpkg -l |grep xxx #查看某一个软件是否安装 查看软件的安装路径 dpkg -L xxx 查看软件版 ...

  2. cygwin用命令安装软件_软件安装、命令行、Github

    软件安装 Git bash这是一个软件,而git 只是一个命令,具体解释看下面的git的安装和配置部分 git bash 安装前下载谷歌浏览器,能fq,到官网或者百度网盘里下载 百度网盘: 链接: h ...

  3. linux软件安装卸载命令行

    国内较快开源软件镜象站点,包括Debian.Ubuntu.Fedora.Gentoo.Centos.FreeBSD.Eclipse等开源软件的镜象 http://mirrors.163.com,htt ...

  4. 系统信息 打包压缩 软件安装 其他命令

    系统信息相关命令  本节内容主要为了方便通过远程终端维护服务器时,查看服务器上当前系统日期和时间/磁盘空间占用情况/程序执行情况  本节终端命令基本都是查询命令,通过这些命令对系统资源的使用情况有所了 ...

  5. ubuntu详细教程[软件安装,命令大全,常用快捷键]

    作为一个程序猿,当从windows转到Linux上的时候,还是很不习惯的,毕竟windows用起来确实蛮方便的,但是有些时候,尤其是开发,linux却有很大的优势,学习一下linux还是有必要的. 本 ...

  6. ubuntu软件安装常用命令

    官方包源: Ubuntu – Ubuntu Packages Search ubuntu下当前安装的包保存在在:/var/cache/apt/archives ubuntu下当前安装的运用: /usr ...

  7. CentOS8软件安装总教程一

    在我看来 她仿佛代言了这整个世界的秘密 -----<言叶之庭> 目录 防火墙 JDK安装教程 Tomcat安装 Nginx安装 Redis安装 伪分布式集群 Redis测试实验 Redis ...

  8. linux显示系统信息软件下载,linux查看系统信息软件安装信息命令学习笔记

    查看LINUX安装版本 [root@localhost etc]# uname Linux [root@localhost etc]# uname -a Linux localhost.localdo ...

  9. centos 7 dnf命令的安装

    系统的版本信息如图. 因为想要在centos上安装搜狗拼音,上网搜了很多,都是从一个名为mosquito-myrepo  的私人制作的源下载的,它这个源很厉害,代码地址在此 1dot75cm/myre ...

最新文章

  1. Linux SSH和SFTP服务分离
  2. 使用Q进行同步的Promises操作
  3. php中orm模型,模型model
  4. android 自定义spnner弹出框,PopupWindow,ListView实现自定义Spinner
  5. hdu 4502 一维dp
  6. 自定义spring配置文件位置
  7. java各版本之间的差异_Java 8-13版本功能差异一览指南 - marcobehler
  8. sqlilte 判断当天日期_18个Java8处理日期的新花样,肯定没用过!
  9. CMPP3.0-超长短信
  10. 订单明细升级版、淘宝erp、淘宝打单发货接口
  11. Android状态栏禁止下拉异常分析
  12. vue构建项目对接口的调用封装
  13. OpenCV实现单目摄像头对图像目标测距
  14. html在ie浏览器中中文为什么是乱码
  15. 【资讯】2017年乌镇互联网大会,互联网大佬们齐聚首
  16. bat: %~d0 %cd% %~dp0
  17. ExecuteNonQuery()返回值注意点
  18. 3dmax 计算机中丢失,3ds Max文件损坏或丢失怎么办?
  19. 软件测试工程师涨薪攻略!3年如何达到30K!
  20. 小心了!通过一张照片我能找到你拍照的精确位置!

热门文章

  1. 一种新的杀毒方式----利用Windows PE的文件共享进行杀毒
  2. Python爬虫之美丽的汤——BeautifulSoup
  3. python常见问题:用python编写1到5阶乘之和
  4. 一文读懂RTSP协议-【RTSP协议详解】
  5. mysql把两个表语句_select语句将两个表连在一起查询---MySQL
  6. python: nonzero()函数
  7. window server 2012 r2 安装卸载sqlserver 2012
  8. 将excel中的表快速复制粘贴进word中且不变形
  9. Mac Flutter环境配置 -- error: The proxy server URL extracted from HTTP_PROXY 解决方案
  10. 闲鱼免费送可以引流吗?比较新式的引流绝佳之处