dnf软件包管理器用法收藏

新一代的RPM软件包管理器

补充说明

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”参数来自动安装所有东西。

CentOS7通过epel的yum安装dnf后,运行dnf会报以下错误:

Traceback (most recent call last):

File "/usr/bin/dnf", line 57, in <module>

from dnf.cli import main

File "/usr/lib/python2.7/site-packages/dnf/__init__.py", line 30, in <module>

import dnf.base

File "/usr/lib/python2.7/site-packages/dnf/base.py", line 29, in <module>

import libdnf.transaction

File "/usr/lib64/python2.7/site-packages/libdnf/__init__.py", line 3, in <module>

from . import conf

File "/usr/lib64/python2.7/site-packages/libdnf/conf.py", line 17, in <module>

_conf = swig_import_helper()

File "/usr/lib64/python2.7/site-packages/libdnf/conf.py", line 16, in swig_import_helper

return importlib.import_module('_conf')

File "/usr/lib64/python2.7/importlib/__init__.py", line 37, in import_module

__import__(name)

ImportError: No module named _conf

其实最主要的错误就是最后一条:ImportError: No module named _conf

github上找到解决办法:

先升级python:

yum update python*

再安装以下软件:

yum install dnf-data dnf-plugins-core libdnf-devel libdnf python2-dnf-plugin-migrate dnf-automatic
————————————————
版权声明:本文为CSDN博主「brucemiao」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/brucemiao/article/details/107250962

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

# yum install dnf

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

查看 DNF 包管理器版本

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

# dnf –version
或者# dnf –v

!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 下那样,你的排除操作只会咋升级和安装软件时才起作用。

RPM软件包管理器dnf相关推荐

  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 新一代的RPM软件包管理器

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

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

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

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

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

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

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

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

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

  8. 红帽Linux8:新一代rpm包管理器-dnf

    一.简单介绍 rpm:快速安装.卸载.升级,减少编译安装的错误. yum:解决rpm安装时候软件包之间的依赖. dnf:功能和性能上升级了yum,yum和dnf命令上是可以完全互换.同时增加了模块和程 ...

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

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

最新文章

  1. 如何管理好自己的性格?
  2. Unity 引擎UGUI之自定义树形菜单(TreeView)
  3. 浅谈Android系统进程间通信(IPC)机制Binder中的Server和Client获得Service Manager接口之路
  4. Attention注意力机制的前世今身
  5. HDU - 4394 Digital Square(数位dfs)
  6. java util map,我应该如何命名java.util.Map?
  7. 也拿baidu搜索开玩笑!
  8. 【记录】我在浙江省机器人大赛的第一天
  9. 毛发及眼球的渲染技术
  10. [转] 解决windows下eclipse中android项目关联android library project失败问题
  11. 智慧故事----每次进来看看都会有收获
  12. JavaScript中document.getElementById和document.write
  13. 什么是deployment 声明式升级应用
  14. idea添加xsd文件
  15. IM云通信行业步入快车道,融云或将和Twilio一样实现资本上市
  16. 【DM】Combating Web Spam with TrustRank - 用TrustRank对抗网络垃圾邮件
  17. 记录|小鸟云服务器搭建web服务
  18. Redis(基于狂神说Java-Redis)
  19. 3D游戏建模教程:Maya如何隐藏灯光
  20. 小程序开通直播的思路总结

热门文章

  1. 人力资源管理师等级,对应的职责和能力要求是什么
  2. 2021年安全员-B证(陕西省)复审考试及安全员-B证(陕西省)模拟考试题
  3. cpu天梯图2021最新版6月
  4. c语言里判断回文数的函数,(C语言)回文数的判断
  5. 推荐几本关于R语言的书
  6. Illustrator模仿PS蒙版绘透明变化的月亮
  7. 北京交通大学计算机系教授,北京交通大学教师名录
  8. 如何在WPS中插入图片?
  9. RewriteCond判断QUERY_STRING为空的写法?Apache Rewrite解决问号匹配的写法
  10. sqlserver 怎么查看操作记录_抖音怎么查看访问记录,访客记录在哪里看的?