补充说明

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

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 包管理器

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

查看 DNF 包管理器版本

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

# dnf –version

!Check-DNF-Version

查看系统中可用的 DNF 软件库

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

# dnf repolist

!Check-All-Enabled-Repositories

查看系统中可用和不可用的所有的 DNF 软件库

用处:该命令用于显示系统中可用和不可用的所有的 DNF 软件库

# dnf repolist all

!3

列出所有 RPM 包

用处:该命令用于列出用户系统上的所有来自软件库的可用软件包和所有已经安装在系统上的软件包

# dnf list

!4

列出所有安装了的 RPM 包

用处:该命令用于列出所有安装了的 RPM 包

# dnf list installed

!5

列出所有可供安装的 RPM 包

用处:该命令用于列出来自所有可用软件库的可供安装的软件包

# dnf list available

!6

搜索软件库中的 RPM 包

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

# dnf search nano

!7

查找某一文件的提供者

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

# dnf provides /bin/bash

!8

查看软件包详情

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

# dnf info nano

!9

安装软件包

用处:使用该命令,系统将会自动安装对应的软件及其所需的所有依赖(在本例中,我们将用该命令安装nano软件)

# dnf install nano

!10

升级软件包

用处:该命令用于升级制定软件包(在本例中,我们将用命令升级”systemd”这一软件包)

# dnf update systemd

!11

检查系统软件包的更新

用处:该命令用于检查系统中所有软件包的更新

# dnf check-update

!12

升级所有系统软件包

用处:该命令用于升级系统中所有有可用升级的软件包

# dnf update 或 # dnf upgrade

!13

删除软件包

用处:删除系统中指定的软件包(在本例中我们将使用命令删除”nano”这一软件包)

# dnf remove nano 或 # dnf erase nano

!14

删除无用孤立的软件包

用处:当没有软件再依赖它们时,某一些用于解决特定软件依赖的软件包将会变得没有存在的意义,该命令就是用来自动移除这些没用的孤立软件包。

# dnf autoremove

!15

删除缓存的无用软件包

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

# dnf clean all

!16

获取有关某条命令的使用帮助

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

# dnf help clean

!17

查看所有的 DNF 命令及其用途

用处:该命令用于列出所有的 DNF 命令及其用途

# dnf help

!18

查看 DNF 命令的执行历史

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

# dnf history

!19

查看所有的软件包组

用处:该命令用于列出所有的软件包组

# dnf grouplist

!20

安装一个软件包组

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

# dnf groupinstall ‘Educational Software’

!21

升级一个软件包组中的软件包

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

# dnf groupupdate ‘Educational Software’

!22

删除一个软件包组

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

# dnf groupremove ‘Educational Software’

!23

从特定的软件包库安装特定的软件

用处:该命令用于从特定的软件包库安装特定的软件(本例中我们将使用命令从软件包库 epel 中安装 phpmyadmin 软件包)

# dnf –enablerepo=epel install phpmyadmin

更新软件包到最新的稳定发行版

用处:该命令可以通过所有可用的软件源将已经安装的所有软件包更新到最新的稳定发行版

# dnf distro-sync

重新安装特定软件包

用处:该命令用于重新安装特定软件包(本例中,我们将使用命令重新安装”nano”这个软件包)

# dnf reinstall nano

!26

回滚某个特定软件的版本

用处:该命令用于降低特定软件包的版本(如果可能的话)(本例中,我们将使用命令降低”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”)。该问题已经上报。

总结

DNF 包管理器作为 YUM 包管理器的升级替代品,它能自动完成更多的操作。但在我看来,正因如此,所以 DNF 包管理器不会太受那些经验老道的 Linux 系统管理者的欢迎。举例如下:

  1. 在 DNF 中没有 –skip-broken 命令,并且没有替代命令供选择。
  2. 在 DNF 中没有判断哪个包提供了指定依赖的 resolvedep 命令。
  3. 在 DNF 中没有用来列出某个软件依赖包的 deplist 命令。
  4. 当你在 DNF 中排除了某个软件库,那么该操作将会影响到你之后所有的操作,不像在 YUM 下那样,你的排除操作只会咋升级和安装软件时才起作用。

