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

news2024/12/26 11:36:09

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.9
  Installed: dnf-0:4.0.9.2-2.el7_9.noarch at Mon 03 Jul 2023 11:24:14 AM CST
  Built    : CentOS BuildSystem <http://bugs.centos.org> at Wed 07 Apr 2021 03:52:38 PM CST

  Installed: rpm-0:4.11.3-48.el7_9.x86_64 at Sat 24 Jun 2023 10:08:53 PM CST
  Built    : 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] COMMAND

List 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 system

Optional 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 RELEASEVER
                        override the value of $releasever in config and repo
                        files
  --setopt SETOPTS      set arbitrary config and repo options
  --skip-broken         resolve depsolve problems by skipping packages
  -h, --help, --help-cmd
                        show command help
  --allowerasing        allow erasing of installed packages to resolve
                        dependencies
  -b, --best            try the best available package versions in
                        transactions.
  -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 ERRORLEVEL
                        error output level
  --obsoletes           enables dnf's obsoletes processing logic for upgrade
                        or display capabilities that the package obsoletes for
                        info, 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-enabled
                        enable repos with config-manager command
                        (automatically saves)
  --disable, --set-disabled
                        disable 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 be
                        specified multiple times.
  --noautoremove        disable removal of dependencies that are no longer
                        used
  --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 DESTDIR
                        set 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 ADVISORY
                        Include packages needed to fix the given advisory, in
                        updates
  --bzs BUGZILLA        Include packages needed to fix the given BZ, in
                        updates
  --cves CVES           Include packages needed to fix the given CVE, in
                        updates
  --sec-severity {Critical,Important,Moderate,Low}, --secseverity {Critical,Important,Moderate,Low}
                        Include security relevant packages matching the
                        severity, 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://www.coloradmin.cn/o/715497.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

浅谈Unicode与UTF-8

我们都知道&#xff0c;在Golang中字符都是以UTF-8编码的形式存储&#xff0c;当我们使用range遍历字符串的时候&#xff0c;go会为我们取出一个字符(rune)而不是一个byte&#xff0c;例如以下例子&#xff0c;我们使用range迭代取出第一个字符“你”&#xff0c;并且打印输出取…

TechSmith Camtasia for Mac 2023.0.3 中文破解版 Win/Mac上强大的屏幕录像工具

Camtasia 是Win/Mac上最强大的屏幕录像工具之一&#xff0c;该软件集成了视频录制、编辑、导出等一系列功能&#xff0c;支持鼠标光标样式、草绘示意插图、冰冻区域等实用的功能&#xff0c;还具有移动客户端让你录制视频&#xff0c;然后通过无线传输到 Camtasia 中进行编辑&a…

判断数组中所有元素是否均为实数对象 numpy.isrealobj()

【小白从小学Python、C、Java】 【计算机等级考试500强双证书】 【Python-数据分析】 判断数组中所有元素 是否均为实数对象 numpy.isrealobj() [太阳]选择题 请问关于以下代码的说法错误的是&#xff1f; import numpy as np a np.array([1, 2, 3]) b np.array([1, 1 2j, …

剑指 Offer 19: 正则表达式匹配

可能存在一个现象&#xff0c;就是aaab&#xff0c;然后a*ab&#xff0c;那么这样*只能代表一个a。 这道题可以使用动态规划的方式来解决。 这道题就是状态的判断&#xff1a;是否两个都为0&#xff1f;只有两个都为0才为true&#xff0c;并且判断*&#xff0c;有两个情况&…

Docker WebRTC容器部署方案

文章目录 WebRTC简介WebRTC Docker容器部署优势方案&#xff08;mpromonet/webrtc-streamer&#xff09;步骤 WebRTC简介 WebRTC&#xff08;Web Real-Time Communication&#xff09;是一种开放的实时通信技术&#xff0c;它允许浏览器之间进行音频、视频和数据的实时传输。W…

从古代八卦探究计算机的八进制

八进制&#xff0c;即八卦&#xff0c;是中国古代哲学体系中非常重要的一个概念&#xff0c;它被广泛应用于易经、道家、儒家等诸多领域。随着计算机科学的快速发展&#xff0c;人们开始思考&#xff1a;八进制是否可以应用到计算机上&#xff1f; 一、什么是八进制&#xff1…

Javaee技术目的总结

一.前节回顾 在前一节中&#xff0c;我们了解了&#xff1a; 1.将中央控制器中的Action容器&#xff0c;变成可控制! 2.针对于反射调用业务代码&#xff0c;最终页面跳转 3.jsp页面参数传递后台的代码优化字段太多有影响&#xff01; 二.项目部署前期准备工作 1.项目运行环境…

c语言 va_start/va_end函数

c语言 va_satrt和va_end函数介绍 头文件&#xff1a;#include <stdarg.h> 函数原型&#xff1a;void va_start(va_list ap, last) 和 void va_end(va_list ap); 可以被参数数量和类型可变的函数调用。 可变参数用…&#xff08;3个省略号表示可变参数列表&#xff09; …

