Linux系统之dnf包管理器的基本使用

article/2025/11/1 14:06:44

Linux系统之dnf包管理器的基本使用

  • 一、dnf工具介绍
    • 1. dnf工具简介
    • 2. dnf的功能
  • 二、DNF的安装
    • 1. 检查本地操作系统版本
    • 2. 安装epel
    • 3. 检查本地yum仓库状态
    • 4. 安装dnf包
  • 三、dnf的使用帮助
    • 1. 查看dnf版本
    • 2. 查看dnf命令的帮助信息
    • 3. dnf命令的选项解释
  • 四、dnf命令的基本使用
    • 1. 查询dnf软件库
    • 2.查询系统的rpm包
    • 3. 软件包的安装与卸载
    • 4. 检查系统软件包的更新
    • 5. 升级所有系统软件包
    • 6. 查看dnf命令的执行历史
    • 7. 查看所有的软件包组
    • 8. 查询软件的详细信息
  • 五、dnf命令的使用总结
    • 1. dnf命令的使用总结
    • 2. dnf与yum包管理器比较

一、dnf工具介绍

1. dnf工具简介

DNF(Dandified Yum)是Fedora Linux操作系统中的一个包管理器,它是基于Yum开发的。它的主要特点是快速、可靠、易用和优秀的用户体验。

2. dnf的功能

DNF提供了许多强大的功能和命令行工具,包括:

  • 安装和升级软件包:可以使用dnf install和dnf update命令来安装和升级软件包。

  • 查询和列出软件包:可以使用dnf search和dnf list命令来查询和列出软件包。

  • 删除软件包:可以使用dnf remove命令来删除已安装的软件包。

  • 清理系统:可以使用dnf clean命令来清理系统中的软件包缓存和元数据。

  • 版本管理:可以使用dnf history命令来查看软件包操作历史记录,并进行回滚或重做操作。

  • 软件包组管理:可以使用dnf group命令来安装、升级和删除软件包组。

  • 存储库管理:可以使用dnf repolist命令来列出系统中的存储库,并使用dnf config命令来配置存储库。

二、DNF的安装

1. 检查本地操作系统版本

检查本地操作系统版本

[root@jeven ~]# cat /etc/system-release
CentOS Linux release 7.6.1810 (Core) 

2. 安装epel

  • 配置epel,启动epel的yum仓库。
yum install epel-release -y
  • 或者使用阿里云的epel源
wget -O /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repo

3. 检查本地yum仓库状态

检查本地yum仓库状态

[root@jeven ~]# yum repolist all |grep enable 
!base/7/x86_64        CentOS-7 - Base - mirrors.aliyun.com       enabled: 10,072
epel/x86_64           Extra Packages for Enterprise Linux 7 - x8 enabled: 13,753
!extras/7/x86_64      CentOS-7 - Extras - mirrors.aliyun.com     enabled:    515
!updates/7/x86_64     CentOS-7 - Updates - mirrors.aliyun.com    enabled:  5,053

4. 安装dnf包

使用yum安装dnf包

yum install dnf -y

在这里插入图片描述

三、dnf的使用帮助

1. 查看dnf版本

查看dnf包管理器版本

[root@jeven ~]# dnf --version
4.0.9Installed: dnf-0:4.0.9.2-2.el7_9.noarch at Mon 03 Jul 2023 11:24:14 AM CSTBuilt    : CentOS BuildSystem <http://bugs.centos.org> at Wed 07 Apr 2021 03:52:38 PM CSTInstalled: rpm-0:4.11.3-48.el7_9.x86_64 at Sat 24 Jun 2023 10:08:53 PM CSTBuilt    : CentOS BuildSystem <http://bugs.centos.org> at Wed 24 Nov 2021 04:33:39 PM CST

2. 查看dnf命令的帮助信息

查看DNF在Linux的help帮助信息

