文章目录

  • 15.1 搜索软件包
  • 15.2 列出软件包清单
  • 15.3 显示RPM包信息
  • 15.4 安装RPM包
  • 15.5 下载软件包
  • 15.6 删除软件包

DNF是一款Linux软件包管理工具,用于管理RPM软件包。DNF可以查询软件包信息,从指定软件库获取软件包,自动处理依赖关系以安装或卸载软件包,以及更新系统到最新可用版本。

说明:

  • DNF与YUM完全兼容,提供了YUM兼容的命令行以及为扩展和插件提供的API。
  • 使用DNF需要管理员权限,本章所有命令需要在管理员权限下执行。

使用dnf能够让您方便的进行查询、安装、删除软件包等操作。

15.1 搜索软件包

您可以使用rpm包名称、缩写或者描述搜索需要的RPM包,使用命令如下:

# dnf search term

示例如下:

[root@superman-21 ~]# dnf search lrzsz
================================================ Name Exactly Matched: lrzsz ================================================
lrzsz.x86_64 : Free x/y/zmodem implementation
lrzsz.src : Free x/y/zmodem implementation
=============================================== Name & Summary Matched: lrzsz ===============================================
lrzsz-debuginfo.x86_64 : Debug information for package lrzsz
lrzsz-debugsource.x86_64 : Debug sources for package lrzsz
[root@superman-21 ~]#

15.2 列出软件包清单

要列出系统中所有已安装的以及可用的RPM包信息,使用命令如下:

# dnf list all

例如示例命令如下:

[root@superman-21 ~]# dnf list all
OS                                                                                            42 kB/s | 3.8 kB     00:00
everything                                                                                    45 kB/s | 3.8 kB     00:00
EPOL                                                                                          37 kB/s | 3.0 kB     00:00
debuginfo                                                                                     44 kB/s | 3.8 kB     00:00
source                                                                                        45 kB/s | 3.8 kB     00:00
update                                                                                        40 kB/s | 3.5 kB     00:00
update                                                                                       6.3 MB/s |  28 MB     00:04
Installed Packages
CUnit.x86_64                                                   2.1.3-22.oe2203                                     @anaconda
ModemManager-glib.x86_64                                       1.14.8-1.oe2203                                     @anaconda
.
.
.

要列出系统中特定的RPM包信息,使用命令如下:

# dnf list glob_expression...

例如示例命令如下:

[root@superman-21 ~]# dnf list {httpd,lrzsz}
OS                                                                                            41 kB/s | 3.8 kB     00:00
everything                                                                                    45 kB/s | 3.8 kB     00:00
EPOL                                                                                          37 kB/s | 3.0 kB     00:00
debuginfo                                                                                     45 kB/s | 3.8 kB     00:00
source                                                                                        40 kB/s | 3.8 kB     00:00
update                                                                                        41 kB/s | 3.5 kB     00:00
Available Packages
httpd.src                                              2.4.51-5.oe2203                                             source
httpd.x86_64                                           2.4.51-9.oe2203                                             update
lrzsz.src                                              0.12.20-46.oe2203                                           source
lrzsz.x86_64                                           0.12.20-46.oe2203                                           OS
lrzsz.x86_64                                           0.12.20-46.oe2203                                           everything
[root@superman-21 ~]#

15.3 显示RPM包信息

要显示一个或者多个RPM包信息,使用命令如下:

# dnf info package_name...

例如示例命令如下:

[root@superman-21 ~]# dnf info httpd
Last metadata expiration check: 0:00:45 ago on 2022年12月08日 星期四 20时23分54秒.
Available Packages
Name         : httpd
Version      : 2.4.51
Release      : 5.oe2203
Architecture : src
Size         : 7.4 M
Source       : None
Repository   : source
Summary      : Apache HTTP Server
URL          : https://httpd.apache.org/
License      : ASL 2.0
Description  : Apache HTTP Server is a powerful and flexible HTTP/1.1 compliant web server.Name         : httpd
Version      : 2.4.51
Release      : 9.oe2203
Architecture : x86_64
Size         : 1.3 M
Source       : httpd-2.4.51-9.oe2203.src.rpm
Repository   : update
Summary      : Apache HTTP Server
URL          : https://httpd.apache.org/
License      : ASL 2.0
Description  : Apache HTTP Server is a powerful and flexible HTTP/1.1 compliant web server.[root@superman-21 ~]#