深入理解 http 反向代理

要理解什么是 反向代理(reverse proxy) , 自然你得先知道什么是 正向代理(forward proxy). 另外需要说的是, 一般提到反向代理, 通常是指 http 反向代理, 但反向代理的范围可以更大, 比如 tcp 反向代理, 在这里, 不打算讨论 tcp 之类的反向代理, 当文中说到反向代理时, 指的就是…

C++day5

2、 #include <iostream> using namespace std; static int blood 10000; class hero { protected:string name;int hp;int attack; public:hero(){}//无参构造hero(string name,int hp,int attack):name(name),hp(hp),attack(attack){}//有参构造virtual void Atk(){b…

使用supervisor管理进程

写目录 一、supervisor简介二 、supervisor安装2.1下载supervisor2.2配置文件详解2.3把squid服务加入到supervisor管理当中 一、supervisor简介 supervisor是Python开发的c/s服务&#xff0c;是Linux系统下的进程管理工具。可以监听、启动、停止、重启一个或多个进程用supervi…

卡尔曼滤波原理和使用

随着传感技术&#xff0c;机器人&#xff0c;自动驾驶等不断发展&#xff0c;对控制系统的精度以及稳定性要求越来越高。卡尔曼滤波作为一种状态最优估计方法&#xff0c;应用也越来越普遍、 对于Kalman Filter的理解&#xff0c;用过都知道“黄金五条”公式&#xff0c;且通过…

pytorch实战13:基于pytorch实现YOLOv1(长长文)

基于pytorch实现YOLOv1&#xff08;长长文&#xff09; 前言 ​ 本篇文章的目的是记录自己实现yolo v1的过程&#xff0c;在此过程中&#xff0c;参考了许多开源的代码和博客&#xff0c;赞美大佬们。 参考文献和代码 YOLO v1代码参考&#xff1a;&#xff08;读书人的事情&…

华为OD机试真题 Python 实现【猜字谜】【2023Q1 100分】,附详细解题思路

目录 一、题目描述二、输入描述三、输出描述补充说明:四、解题思路五、Python算法源码六、效果展示1、输入2、输出3、说明一、题目描述 小王设计了一人简单的清字谈游戏,游戏的迷面是一人错误的单词,比如nesw,玩家需要猜出谈底库中正确的单词。猜中的要求如 对于某个谜面和…

武汉抖音seo,抖音关键词排名

抖音seo怎么做 抖音作为一款热门的社交娱乐应用&#xff0c;其SEO关键词排名对于提升内容曝光和用户流量非常重要。 1. 关键词研究&#xff1a;在进行SEO关键词排名时&#xff0c;首先需要进行关键词研究&#xff0c;了解用户在抖音上搜索的热门关键词。可以通过使用相关的关…

如何使用ArcGIS自定义图框样式

GIS制图过后&#xff0c;一般都会涉及到出图&#xff0c;大家肯定都希望自己的出图成果越美观越好&#xff0c;除了图本身之外&#xff0c;还可以从周边的一些修饰入手&#xff0c;比如图框&#xff0c;那么今天就给大家讲解一下如何自定义ArcGIS图框风格&#xff0c;希望能对大…

Docker-Dockerfile-DockerCompose的那些事

文章目录 一、Docker背景1.1 环境不一致1.2 隔离性1.3 弹性伸缩1.4 学习成本 二、Docker介绍2.1 Docker的由来2.2 Docker的思想 三、Docker的安装3.1 下载Docker依赖的环境3.2 指定Docker镜像源3.3 安装Docker3.4 Docker服务启停3.5 Docker容器运行解析3.6 Docker运行流程解析3…

暑期学JavaScript【第五天】

BOM Browser Object Model&#xff0c; 浏览器对象模型 DOM是BOM的一部分 1.navigator 用于判断当前的用户端。 用navigator.userAgent获取 2. location location.href www.baidu.com&#xff0c; 赋值后&#xff0c;执行直接跳转到百度location.search; 获取地址中?后面部…

maven查看jar的pom引入来源

从idea中点击 Maven Projects&#xff0c;后点击Show Dependencies&#xff0c;如图所示 得到依赖关系图&#xff0c;如下 在页面进行 Ctrl F 搜索需要的 Jar 名称 例&#xff1a;查找 spring-beans 双击框定的地方&#xff0c;就能进入到对应的pom文件 查找依赖关系 1、…

第三方库介绍——tslib库

文章目录 tslib 简介tslib 框架分析tslib 的框架 交叉编译、测试 tslibtslib应用程序 tslib 简介 tslib 是一个触摸屏的开源库&#xff0c;可以使用它来访问触摸屏设备&#xff0c;可以给输入设备添加各种“ filter ”( 过滤器&#xff0c;就是各种处理) 编译 tslib 后&#…