CentOS8基础篇13:yum与dnf软件包管理器

news2025/7/20 9:37:27

一、YUM工具的使用

yum可以说是一个管理rpm软件包的前端工具,其基于rpm软件包进行管理,能够从指定服务器自动下载rpm软件包并进行安装,可以自动处理依赖关系,并一次安装所有需要的软件包。在RHEL本地操作系统中设置相应的软件仓库地址,即可使用yum软件包管理器。yum软件包管理器提供了查询、安装、删除某一个、某一组甚至全部软件包的命令,简单易懂。

yum软件包管理器的特点如下:

(1)便于管理大量的系统更新问题。其能自动解决软件包的依赖问题,能更方便地添加、删除、更新rpm软件包。

(2)可以同时配置多个软件仓库,且可以在多个软件仓库中定位软件包。

(3)配置文件非常简洁,只需“/etc/yum.conf”和“/etc/yum.repos.d/*.repo”两个文件。

(4)保持与rpm数据库的一致性。

(5)有一个比较详细的log,可以查看何时升级、安装了什么软件包等。

1.安装

使用yum命令安装rmp软件包时,将查询数据库中是否有该软件包,若有,则检查其依赖、冲突关系并给出提示,询问是否同时安装依赖软件包或删除冲突软件包。

yum命令的语法格式如下:yum [选项] [命令] [软件包名]

使用yum命令安装rmp软件包的选项为“install”,“yum install”命令表示获取并安装软件包,包括其所有依赖项,如下图所示。

使用yum命令安装rmp软件包组的命令是“yum group install”,该命令能够安装一个组,同时安装其必选和默认的软件包,以及它们依赖的软件包,如右图所示。

2.升级

使用yum命令升级rmp软件包的选项为“update”,“yum update”命令用于获取并安装指定软件包的新版本,包括所有依赖项。通常该命令适当保留配置文件,如果认为旧文件在更新后无法正常使用,则可能对其进行重命名。如果没有指定软件包名称,它将安装所有相关的更新软件包,如图下图所示。

3.查询

可以使用“yum list”命令显示已安装的软件包,如下图所示。

3.删除

使用yum命令删除软件包时,只能删除rpm格式的软件包。和安装时一样,yum软件包管理器也会先对rpm数据库进行查询,给出解决依赖关系的提示。

使用yum命令删除rmp软件包的选项为“remove”,如右图所示。若要删除指定软件包组中的软件包,则使用“yum group remove”命令。

4.其他查询相关命令如下:

可以使用“yum search all”命令根据提供的摘要字段找到关键字并列出软件包。

可以使用“yum info”命令查询软件包的详细信息。

可以使用“yum provides”命令显示指定路径的软件包。

使用“yum group list”命令可以显示已安装软件包组和可用软件包组的名称。

使用“yum group info”命令显示软件包组的详细信息,列出必选、默认和可选的软件包名称。

使用“yum history”可以显示安装和删除事务的摘要。

二、dnf软件包管理器

从CentOS 8开始,系统默认的软件包管理器是dnf,系统提供的yum命令仅为dnf命令的软链接。dnf是dandified yum的简称,是基于rpm软件包的Linux发行版本的软件包管理器。

dnf与yum的区别在于:

(1)yum禁止删除正在使用的内核,而dnf允许删除所有内核,包括正在使用的内核;

(2)在更新软件包时,yum不进行依赖包相关性的检查,而dnf如果检查到存在不相关的依赖包,则不会进行软件包更新。

(3)yum在解决依赖包问题时,存在性能较差、内存占用大等问题,而dnf采用了由 SUSE 开发的“libsolv”库,用以提升依赖包解析性能,其依赖包解析速度比yum更快,且比yum消耗更少内存。

(4)dnf代码比yum简单,约有29000行代码,而yum代码有59000多行。

dnf使维护软件包组变得容易,能够自动解决依赖性问题,能够解决yum软件包的一些瓶颈,优化内存使用,执行速度等,它不仅解决了yum待解决的问题,还添加了许多新功能,以实现rpm软件包管理。

使用dnf命令安装软件包时,虽然取消了yum的配置方法,改变了软件包的安装方式,但是还能兼容yum的配置文件和命令。dnf软件仓库所在的目录依旧为“/etc/yum.repos.d/”,只不过需要配置“.repo”文件,dnf源的配置方法和yum源一样。

dnf的常用命令如下表所示。

dnf的常用命令

   

   

dnf install

安装软件包

dnf update

检查并升级可用软件包

dnf search

搜索软件包

dnf repolist

列出可用的软件源

dnf clean

删除缓存

dnf remove

删除软件包

在使用的过程中,可以执行“man dnf”命令查看帮助,还可以执行“dnf --help”命令查看dnf使用的命令参数。

dnf命令与yum命令的用法相似,下面以“dnf repilist”“dnf --version”“dnf list”命令为例,演示dnf命令的使用方法,如下图所示。

dnf repilist:用于列出默认情况下启用的所有软件仓库。添加“-v”选项时,可列出更详细的信息。此外,它不会强制同步过期的元数据,可以使用“--refresh”命令强制同步开关启用所有的软件仓库。

dnf --version:用于查看安装在系统中的dnf软件包管理器的版本

dnf list:用于列出系统中所有来自软件仓库的可用软件包和所有已经安装在系统上的软件包。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/395399.html

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

相关文章

SAP smartforms打印图片

注意:SAP只能上传打印bmp格式图片 1.标准程序上传 T-CODE:SE78 2.程序代码上传 DATA: P_FILENAME TYPE RLGRAP-FILENAME,P_NAME TYPE STXBITMAPS-TDNAME,P_TITLE LIKE BAPISIGNAT-PROP_VALUE,P_DOCID TYPE STXBITMAPS-DOCID,P_RESOLUTION TYPE …

案例分析之——理由Mybatis动态SQL实现复用

无复用思想的做法: 在没有复用思想的时候,就只顾着实现功能。比如开发过程中涉及到两个表的更新功能,每需要更新一处,就写一个接口,结果出现了写了11个接口的情况。 这样虽然功能实现了,可是可能自…

express+websocket实现线上聊天

1.webSocket简介 WebSocket是一种通信协议,可在单个TCP连接上进行全双工通信。WebSocket使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在WebSocket API中,浏览器和服务器只需要完成一次握手,两…

SpringCloud之 Hystrix服务熔断

文章目录一、Hystrix 服务熔断 (已过时)🍉1.1 服务降级🍉1.2 服务熔断🍉1.3 OpenFeign 实现降级二、hystrix-dashboard 监控🍋2.1 监控页面部署🍋2.2 观察现象提示:以下是本篇文章正文内容,Spri…

【PySide6】信号(signal)和槽函数(slot),以及事件过滤器

说明 在PYQT中,父控件可以通过两种方式响应子控件的事件: 通过信号(signal)和槽函数(slot)机制连接子控件和父控件父控件可以通过设置eventFilter()方法来监听响应子控件的事件 一、信号(signal)和槽函数(slot) 示例 在PYQT中,每个组件都…

传输线的物理基础(三):传输线的瞬时阻抗

每个信号都有一个上升时间 RT,通常是从 10% 到 90% 的电压电平测量的。当信号沿传输线向下移动时,前沿在传输线上展开并具有空间范围。如果我们可以冻结时间并观察电压分布向外移动时的大小,我们会发现类似下图的东西。传输线上上升时间的长度…

Python中的三器一闭(详细版)

python中的三器一闭迭代器什么是迭代什么是可迭代对象判断数据是否可迭代什么是迭代器迭代器的本质使用迭代器取数据自定义迭代器生成器创建生产器的方法关键字yieldnext和send装饰器装饰器的功能定义装饰器闭包什么是闭包函数、匿名函数、闭包、对象 当做实参时的区别迭代器 …

Blazor_WASM之3:项目结构

Blazor_WASM之3:项目结构 Blazor WebAssembly项目模板可选两种,Blazor WebAssemblyAPP及Blazor WebAssemblyAPP-Empty 如果使用Blazor WebAssemblyAPP模板,则应用将填充以下内容: 一个 FetchData 组件的演示代码,该…

蓝桥杯-最优清零方案(2022省赛)

蓝桥杯-最优清零方案1、问题描述2、解题思路3、代码实现1、问题描述 给定一个长度为 N 的数列 1,2,⋯,A1,A2,...,ANA_1,A_2,...,A_NA1​,A2​,...,AN​ 。现在小蓝想通过若干次操作将 这个数列中每个数字清零。 每次操作小蓝可以选择以下两种之一: 1. 选择一个大于 0 的整数, 将…

杂记——18.VSCode的下载及使用

这篇文章,我们来讲一下VSCode,讲一下如何下载及使用VSCode 目录 1.VSCode的下载 1.1VSCode的简介 1.2VSCode的下载与安装 1.2.1下载 1.2.2安装 2.VSCode的使用 2.1界面 2.2基础设置 2.3禁用自动更新 2.3自动保存设置 2.4Vscode更换主题 2.5…

Hive面试题-HQL转换MapReduce底层核心逻辑剖析

视频可查看:https://www.bilibili.com/video/BV1RV41147Tb/?spm_id_from333.999.0.0&vd_source3ba3c3ba31427f60d734ede7a948de4a 原文地址:Hive学习之路 (二十)Hive 执行过程实例分析 - 扎心了,老铁 - 博客园 (c…

K_A14_012基于STM32等单片机驱动GY-25倾斜度角度模块 串口与OLED0.96双显示

K_A14_012基于STM32等单片机驱动GY-25倾斜度角度模块 串口与OLED0.96双显示一、资源说明二、基本参数参数引脚说明三、驱动说明对应程序:四、部分代码说明1、接线引脚定义1.1、STC89C52RCGY-25倾斜度角度模块1.2、STM32F103C8T6GY-25倾斜度角度模块五、基础知识学习与相关资料下…

测试按方向的分类

按方向分(都是在系统测试阶段测试的) 功能测试:举例说明什么是功能 性能测试 ①压力测试:不断地增加压力,从而找到系统的极限 ②负载测试:系统在极限工作条件下,最多能持续多久——可能发生内存泄漏/溢出,导…

angular技术(持续更新)

css类绑定[class.color-blue]"isBlue()" 如果isBlue()返回为true 这里使用color-blue的class样式style样式绑定[style.background-color]"canclick ? blue: red" 组件与模块模块的元数据*declarations: 用于指定属于这个模块的视图类(View Cla…

CM6.3.2启用Kerberos(附问题解决)

基础准备支持JCE的jdk重新安装JCE的jdk(已正确配置跳过)删除/usr/java/下面的jdk,然后通过CM->管理->安全->安装Java无限制...重新安装后,配置Java(可选)主机->主机配置->搜java->Java主目录 配置路径主机->所有主机->设置->高级:Java配置Kerberos安…

[算法]插入排序

参考:《漫画算法-小灰的算法之旅》 目录 1、排序算法的思想 2、具体步骤 3、插入排序的优化 4、时间复杂度和空间复杂度 5、代码 1、排序算法的思想 维护一个有序区,把元素一个个插入有序区的适当位置,直到所有元素都有序为止。 2、具体…

多线程面试题

1. Sychronized的锁升级过程是怎样的? 2. Tomcat 中为什么要使用自定义类加载器? 3. 说说对线程安全的理解 4. 对守护线程的理解 5. 并发、并行、串行之间的区别 6. Java死锁如何避免? 7. 谈谈你对AQS的理解,AQS如何实现可重入锁&…

华为机试题:HJ107 求解立方根(python)

文章目录(1)题目描述(2)Python3实现(3)知识点详解1、input():获取控制台(任意形式)的输入。输出均为字符串类型。1.1、input() 与 list(input()) 的区别、及其相互转换方…

2023年品牌惊蛰节气海报赏析

今天是3月6日——惊蛰,春日渐暖,春雷乍起,北方大地正在迎来新生,小鸟在枝头欢叫、种子在努力发芽,各大品牌也赶早发布了最新的惊蛰节气海报。下面就来和我们一起看看吧。 1,中国日报 2,BDuck…

java日志

日志是软件开发的重要组成部分。一个精心编写的日志代码提供快速的调试,维护方便,以及应用程序的运行时信息结构化存储。日志记录确实也有它的缺点。它可以减缓的应用程序Log4jLog4j是Apache的一个开放源代码项目,通过使用Log4j,我…