15.4 安装RPM包

要安装一个软件包及其所有未安装的依赖,请在root权限下执行如下命令:

# dnf install package_name

您也可以通过添加软件包名字同时安装多个软件包。配置文件/etc/dnf/dnf.conf添加参数strict=False,运行dnf命令参数添加–setopt=strict=0。请在root权限下执行如下命令:

# dnf install package_name package_name... --setopt=strict=0

例如示例命令如下:

[root@superman-21 ~]# dnf install httpd
Last metadata expiration check: 0:02:15 ago on 2022年12月08日 星期四 20时23分54秒.
Dependencies resolved.
=============================================================================================================================Package                             Architecture           Version                             Repository              Size
=============================================================================================================================
Installing:httpd                               x86_64                 2.4.51-9.oe2203                     update                 1.3 M
Installing dependencies:apr                                 x86_64                 1.7.0-4.oe2203                      OS                     110 kapr-util                            x86_64                 1.6.1-12.oe2203                     OS                     110 khttpd-filesystem                    noarch                 2.4.51-9.oe2203                     update                  11 khttpd-tools                         x86_64                 2.4.51-9.oe2203                     update                  71 kmariadb-connector-c                 x86_64                 3.1.13-2.oe2203                     update                 179 kmod_http2                           x86_64                 1.15.25-1.oe2203                    OS                     126 kTransaction Summary
=============================================================================================================================
Install  7 PackagesTotal download size: 1.9 M
Installed size: 6.2 M
Is this ok [y/N]: y
Downloading Packages:
(1/7): apr-util-1.6.1-12.oe2203.x86_64.rpm                                                   520 kB/s | 110 kB     00:00
(2/7): mod_http2-1.15.25-1.oe2203.x86_64.rpm                                                 571 kB/s | 126 kB     00:00
(3/7): apr-1.7.0-4.oe2203.x86_64.rpm                                                         485 kB/s | 110 kB     00:00
.
.
.Verifying        : httpd-filesystem-2.4.51-9.oe2203.noarch                                                             5/7 Verifying        : httpd-tools-2.4.51-9.oe2203.x86_64                                                                  6/7 Verifying        : mariadb-connector-c-3.1.13-2.oe2203.x86_64                                                          7/7 Installed:apr-1.7.0-4.oe2203.x86_64                 apr-util-1.6.1-12.oe2203.x86_64      httpd-2.4.51-9.oe2203.x86_64                httpd-filesystem-2.4.51-9.oe2203.noarch   httpd-tools-2.4.51-9.oe2203.x86_64   mariadb-connector-c-3.1.13-2.oe2203.x86_64  mod_http2-1.15.25-1.oe2203.x86_64        Complete!
[root@superman-21 ~]#

说明:

  • 安装RPM包过程中,若出现安装失败,可参考安装时出现软件包冲突、文件冲突或缺少软件包导致安装失败。
  • 请勿安装install-scipts软件包,该包仅用于imageTailor工具裁剪ISO时使用,若在openEuler系统上安装该软件包会导致系统无法启动。

15.5 下载软件包

使用dnf下载软件包,请在root权限下输入如下命令:

# dnf download package_name

例如示例命令如下:

[root@superman-21 ~]# dnf download lrzsz
Last metadata expiration check: 0:02:45 ago on 2022年12月08日 星期四 20时26分18秒.
lrzsz-0.12.20-46.oe2203.x86_64.rpm                                                           396 kB/s |  83 kB     00:00
[root@superman-21 ~]#
[root@superman-21 ~]# ls
anaconda-ks.cfg  lrzsz-0.12.20-46.oe2203.x86_64.rpm
[root@superman-21 ~]#