[root@jeven ~]# dnf --help
usage: dnf [options] COMMANDList of Main Commands:alias                     List or create command aliases
autoremove                remove all unneeded packages that were originally installed as dependencies
check                     check for problems in the packagedb
check-update              check for available package upgrades
clean                     remove cached data
deplist                   List package's dependencies and what packages provide them
distro-sync               synchronize installed packages to the latest available versions
downgrade                 Downgrade a package
group                     display, or use, the groups information
help                      display a helpful usage message
history                   display, or use, the transaction history
info                      display details about a package or group of packages
install                   install a package or packages on your system
list                      list a package or groups of packages
makecache                 generate the metadata cache
mark                      mark or unmark installed packages as installed by user.
module                    Interact with Modules.
provides                  find what package provides the given value
reinstall                 reinstall a package
remove                    remove a package or packages from your system
repolist                  display the configured software repositories
repoquery                 search for packages matching keyword
repository-packages       run commands on top of all packages in given repository
search                    search package details for the given string
shell                     run an interactive DNF shell
swap                      run an interactive dnf mod for remove and install one spec
updateinfo                display advisories about packages
upgrade                   upgrade a package or packages on your system
upgrade-minimal           upgrade, but only 'newest' package match which fixes a problem that affects your systemOptional arguments:-c [config file], --config [config file]config file location-q, --quiet           quiet operation-v, --verbose         verbose operation--version             show DNF version and exit--installroot [path]  set install root--nodocs              do not install documentations--noplugins           disable all plugins--enableplugin [plugin]enable plugins by name--disableplugin [plugin]disable plugins by name--releasever RELEASEVERoverride the value of $releasever in config and repofiles--setopt SETOPTS      set arbitrary config and repo options--skip-broken         resolve depsolve problems by skipping packages-h, --help, --help-cmdshow command help--allowerasing        allow erasing of installed packages to resolvedependencies-b, --best            try the best available package versions intransactions.-C, --cacheonly       run entirely from system cache, don't update cache-R [minutes], --randomwait [minutes]maximum command wait time-d [debug level], --debuglevel [debug level]debugging output level--debugsolver         dumps detailed solving results into files--showduplicates      show duplicates, in repos, in list/search commands-e ERRORLEVEL, --errorlevel ERRORLEVELerror output level--obsoletes           enables dnf's obsoletes processing logic for upgradeor display capabilities that the package obsoletes forinfo, list and repoquery--rpmverbosity [debug level name]debugging output level for rpm-y, --assumeyes       automatically answer yes for all questions--assumeno            automatically answer no for all questions--enablerepo [repo]--disablerepo [repo]--repo [repo], --repoid [repo]enable just specific repositories by an id or a glob,can be specified multiple times--enable, --set-enabledenable repos with config-manager command(automatically saves)--disable, --set-disableddisable repos with config-manager command(automatically saves)-x [package], --exclude [package], --excludepkgs [package]exclude packages by name or glob--disableexcludes [repo], --disableexcludepkgs [repo]disable excludepkgs--repofrompath [repo,path]label and path to additional repository, can bespecified multiple times.--noautoremove        disable removal of dependencies that are no longerused--nogpgcheck          disable gpg signature checking (if RPM policy allows)--color COLOR         control whether color is used--refresh             set metadata as expired before running the command-4                    resolve to IPv4 addresses only-6                    resolve to IPv6 addresses only--destdir DESTDIR, --downloaddir DESTDIRset directory to copy packages to--downloadonly        only download packages--comment COMMENT     add a comment to transaction--bugfix              Include bugfix relevant packages, in updates--enhancement         Include enhancement relevant packages, in updates--newpackage          Include newpackage relevant packages, in updates--security            Include security relevant packages, in updates--advisory ADVISORY, --advisories ADVISORYInclude packages needed to fix the given advisory, inupdates--bzs BUGZILLA        Include packages needed to fix the given BZ, inupdates--cves CVES           Include packages needed to fix the given CVE, inupdates--sec-severity {Critical,Important,Moderate,Low}, --secseverity {Critical,Important,Moderate,Low}Include security relevant packages matching theseverity, in updates--forcearch ARCH      Force the use of an architecture

