Linux(17)——使用 DNF 安装和更新软件包

目录

一、使用 DNF 管理软件包:

1、 DNF 查找软件:

2、DNF 安装软件:

3、DNF 删除软件:

二、使用 DNF 管理软件包组:

1、DNF 显示组信息:

2、DNF 安装组:

三、使用 DNF 查看事务历史记录:

1、存储 :

2、dnf history:

四、BaseOS 和 AppStream:

1、BaseOS:

2、 Application Stream:

3、通过 DNF 管理模块:

五、DNF 软件存储库:

1、启用红帽软件存储库:

2、本地软件仓库:


        上篇文章介绍的 rpm 命令可以用于安装软件包,但不可与软件包存储库一起使用,也不能解决多个源的依赖关系。( RPM 文章点此转跳:https://blog.csdn.net/m0_68756914/article/details/144826175 )

        而本篇文章介绍的 DNF ( Dandified YUM )改进了基于 RPM 的软件安装和更新。借助 dnf 命令,我们可以查找、安装、更新、删除以及获取有关软件包及其依赖项的信息。

一、使用 DNF 管理软件包:

        DNF 取代了 YUM,作为 RHEL 9 中的软件包管理器。DNF 命令在功能上与 YUM 命令相同。同时,出于兼容性考虑,YUM 命令依然作为 DNF 的符号链接而存在。

1、 DNF 查找软件:

(1)dnf list

        dnf list 命令可显示已安装可用的软件包。

注:dnf help 命令可显示用法信息。

(2)dnf search:

        dnf search KEYWORD 或者 dnf search all KEYWORD 命令列出按名称、摘要字段和描述字段中根据关键字查找到的软件包。

(3)dnf into:

        dnf info 后加软件包名可查看软件包的详细信息,包括安装所需的磁盘空间。

(4)dnf provides:

        dnf provides 后加路径名可显示指定路径名匹配软件包

2、DNF 安装软件:

(1)dnf install:

        dnf install 后加软件包名可获取并安装软件包,包括所有依赖项。

(2)dnf update:

        dnf update 加软件包名升级安装指定软件包的最新版本,包括所有依赖项,如未指定软件包名称,则安装所有更新。

注:1)内核升级可以通过 dnf update kernel 实现,而且会有多个内核共存。

       2)dnf list kernel 命令可列出所有已安装可用的内核。

       3)uname 命令可查看当前运行的内核。其中 -r 选项仅显示内核的版本和发行版本;-a 可选项显示内核发行版和其他信息。

3、DNF 删除软件:

        dnf remove 加软件包名删除安装的软件包,包括所有受支持的软件包。

二、使用 DNF 管理软件包组:

        dnf 也具有组的概念,即针对特定目的而一起安装的相关软件集合。

        组中的软件包可以为 mandatory (安装该组时必须安装)、default (安装该组时通常会安装)、或 optional (安装该组时不予以安装,除非特别要求) 。

1、DNF 显示组信息:

(1)dnf group list

        dnf group list 命令可显示已安装可用的组的名称。

(2)dnf group into:

        dnf group into 命令可显示组信息,将列出必选、默认和可选软件包名称。

2、DNF 安装组:

        dnf group install 命令将安装一个组,同时安装其必选、默认以及依赖的软件包。

三、使用 DNF 查看事务历史记录:

1、存储 :

         所有安装和删除事务的日志记录在 /var/log/dnf.rpm.log 中。

2、dnf history

        dnf history 命令可显示安装删除事务摘要

(1)dnf history into:

        dnf history info 命令可确认事务的信息

(2)dnf history undo:

        dnf history undo 命令可以撤销事务。

四、BaseOS 和 AppStream:

        RHEL 9 通过两个主要的软件仓库分发内容,分别为 BaseOS 和 AppStream 。

1、BaseOS:

        BaseOS 以 RPM 软件包的形式为 RHEL 提供核心操作系统内容。 BaseOS 组件的生命周期与 RHEL 发行版中的内容相同

2、 Application Stream:

        Application Stream 提供具有不同生命周期的内容,作为模块和传统 RPM 软件包。模块描述了属于一个整体的一组 RPM 软件包,可以包含多个流,使多个版本的应用可供安装。启用模块流后,系统能够访问该模块流中的 RPM 软件包。