如果需要同时下载未安装的依赖,则加上–resolve,使用命令如下:

# dnf download --resolve package_name

示例如下:

[root@superman-21 ~]# dnf download --resolve httpd
Last metadata expiration check: 0:05:25 ago on 2022年12月08日 星期四 20时26分18秒.
[SKIPPED] httpd-2.4.51-9.oe2203.x86_64.rpm: Already downloaded
(2/7): httpd-filesystem-2.4.51-9.oe2203.noarch.rpm                                           107 kB/s |  11 kB     00:00
(3/7): httpd-tools-2.4.51-9.oe2203.x86_64.rpm                                                406 kB/s |  71 kB     00:00
(4/7): mod_http2-1.15.25-1.oe2203.x86_64.rpm                                                 552 kB/s | 126 kB     00:00
(5/7): apr-1.7.0-4.oe2203.x86_64.rpm                                                         716 kB/s | 110 kB     00:00
(6/7): apr-util-1.6.1-12.oe2203.x86_64.rpm                                                   1.2 MB/s | 110 kB     00:00
(7/7): mariadb-connector-c-3.1.13-2.oe2203.x86_64.rpm                                        1.9 MB/s | 179 kB     00:00
[root@superman-21 ~]#

15.6 删除软件包

要卸载软件包以及相关的依赖软件包,请在root权限下执行如下命令:

# dnf remove package_name...

例如示例命令如下:

[root@superman-21 ~]# dnf remove lrzsz
Dependencies resolved.
=============================================================================================================================Package                   Architecture               Version                                  Repository               Size
=============================================================================================================================
Removing:lrzsz                     x86_64                     0.12.20-46.oe2203                        @OS                     201 kTransaction Summary
=============================================================================================================================
Remove  1 PackageFreed space: 201 k
Is this ok [y/N]: y
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transactionPreparing        :                                                                                                     1/1 Erasing          : lrzsz-0.12.20-46.oe2203.x86_64                                                                      1/1 Running scriptlet: lrzsz-0.12.20-46.oe2203.x86_64                                                                      1/1 Verifying        : lrzsz-0.12.20-46.oe2203.x86_64                                                                      1/1 Removed:lrzsz-0.12.20-46.oe2203.x86_64                                                                                             Complete!
[root@superman-21 ~]#