3. dnf命令的选项解释

dnf命令的选项解释

DNF(Dandified Yum)是Fedora、CentOS、RHEL等Linux发行版上最新的包管理工具,下面是DNF工具常用选项的解释:1. `install`:安装一个或多个软件包
2. `remove`:卸载一个或多个软件包
3. `update`:更新现有的软件包
4. `upgrade`:更新系统中所有软件包(包括依赖项)
5. `info`:查询软件包详细信息
6. `search`:搜索软件包
7. `list`:列出系统中所有已安装的软件包
8. `clean`:清除系统中的缓存
9. `check-update`:检查系统中可用的更新
10. `repository`:管理 YUM 仓库
11. `module`:管理模块
12. `group`:管理软件包组
13. `config-manager`:管理 DNF 配置文件和库
14. `version`:查看 DNF 版本信息

四、dnf命令的基本使用

1. 查询dnf软件库

  • 查看系统中可用的DNF软件库
[root@jeven ~]# dnf repolist
Extra Packages for Enterprise Linux 7 - x86_64                                                                                         6.5 MB/s |  17 MB     00:02    
CentOS-7 - Base - mirrors.aliyun.com                                                                                                   7.0 MB/s |  10 MB     00:01    
CentOS-7 - Updates - mirrors.aliyun.com                                                                                                8.2 MB/s |  27 MB     00:03    
CentOS-7 - Extras - mirrors.aliyun.com                                                                                                 978 kB/s | 332 kB     00:00    
repo id                                                      repo name                                                                                           status
base                                                         CentOS-7 - Base - mirrors.aliyun.com                                                                10,072
epel                                                         Extra Packages for Enterprise Linux 7 - x86_64                                                      13,753
extras                                                       CentOS-7 - Extras - mirrors.aliyun.com                                                                 515
updates                                                      CentOS-7 - Updates - mirrors.aliyun.com                                                              5,053
  • 查询系统中所有的 DNF软件库,包括可用于不可用的。
[root@jeven ~]# dnf repolist all
Last metadata expiration check: 0:01:45 ago on Mon 03 Jul 2023 07:32:09 PM CST.
repo id                                                repo name                                                                                        status
base                                                   CentOS-7 - Base - mirrors.aliyun.com                                                             enabled: 10,072
centosplus                                             CentOS-7 - Plus - mirrors.aliyun.com                                                             disabled
contrib                                                CentOS-7 - Contrib - mirrors.aliyun.com                                                          disabled
epel                                                   Extra Packages for Enterprise Linux 7 - x86_64                                                   enabled: 13,753
epel-debuginfo                                         Extra Packages for Enterprise Linux 7 - x86_64 - Debug                                           disabled
epel-source                                            Extra Packages for Enterprise Linux 7 - x86_64 - Source                                          disabled
extras                                                 CentOS-7 - Extras - mirrors.aliyun.com                                                           enabled:    515
updates                                                CentOS-7 - Updates - mirrors.aliyun.com                                                          enabled:  5,053

2.查询系统的rpm包

  • 查询系统中所有的软件包,该命令用于列出用户系统上的所有来自软件库的可用软件包和所有已经安装在系统上的软件包。
dnf list

在这里插入图片描述

  • 查询已经安装的rpm包
dnf list installed

在这里插入图片描述

  • 查询可供安装的 RPM 包
dnf list available
  • 搜索软件库中的某个软件包
[root@jeven ~]# dnf search fdisk
Last metadata expiration check: 0:07:32 ago on Mon 03 Jul 2023 07:32:09 PM CST.
======================================================================= Summary Matched: fdisk ========================================================================
gdisk.x86_64 : An fdisk-like partitioning tool for GPT disks
  • 查询某个命令对应的软件名
dnf provides /bin/bash