注:AppStream 仓库包含两种类型的内容: Module 和传统的 RPM 软件包

       Module 描述了属于一个整体的一组 RPM 软件包,可以包含多个流,使多个版本的应用可供安装。启用Module Stream 后,系统能够访问该 Module Stream 中的RPM 软件包。通常,Module 围绕软件应用或编程语言的特定版本来整理 RPM 软件包。

3、通过 DNF 管理模块:

        RHEL 9 支持应用流的模块化功能。可使用 dnf module 命令处理模块化内容,否则,dnf 命令将按照与软件包类似的方式处理模块。

(1)dnf module list 命令可列出可用的模块,以及模块名称、流、配置集和摘要;

(2)dnf module list module-name 命令可列出特定模块的模块流并检索其状态;

(3)dnf module info module-name 命令可显示模块的详细信息;

(4)dnf module provides package 命令可显示哪个模块提供特定的软件包。

五、DNF 软件存储库:

1、启用红帽软件存储库:

        系统可以访问众多红帽存储库。

(1) dnf repolist all

        dnf repolist all 命令可列出所有可用存储库以及其状态。

(2)dnf config-manager 命令可用于启用或禁用仓库。

        1)启用仓库:

        2)禁用仓库:

2、本地软件仓库:

        一些仓库将配置文件和 GPG 公钥作为 RPM 软件包的一部分来提供,以简化它们的安装。

        dnf install 命令可以下载并安装这些 RPM 软件包。

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

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

相关文章

基于32单片机的智能语音家居

一、主要功能介绍 以STM32F103C8T6单片机为控制核心,设计一款智能远程家电控制系统,该系统能实现如下功能: 1、可通过语音命令控制照明灯、空调、加热器、窗户及窗帘的开关; 2、可通过手机显示和控制照明灯、空调、窗户及窗帘的开…

Qt 5.14.2 学习记录 —— 일 新项目

文章目录 1、创建2、查看代码 ---- main.cpp3、查看代码 ---- widgt.h4、查看代码 ---- widgt.cpp和widget.ui5、查看代码 ---- Empty.pro6、运行产生的中间文件 1、创建 左上角的文件,新建文件或项目。如果要写一个GUI程序,应当选择Application&#x…

linux wsl配置 redis远程连接

✅ 1. 修改 Redis 配置文件 在 WSL 的 Redis 配置文件中,找到 redis.conf 或 /etc/redis/redis.conf 文件,编辑以下配置项: ➡️ 更新 bind 配置项 将 bind 127.0.0.1 ::1 修改为: bind 0.0.0.0这样,Redis 将监听所…

Transformer从零详细解读——DASOU讲AI