15 openEuler使用DNF管理软件包相关推荐

  1. dnf服务端linux架设,OpenMandriva Lx 4.0 Alpha 1 发布,dnf为软件包管理器

    Cristina Sgubbi宣布推出即将推出的OpenMandriva Lx 4.0的第一个开发版本.新版本带来了包管理器的变化(转换到RPM 4和dnf),现在使用Clang 7.0编译分发. 今 ...

  2. CentOS8系统新特性(2)--dnf代替yum管理软件包

    0x1 dnf代替yum管理软件包 CentOS 8更改了软件包的安装程序,取消了 yum 的配置方法,改而使用了dnf 作为安装程序.虽然改变了软件包的安装方式,但是 dnf 还是能兼容使用 yum ...

  3. linux刀片服务器,惠普推出简化刀片服务器Linux管理软件包

    [赛迪网讯]5月15日消息, 基于去年惠普收购RLX所获得的技术,HP Control Tower软件为HP刀片服务器系统环境提供了强有力的部署及监控能力,并且拥有易于使用,可扩展等特性.另外,HP ...

  4. DNF 下载软件包而不在 Linux 上安装

    今天,我们将看看如何使用包管理器只下载 rpm 包(离线),而不需要在 Linux 上安装它们的所有依赖项. Yum 和 Dnf 包管理器用于 RedHat 发行版,即 RedHat.CentOS 和 ...

  5. 在解决方案中所使用 NuGet 管理软件包依赖

    在解决方案中所使用 NuGet 管理软件包依赖 参考文章: (1)在解决方案中所使用 NuGet 管理软件包依赖 (2)https://www.cnblogs.com/haogj/p/4468512. ...

  6. 1.15.Flink state(状态)管理与恢复、什么是state、Keyed State、Operator State、状态容错(生成快照,恢复快照),checkPoint简介,重启策略等

    1.15.Flink state(状态)管理与恢复 1.15.1.什么是state 1.15.2.状态(State) 1.15.3.Keyed State 1.15.4.Operator State ...

  7. 使用新的 apt 命令在 Ubuntu 16.04 LTS 下管理软件包

    前文 Ubuntu 16.04 新特性中 我们已经介绍过,随着 Ubuntu 16.04 LTS 的发布,Ubuntu 的软件包管理命令也发生了变化,新系统采用了 Debian 项目中所使用的 APT ...

  8. Linux命令:dpkg【dpkg命令的英文全称是“Debian package”,故名意思是Debian Linux系统用来安装、创建和管理软件包的实用工具】

    dpkg命令的英文全称是"Debian package",故名意思是Debian Linux系统用来安装.创建和管理软件包的实用工具. 语法格式 dpkg [参数] 常用参数: - ...

  9. UCA-系统工程师学习-使用dpkg管理软件包

    使用dpkg管理软件包 第一种方法当然可以上网搜索软件安装包,下载然后解压成软件. 第二种也就是我接下来要介绍的,dpkg 命令,dpkg 全称叫做debian package,想看参数可以如下: r ...

最新文章

  1. 前端/投资者能从阿里巴巴CACSC全球总决赛的项目路演中获得什么
  2. go html vue,用Go+Vue.js快速搭建一个Web应用(初级demo)
  3. 成功解决pandas.core.indexing.IndexingError: Too many indexers
  4. 【软件使用】Windows下的Objective-C集成开发环境搭建(IDE)
  5. SharePoint GridView的使用2——DataSourceView的使用
  6. 在godaddy的空间上发布使用MySql 和 Entity Framework做的网站时遇到的Security Exception...
  7. strtok_r实现方式之一
  8. 炭足迹计算机的火车好处,碳足迹与碳足迹计算器.pdf
  9. 毕业论文页码格式制作
  10. .glusterfs_如何在Ubuntu 20.04上使用GlusterFS创建冗余存储池
  11. 利用媒体云实现差异化
  12. win10有一个隐藏的超级管理员帐户,拥有全部权限,如何启用它
  13. spss三次指数平滑_15.2.2 指数平滑模型的SPSS操作(1)
  14. win10宽带连接720错误 解决办法
  15. 【云原生-DevOps】企业级DevOps平台搭建及技术选型-项目管理篇
  16. 基于Windows8与Visual Studio11开发第一个内核驱动程序
  17. LeetCode:面试题 01.02. 判定是否互为字符重排————简单
  18. l1-044. 稳赢c语言,L1-044 稳赢 (15 分)(解析有坑点)
  19. Java中怎么从控制台输入空格
  20. webstorm 怎样设置默认浏览器为Google谷歌浏览器?怎样在Google谷歌浏览器中打开网页?

热门文章

  1. 扫拖地机器人预留_米家扫拖机器人评测:能扫能拖,一次性搞定
  2. 大学计算机课程教材27页,重庆大学2020年秋季学期课程作业计算机基础题目(27页)-原创力文档...
  3. 华为服务器清除系统日志,清除服务器日志
  4. c语言判断一个数被7整除,判断某个整数a是否被7整除 c语言
  5. 21个战略性目标实例,推动你的公司快速发展
  6. MSA(Method of Successive Algorithm)算法逻辑及实例
  7. 【附源码】Python计算机毕业设计天气预报系统
  8. PS快捷键大法及个人使用心得
  9. iphone照片 heic_如何在iPhone上将照片变成“回忆”
  10. Python |(爬虫 )爬取当当网书籍信息存到Excel中