DNF 是新一代的PMR软件包管理器,是 Yum包管理器的升级版。 DNF 使用 RPM, libsolv 和 hawkey 库进行包管理操作。

Yum是使用RPM软件包管理器的Linux操作系统的免费开放源代码命令行软件包管理应用程序。
Yum是rpm的前端工具,可自动解决软件包的依赖性。它从发行官方存储库和其他第三方存储库安装RPM软件包。

DNF 常用命令

dnf list                                         # DNF列表

dnf list installed                           # 列出所有安装的RPM包

dnf help                                       # DNF命令帮助
dnf history                                   # 查看DNF命令执行历史
dnf repolist                                  # 查看系统中可使用的DNF软件库
dnf info <package>                     # 查看软件包详细信息

dnf  clean all
dnf makecache

dnf install <package>                  # 安装软件包及其所需的所有依赖

dnf download $package              # 只下载软件包,不安装

dnf update <package>                # 升级软件包
dnf remove <package>               # 删除软件包
dnf reinstall <package>              # 重新安装特定软件包
dnf distro-sync                            # 更新软件包到最新的稳定发行版

显示版本号

[root@ecs-209716 ~]# dnf --version
4.7.0
  Installed: dnf-0:4.7.0-4.el8.noarch at Mon 14 Feb 2022 01:02:53 AM GMT
  Built    : CentOS Buildsys <bugs@centos.org> at Fri 17 Sep 2021 07:06:14 PM GMT

Installed: rpm-0:4.14.3-19.el8.x86_64 at Mon 14 Feb 2022 01:02:19 AM GMT
  Built    : CentOS Buildsys <bugs@centos.org> at Fri 15 Oct 2021 05:46:55 PM GMT

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

[root@ecs-209716 ~]# dnf repolist
repo id                                                       repo name
AppStream                                        CentOS-8.5.2111 - AppStream - mirrors.aliyun.com
base                                                  CentOS-8.5.2111 - Base - mirrors.aliyun.com
epel-archive                                      Extra Packages for Enterprise Linux 8 - x86_64
extras                                                CentOS-8.5.2111 - Extras - mirrors.aliyun.com
mysql-connectors-community           MySQL Connectors Community
mysql-tools-community                     MySQL Tools Community
mysql80-community                          MySQL 8.0 Community Server

显示 epel 仓库的信息

[xxx@ecs-209716 yum.repos.d]$ dnf repolist epel
Repository extras is listed more than once in the configuration
repo id                               repo name                                                                     status
epel                         Extra Packages for Enterprise Linux 8 - x86_64                    enabled

更新仓库后,清除缓存

[root@ecs-209716 ~]# dnf  clean all
84 files removed
[root@ecs-209716 ~]# dnf makecache
CentOS-8.5.2111 - Base - mirrors.aliyun.com                               2.7 MB/s | 4.6 MB     00:01    
CentOS-8.5.2111 - Extras - mirrors.aliyun.com                              87 kB/s |  10 kB     00:00    
CentOS-8.5.2111 - AppStream - mirrors.aliyun.com                   2.1 MB/s | 8.4 MB     00:03    
CentOS Linux 8 - AppStream                                                    6.7 MB/s | 8.4 MB     00:01    
Extra Packages for Enterprise Linux 8 - x86_64                          709 kB/s |  13 MB     00:19    
Extra Packages for Enterprise Linux 8 - x86_64                           2.7 MB/s | 6.4 MB     00:02    
MySQL 8.0 Community Server                                                 274 kB/s | 2.5 MB     00:09    
MySQL Connectors Community                                                 26 kB/s |  84 kB     00:03    
MySQL Tools Community                                                         117 kB/s | 583 kB     00:04    
Metadata cache created.

软件卸载

[root@ecs-209716 ~]# dnf remove wget

软件安装

[root@ecs-209716 ~]# dnf install wget

Last metadata expiration check: 0:17:25 ago on Fri 16 Dec 2022 12:24:14 PM CST.
Dependencies resolved.
====================================================================
 Package                     Architecture           Version                       Repository                 Size
====================================================================
Installing:
 wget                        x86_64                 1.19.5-10.el8                 AppStream                 734 k
Installing dependencies:
 libmetalink                 x86_64                 0.1.3-7.el8                   base                       32 k

Transaction Summary
====================================================================
Install  2 Packages

Total download size: 766 k
Installed size: 2.8 M
Is this ok [y/N]: y
Downloading Packages:

module

一个软件可以有多个版本,每个版本对应一个stream. 在每个stream内部,又分为proile对应到安装场景(比如开发, server, client)。

使用中的要点

如果module有多个stream(版本),会有一个是默认的, 在dnf命令输出里面在stream name后用[d]表示

如果某个stream有多个profiles, 会有一个默认的,在dnf命令输出里面在profile name后用[d]表示

显示 安装模块

dnf module list php
Last metadata expiration check: 3:01:01 ago on Fri 16 Dec 2022 09:23:04 AM CST.
CentOS-8.5.2111 - AppStream - mirrors.aliyun.com
Name          Stream               Profiles                                             Summary                            
php               7.2 [d]          common [d], devel, minimal             PHP scripting language             
php               7.3               common [d], devel, minimal             PHP scripting language             
php               7.4               common [d], devel, minimal             PHP scripting language

Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled

解读:php module 有 3个stream(对应3个版本),默认安装的是 7.2 ,7.2 这个stream只有一个profile “common”, 它也是默认安装的profile