1. 从全局角度概括Transformer transformer的任务是什么? 进一步细化 进一步细化,注意:每个encoder结构相同,参数不同;decoder同理 原论文中的图如下: 2.Encoder 2.1 输入部分 (1&#xff09…

ARM发布Armv9.5架构:迈向更强性能与灵活性的新时代

2024年11月30日,ARM正式发布了其最新的Armv9.5架构,这是Arm技术发展的又一重要里程碑。从表中信息来看,Armv9.5架构的发布标志着该公司的架构系列在性能、灵活性和可扩展性方面取得了进一步突破。本次发布不仅是技术上的提升,更是…

【Python运维】使用Python与Docker进行高效的容器化应用管理

《Python OpenCV从菜鸟到高手》带你进入图像处理与计算机视觉的大门! 解锁Python编程的无限可能:《奇妙的Python》带你漫游代码世界 随着容器化技术的广泛应用,Docker已成为现代软件开发与运维中不可或缺的工具。Docker容器提供了一种轻量级、可移植的方式来部署和管理应用…

分布式系统架构6:链路追踪

这是小卷对分布式系统架构学习的第6篇文章,关于链路追踪,之前写过traceId的相关内容:https://juejin.cn/post/7135611432808218661,不过之前写的太浅了,且不成系统,只是简单的理解,今天来捋一下…

Ubuntu 20.04安装gcc

一、安装GCC 1.更新包列表 user596785154:~$ sudo apt update2.安装gcc user596785154:~$ sudo apt install gcc3.验证安装 user596785154:~$ gcc --version二 编译C文件 1.新建workspace文件夹 user596785154:~$ mkdir workspace2.进入workspace文件夹 user596785154:~…

问题:Flask应用中的用户会话(Session)管理失效

我来分享一个常见的PythonWeb开发问题: 问题:Flask应用中的用户会话(Session)管理失效 这是一个在Flask开发中经常遇到的问题。当用户登录后,有时会话会意外失效,导致用户需要重复登录。 解决方案: 1. 首先&#x…

ansible-性能优化

一. 简述: 搞过运维自动化工具的人,肯定会发现很多运维伙伴们经常用saltstack和ansible做比较,单从执行效率上来说,ansible确实比不上saltstack(ansible使用的是ssh,salt使用的是zeromq消息队列[暂没深入了解]),但其实…

.net core 线程锁,互斥锁,自旋锁,混合锁

线程锁、互斥锁、自旋锁和混合锁是多线程编程中的重要概念,它们用于控制对共享资源的访问,避免数据竞争和不一致性。每种锁有其特定的适用场景和特点。我们来逐一解释它们,并进行比较。 1. 线程锁(Thread Lock) 线程…

【ArcGISPro/GeoScenePro】检查并处理高程数据

数据 https://arcgis.com/sharing/rest/content/items/535efce0e3a04c8790ed7cc7ea96d02d/data 数字高程模型 (DEM) 是一种栅格,可显示地面或地形的高程。 数字表面模型 (DSM) 是另一种高程栅格,可显示表面的高度,例如建筑物或树冠的顶部。 您需要准备 DEM 和 DSM 以供分析…

【C++面向对象——类与对象】Computer类(头歌实践教学平台习题)【合集】

目录😋 任务描述 相关知识 一、不同访问属性成员的访问方式 1. public成员 2. private成员 3. protected成员 二、观察构造函数和析构函数的执行过程 1. 构造函数 2. 析构函数 三、学习类的组合使用方法 1. 类的组合概念 2. 实现示例 实验步骤 测试说明 …

xilinx的高速接口构成原理和连接结构及ibert工具的使用-以k7 GTX为例

一、相关简介 Xilinx的高速接口称之为transceivers(高速收发器),这部分的电路是专用电路,供电等都是独立的,根据速率可以分为GTP/GTX/GTH/GTY/GTM等。 Xilinx的高速接口是QUAD为单位的,没一个QUAD由一个时钟COMMON资…

创建型模式4.原型模式

创建型模式 工厂方法模式(Factory Method Pattern)抽象工厂模式(Abstract Factory Pattern)建造者模式(Builder Pattern)原型模式(Prototype Pattern)单例模式(Singleto…

python学opencv|读取图像(二十七)使用time()绘制弹球动画

【1】引言 前序已经学习了pythonopencv画线段、圆形、矩形、多边形和文字的相关操作,具体文章链接包括且不限于: python学opencv|读取图像(十八)使用cv2.line创造线段_cv2. 画线段-CSDN博客 python学opencv|读取图像&#xff0…

rabbitmq——岁月云实战笔记

1 rabbitmq设计 生产者并不是直接将消息投递到queue,而是发送给exchange,由exchange根据type的规则来选定投递的queue,这样消息设计在生产者和消费者就实现解耦。 rabbitmq会给没有type预定义一些exchage,而实际我们却应该使用自己…

2.系统学习-逻辑回归

逻辑回归 前言最大似然估计概率似然函数(likelihood function)最大似然估计 逻辑回归逻辑回归的似然函数与梯度 分类问题常用评价指标项目案例拓展内容作业 前言 逻辑回归与线性回归均属于广义线性模型,区别在于线性回归用于解决回归问题,例如身高、销量…

记录一次电脑被入侵用来挖矿的过程(Trojan、Miner、Hack、turminoob)

文章目录 0、总结1、背景2、端倪3、有个微软的系统更新,就想着更新看看(能否冲掉问题)4、更新没成功,自动重启电脑5、风险文件(好家伙命名还挺规范,一看名字就知道出问题了)6、开机有一些注册表…

行为树详解(6)——黑板模式

【动作节点数据共享】 行为树中需要的参数可以来自游戏中的各个模块,如果仅需从多个模块获取少量参数,那么可以直接在代码中调用其他模块的单例继而层层调用获取数据。 如果获取的参数量很大,从架构上看,我们需要通过加一个中间…