3. 软件包的安装与卸载

  • 安装软件包
dnf install tree -y

在这里插入图片描述

  • 卸载软件包
dnf remove tree -y
  • 更新软件包
dnf update tree -y

在这里插入图片描述

4. 检查系统软件包的更新

  • 使用以下命令检查系统中所有软件包的更新
dnf check-update

5. 升级所有系统软件包

使用以下命令升级系统中所有有可用升级的软件包

dnf update 或 dnf upgrade

6. 查看dnf命令的执行历史

查看DNF命令的执行历史

[root@jeven ~]# dnf history
ID     | Command line             | Date and time    | Action(s)      | Altered
-------------------------------------------------------------------------------1 | install nginx -y         | 2023-07-03 19:47 | Install        |    3   

7. 查看所有的软件包组

查看所有的软件包组

dnf grouplist
  • 安装开发包组
dnf groupinstall "Development Tools" -y

8. 查询软件的详细信息

  • 查看某个软件的详细信息
[root@jeven ~]# dnf info tree
Last metadata expiration check: 0:21:56 ago on Mon 03 Jul 2023 07:32:09 PM CST.
Installed Packages
Name         : tree
Version      : 1.6.0
Release      : 10.el7
Arch         : x86_64
Size         : 87 k
Source       : tree-1.6.0-10.el7.src.rpm
Repo         : @System
Summary      : File system tree viewer
URL          : http://mama.indstate.edu/users/ice/tree/
License      : GPLv2+
Description  : The tree utility recursively displays the contents of directories in a: tree-like format.  Tree is basically a UNIX port of the DOS tree: utility.

五、dnf命令的使用总结

1. dnf命令的使用总结

  1. 安装软件包:使用dnf install命令,后跟要安装的软件包的名称。例如,dnf install firefox安装Firefox浏览器。
  2. 升级软件包:使用dnf upgrade命令升级所有已安装的软件包。dnf upgrade package-name升级单个软件包。
  3. 搜索软件包:使用dnf search命令搜索要安装的软件包。例如,dnf search mysql搜索MySQL软件包。
  4. 删除软件包:使用dnf remove命令删除已安装的软件包。例如,dnf remove firefox删除Firefox浏览器。
  5. 列出已安装的软件包:使用dnf list installed命令列出所有已安装的软件包。
  6. 列出可用的软件包:使用dnf list available命令列出所有可用的软件包。
  7. 列出软件包的详细信息:使用dnf info package-name命令列出软件包的详细信息。
  8. 清理缓存:使用dnf clean all命令清理DNF缓存。
  9. 禁用或启用软件包仓库:使用dnf config-manager命令禁用或启用软件包仓库。例如,dnf config-manager --disable repository-name禁用软件包仓库。
  10. 检查依赖关系:使用dnf check命令检查软件包之间的依赖关系。

2. dnf与yum包管理器比较

dnf相比于yum有以下几个优点:

  • 性能更好:dnf使用了更先进的依赖关系解决算法,因此速度更快。

  • 交互性更好:dnf提供更友好的命令行交互,支持自动补全、多个软件包同时安装、更好的错误信息提示等功能。

  • 依赖关系处理更加精确:dnf可以非常准确地处理软件包之间的依赖关系,避免因为缺少依赖而导致安装失败的问题。

  • 提供更多的包信息:dnf提供更多、更详细的软件包信息,包括依赖关系、提供的功能、安装的文件以及其他相关信息。

  • 具有扩展性:dnf是基于插件架构设计的,可以方便地扩展新的功能。


http://chatgpt.dhexx.cn/article/cFABpLj5.shtml

相关文章

游戏同步

早上在翻个人博客文件夹的时候&#xff0c;发现这篇18年10月30日写完的&#xff0c;再去翻了个人博客里&#xff0c;确实没发出来。随便把当时写的手稿也发上来。 游戏同步&#xff1a;帧同步和状态同步 帧同步&#xff1a;服务器负责转化客户端的操作&#xff0c;每个客户端在…