$ sudo dnf module list nginx
Red Hat Enterprise Linux 8 for x86_64 - AppStream (RPMs)
Name                 Stream                      Profiles                           Summary                          
nginx                    1.14 [d]                  common [d]                    nginx webserver                  
nginx                    1.16                       common [d]                    nginx webserver                  
nginx                    1.18                       common [d]                    nginx webserver                  
nginx                    1.20                       common [d]                    nginx webserver

Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled
————————————————
nginx module 有4个 stream(对应4个版本),默认安装的是1.14,1.14这个stream只有一个profile “common”, 它也是默认安装的profile

常用的库

EPEL 是 Extra Package For Enterprise Linux 的简写,是由 Fedora 项目组为 RHEL & CentOS 提供的第三方扩展包服务。

下载 最新

sudo dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm

REMI 是一个专为 RedHat 操作系统提供 PHP 各个版本支持的第三方数据源。

下载 最新

sudo dnf install -y https://rpms.remirepo.net/enterprise/remi-release-8.rpm

错误处理

1、 dnf update 时仓库 出错

Error: Failed to download metadata for repo 'appstream': Cannot prepare internal mirrorlist: No URLs in mirrorlist

原因 :2020 年 12 月 8 号,CentOS 官方宣布了停止维护 CentOS Linux 的计划,并推出了 CentOS Stream 项目,CentOS Linux 8 作为 RHEL 8 的复刻版本,生命周期缩短,于 2021 年 12 月 31 日停止更新并停止维护(EOL),更多的信息可以查看 CentOS 官方公告。如果需要更新 CentOS,需要将镜像从 mirror.centos.org 更改为 vault.centos.org

修改

cd /etc/yum.repos.d/

sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*
sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*

dnf update

CentOS 8 的 DNF 命令使用相关推荐

  1. CentOS 8通过DNF命令安装最新版的LNMP(Linux+Nginx+MariaDB+PHP)

    今天给大家讲解下如何安装LNMP ,首先呢我们要知道上面是DNF命令是什么. DNF是什么? YUM是什么? DNF和YUM的区别,为什么用DNF代替YUM? 安装Nginx 安装PHP7.4 安装M ...

  2. centos 7 dnf命令的安装

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

  3. CentOS 8软件包管理命令DNF

    要求 安装DNF 列出已安装和可用的软件包 搜索并安装软件包 更新系统软件包 列出并安装组软件包 列出资料库 删除包裹 结论 DNF代表Dandified YUM是基于RPM的Linux发行版的软件包 ...

  4. centos dnf命令原始源安装mysql成功案例

    centos dnf命令原始源安装mysql成功案例 在 CentOS 9 Stream 上安装 MySQL 全程使用root身份 第 1 步.首先,让我们首先确保您的系统是最新的. dnf clea ...

  5. dnf命令 (常用总结)

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

  6. 在Linux中用于RPM包管理的‘DNF‘命令

    DNF即Dandified YUM是用于基于RPM发行版的下一代包管理器.首先在Fedora 18中引入它,并且它已经在Fedora 22发行版中替代了YUM工具.DNF以改进YUM瓶颈为目标,即:性 ...

  7. linux怎么运行dnf,dnf命令 - Linux命令大全 | linux教程

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

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

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

  9. DNF命令教程:基于RPM的下一代软件包管理器

    DNF是基于RPM的下一代软件包管理器,于Fedora 18中首次引入,并在Fedora 22版本中取代了yum命令.本文将介绍如何使用DNF进行软件包管理. 1 常用的dnf命令 1.下载软件包 使 ...

最新文章

  1. 13Flyweight(享元)模式
  2. Spartan-6的I/O时钟缓冲器
  3. 北斗导航 | 北斗RDSS短报文通信及定位原理(RD双星定位、通信与授时、附代码)
  4. 了解cron以及使用cron定时备份MySQL
  5. ns2相关学习——tcl脚本编写(1)
  6. 【七】Java面向对象
  7. java代码执行linux命令_怎么用java代码运行linux命令
  8. 手机越“清理”越卡顿,清理软件“坑”过你吗?
  9. linq To Xml 用法简介
  10. html的hello,world
  11. 【caffe】Layer解读之:Date
  12. 基于STM32移植UCGUI图形界面框架(3.9.0源码版本)
  13. LaTeX排版_jlreq模板_文库本(A6)竖版
  14. 安卓源码目录最全解析
  15. 我的世界mod服务器详细搭建
  16. python时间计算天数差
  17. 近几年Linux TCP相关的漏洞被夸大了
  18. CAD批量打图精灵入门教程--CAD批量打印、CAD批量转PDF
  19. payjs 源码_第三方支付平台源码,仿支付宝
  20. python 画图时各种颜色代码

热门文章

  1. Worthington丨Worthington胰蛋白酶化学性质及相关研究
  2. 重庆电力高等专科学校计算机专业就业怎么样,客观评价:重庆航天职业学院和重庆电力高专哪所好?...
  3. 学习笔记(01):教你玩转HTML(html5)h5网页设计,网站开发-浏览
  4. 程序员如何应对HR灵魂拷问
  5. 小白必看!java培训机构加盟店排行榜
  6. 登录、注册的用户名去空格
  7. PAT (Advanced Level) Practise 1013. Battle Over Cities (25)
  8. Icon之线性图标设计指南
  9. 登录Oracle数据库报错,ERROR:ORA-12560: TNS:协议适配器错误,怎么解决?
  10. ios动态下载多种中文字体