dnf 新一代的RPM软件包管理器相关推荐

  1. Linux命令之 DNF -- 新一代的 RPM 软件包管理器

    文章目录 一.命令介绍 二.安装 DNF 三.DNF 命令 (一)主要命令 1. 安装.升级和删除软件包 2. 查询和检查软件包 3. 执行其它功能 (二)插件命令 四.选项参数 五.命令示例 (一) ...

  2. linux架设DNF服务器,使用linux的dnf命令新一代的RPM软件包管理器

    使用linux的dnf命令新一代的RPM软件包管理器 发布时间:2020-07-08 11:00:25 来源:亿速云 阅读:131 作者:清晨 栏目:服务器 这篇文章将为大家详细讲解有关使用linux ...

  3. dnf全部使用_dnf命令_Linux dnf 命令用法详解:新一代的RPM软件包管理器

    DNF是新一代的RPM软件包管理器.他首先出现在 Fedora 18 这个发行版中.而最近,它取代了YUM,正式成为 Fedora 22 的包管理器. DNF包管理器克服了YUM包管理器的一些瓶颈,提 ...

  4. dnf新一代RPM软件包管理器

    转载: https://wangchujiang.com/linux-command/c/dnf.html 文章目录 dnf 安装 DNF 包管理器 查看 DNF 包管理器版本 查看系统中可用的 DN ...

  5. RPM软件包管理器dnf

    dnf软件包管理器用法收藏 新一代的RPM软件包管理器 补充说明 DNF 是新一代的rpm软件包管理器.他首先出现在 Fedora 18 这个发行版中.而最近,它取代了yum,正式成为 Fedora ...

  6. linux里用dnf安装软件,Linux 软件包管理器 DNF 的使用方法

    DNF是新一代的RPM软件包管理器.他首先出现在 Fedora 18 这个发行版中,最近取代了YUM正式成为包管理器,克服了YUM包管理器的一些瓶颈,提升了包括用户体验,内存占用,依赖分析,运行速度等 ...

  7. rmp (RPM软件包管理器)

    RPM软件包管理器 英文原义:RPM Package Manager(原Red Hat Package Manager,现在是一个递归缩写) 注解:一种用于互联网下载包的打包及安装工具,它包含在某些L ...

  8. sed的高级命令和软件包管理器rpm

    一. sed的高级编辑命令  1.高级编辑命令   P:打印模式空间开端至\n内容,并追加到默认输出之前   h:把模式空间中的内容覆盖至保持空间中   H:把模式空间中的内容覆盖至保持空间中   g ...

  9. Linux不同发型版本(Debian REHL)与软件包管理器(RPM dpkg)的概念

    Linux的发行版本可以大体分为两类: Linux发行版 = Linux内核(类Unix内核) + Linux软件管理(package manager) 一类是商业公司维护的发行版本,以著名的Red ...

最新文章

  1. visual studio 自动整理代码
  2. python 系统托盘_使用 PySide 实现 Python 系统托盘图示
  3. vba循环通过键盘某个按键按下退出循环_51单片机按键检测--独立按键与矩阵键盘...
  4. 鸿蒙应用学习笔记01:搭建鸿蒙应用开发环境
  5. 全程软件测试之测试需求分析与计划(3)
  6. bug篇——generator逆向出现配置文件不存在
  7. C# string补位
  8. JavaScript--百度地图那些坑
  9. 宏转录组方法_高级转录组分析和R语言数据可视化第12期 (线上线下同时开课)
  10. 拒绝Wakelock提高续航!安卓省电优化攻略
  11. C语言结构体,共用体所占字节数计算
  12. Fllutter TabBar中文文字抖动完美解决方案
  13. 播客49:Lyle Troxell
  14. 做销售如何有效地维护好与客户的关系
  15. Cesium隐藏版权信息
  16. sklearn Gaussian Processes(高斯过程)
  17. mysql数据库读写文件
  18. 【转】LDAP入门简介
  19. Linux C++多线程编程
  20. python中用while语句求1到100的和

热门文章

  1. 两个excel表格数据比对
  2. 【前端】【JavaScript】基础知识
  3. 新型冠状病毒感染性肺炎来势汹汹,我们该如何应对?
  4. ARM base instruction -- mul
  5. 图片批量重命名/更改图片格式
  6. c语言 开灯问题,刘汝佳紫书[数组和字符串]内容总结
  7. AccessControlException SIMPLE authentication is not enabled
  8. rails pry使用_在Rails 6中使用Gritter
  9. LPWAN2.0泛在物联:“2021年度ZETA榜单”亮相第6届日本ZETA会员日活动
  10. 解决cc1plus.exe: error: out of memory allocating