DNF端游服务器搭建流程

DNF端游服务器搭建流程 搭载工具&#xff1a;链接&#xff1a;搭载工具 提取码&#xff1a;oszp 第一步、购买云服务器 https://cloud.tencent.com/ 根据你的需求购买合适的配置&#xff0c;自己玩的话2核2G的就够用 买好服务器后&#xff0c;找到添加规则&#xff0c;将U…

Linux yum/dnf工具

yum/dnf工具 1、yum/dnf工具简介 yum工具&#xff08;yellowdog update manager&#xff09;基于RPM进行开发。最大的优势就是能够解决rpm包的依赖问题&#xff1b;yum能够自动解决软件安装时的依赖关系。有优势就有劣势&#xff1b;yum工具也有缺点&#xff0c;如果在未完成…

FME+YOLOV7写DNF自动刷图脚本

目录 前言 一、难点分析 二、实现流程 1.DNF窗口位置获取 2.获取训练数据 3.数据标注 4.数据格式转换 5.数据训练 5.刷图逻辑编写 前言 这是一篇不务正业的研究&#xff0c;首先说明&#xff0c;这不是外挂&#xff01;这不是外挂&#xff01;这不是外挂&#xff01;这只是用a…

虚拟同步机

虚拟同步机是基于微网技术提出的一种电力电子技术&#xff0c;传统的电力电子发电设备多采用PQ控制&#xff0c;动态响应快&#xff0c;缺少类似同步电机的阻尼特性&#xff0c;从而引起电网波动等问题。故为了迎合电网特性&#xff0c;使得逆变器具有同步电机阻尼特性的技术&a…

DNF单机版搭建(局域网、外网)

【小白手册】DNF单机版搭建&#xff08;局域网、外网&#xff09; 前言单机版和局域网版教程外网搭建教程上传等级补丁上传版本文件登录器秘钥上传运行服务端&#xff08;跑五国&#xff09;登录游戏 前言 疫情居家隔离&#xff0c;闲着没事搞了一下单机版的搭建和朋友刷刷图&…

DNF游戏拆解(上)

DNF&#xff08;地下城与勇士&#xff09;是一款2D横版格斗游戏&#xff0c;由韩国游戏公司Neople开发&#xff0c;于2005年首次在韩国推出。游戏在全球范围内拥有庞大的玩家社区&#xff0c;其游戏玩法以挑战副本和战斗为主。玩家可选择不同的职业角色&#xff0c;并通过升级和…

DNF自动启停服务端备份数据

开发文档&#xff1a; 需求1&#xff1a;实现自动启停服务端&#xff0c;并判断是否成功。 需求2&#xff1a;停止服务端备份MYSQL数据&#xff0c;实现数据备份&#xff0c;为什么要停止服务端备份&#xff0c;因为热备份偶尔会出问题。 需求3&#xff1a;数据备份完成启动…

DNF台版云服务器搭建(非商用,可联机)

DNF台版云服务器搭建 该教程结合网上大佬的教程和自己搭建过程中遇到的问题所写 文章中出现的文件都将通过百度网盘分享&#xff0c;各个版本的pvf及其配套客户端需要自己寻找哦 百度网盘链接&#xff1a;链接&#xff1a;https://pan.baidu.com/s/14Az9oRvtQwWWoGv7SI0KIQ?pw…

简单的dnf增幅模拟器

简单的DNF增幅模拟器 package com.xxx;import java.util.Random;public class Equipmet {int level;int level_max;public Equipmet(){level_max0;level12;};public Equipmet(int level,int level_max){this.levellevel;this.level_maxlevel_max;};public boolean Strengthen…

脉冲同步器

verilog实现上面的电路&#xff1a; module pulse_syc( input sclk_1, input sclk_2, input p_in, output p_out, output p_out1 ); reg p_in_reg0; reg delay0,delay1,delay2; wire mux_2; assign mux_2(p_in1b1)?~p_in_reg:p_in_reg; a…

c语言答案系统,c语言练习和答案

广告 提供50多种云计算产品c语言入门经典 第5版 习题答案&#xff0c;包括云服务器和云. 创建一站式云产品试用服务&#xff0c;以帮助开发人员和企业以零门槛进入云环境. 有很多解决方法. 这只是参考. 这是一个非常经典的C编程语言输入问题. 可以通过刚才提到的循环嵌套来实现…

李含光《C语言程序设计教程》答案第六章

选择题 1-5 BBDDC 6-10 CCACD 11-15 CBCDA 16 C 填空题 常量&#xff08;0或数组名&#xff09;&#xff0c;变量地址 指针&#xff08;或地址常量&#xff09; 2 12,12 a[0],a[3] 程序阅读题 3 6 abcdefglkjih 976531 5,9 将数组a中的元素值首尾交换并存储在数组中 string_a…

郭晓利c语言答案,急求:c语言编程答案!!!

满意答案 zuoyangood 2013.08.24 采纳率&#xff1a;48% 等级&#xff1a;12 已帮助&#xff1a;12544人 1、fun(char a[],int n) //a[]中为返回的字符串 { int i0,k0; while(n>0) { kk*10n%10; nn\10; } while(k>0) { a[i]k%100; kk\10; } return; } 2、 struct N{ i…

中职一年级c语言考试试卷,一年级C语言课后习题答案.doc

一一练习&#xff0c;填写空白问题1.主功能/ main&#xff0c;主功能/ main&#xff0c;主功能/ main2. 声明部分&#xff0c;执行部分3.源程序4.5.最重要的6. 6.选择题C2. B3.4.5.6.7.7.8.9.10.1.1.2.3. 3.字母&#xff0c;数字&#xff0c;下划线&#xff0c;字母&#xff0c…

c语言行列坐标是先行后j,C语言课后习题参考答案

C 语言程序设计习题答案 习题一 C 语言程序设计概述 一、名词解释 (1)程序P1 (2)程序设计P1 (3)机器语言P1 (4)汇编程序P2 (5)高级语言P2 (6)编译程序P3 (7)解释程序P3 (8)算法P4 (9)结构化的程序设计P9 二、简述题 1. 设计程序时应遵循哪些基本原则&#xff1f;P4 答&#xff…

谭浩强C语言练习题及详细答案

本文参考 嗨客网 Java 实战 前言 本篇文章分享的是 C 语言程序设计&#xff08;谭浩强 C 语言第三版&#xff09;课后习题及答案&#xff0c;大家在学习了 C 语言程序设计后&#xff0c;做几道相关的练习题&#xff0c;复习一下该知识点&#xff0c;在学习过程中&#xff0c;觉…

王曙燕c语言答案,c语言程序设计王曙燕课后题答案

语言程衡失标志调的基本请描态平述生。 啤酒主要质等花的化学和多酚物成分酸、序设酸、。 计王酿造工艺和低按照酱油类态酱盐固油两发酵分为。评价的意景源论述义。关系资源护的开发辩证论述与保风景。质与自然学性性质不同物学的生土壤土壤有何城市生物。 作用或黄白酒酒的添加…

C语言程序设计第五版 谭浩强 第四章 课后习题 答案

谭浩强C语言程序设计第五版 第4章 课后习题 答案 点我看视频讲解可运行源码记得一键三连哦 第四章 选择结构程序设计 1. 什么是算术运算&#xff1f;什么是关系运算&#xff1f;什么是逻辑运算&#xff1f; 【答案解析】 算熟运算&#xff1a; 算术运算即“四则运算”&am…

关于javascript中的@param

param 提供了对某个函数的参数的各项说明&#xff0c;包括参数名、参数数据类型、描述等。 在前面花括号内可以写参数类型&#xff0c;后面写上你的解释 * param {参数数据类型} 参数名 描述 一般大型项目所用