YUM | 起源 | 发展 | 运行逻辑

介绍

YUM(Yellowdog Updater, Modified)起源于 Red Hat Linux 发行版 up2date 工具。
在这里插入图片描述
最初,up2date 是由 Red Hat 公司提供的用于管理系统更新的工具。然而,社区逐渐对 up2date 出现一些不满,主要是由于其使用体验和性能方面的一些限制。

在这里插入图片描述

在此背景下,YUM 由 Seth Vidal 创建,并在 Red Hat Linux 7.1 版本中首次亮相,取代 up2date 工具。YUM 的目标是提供一个更加灵活、高效且易于使用的软件包管理系统。“Yellowdog” 这个名字起源于 Linux 发行版 Yellow Dog Linux,是一款面向 PowerPC 架构的 Linux 发行版。

起源 | 发展

  1. 初期版本:

    • YUM 最初作为一个用于管理 Red Hat 系列发行版的软件包的命令行工具。
      在这里插入图片描述

    • 引入了一种称为 “yum repository” 的概念,用于存储和管理软件包。
      在这里插入图片描述

  2. 社区支持:

    • 由于 YUM 是开源的,很快在社区中得到了广泛的支持和参与。社区的贡献促使 YUM 不断改进和发展。
  3. Yellowdog Linux 发行版:

    • YUM 的名字中包含 “Yellowdog” 源自于 Yellow Dog Linux 这个发行版,在使用 PowerPC 架构的计算机上非常流行。
  4. Fedora 和 CentOS:

    • 随着 Red Hat 的发展,YUM 也成为 Fedora 发行版的默认包管理工具,后来被继承到了 CentOS 中。
    • YUM 的逐渐成熟和普及,使得它成为了大多数基于 Red Hat 的 Linux 发行版的标配。
  5. YUM 的进一步发展:

    • 随着时间的推移,YUM 经历了多个版本的更新和改进。逐渐变得更加灵活、稳定,支持更多的功能,如插件、存储库管理等。
  6. DNF 替代:

    • 随着 Fedora 22 的发布,dnf(Dandified YUM)逐渐取代 YUM 作为 Fedora 发行版的默认包管理器。DNF 基于 YUM,并提供了一些改进和性能优化。

YUM 的起源与发展是 Linux 发行版包管理领域中的一个重要故事。为 Red Hat 系列发行版和其他基于它们的系统提供了可靠、灵活的软件包管理解决方案。

yum(Yellowdog Updater, Modified)是一个常用的包管理工具。主要用于在 Red Hat 系列的 Linux 发行版(如 CentOS 和 Fedora)中进行软件包的安装、更新和卸载。

运行逻辑

使用 yum 安装软件时,整个过程经历涉及步骤,包括获取软件包、解析依赖关系、下载软件包、安装软件包等。

  1. 仓库配置:

    • 管理配置 yum 的软件仓库,指定包含所需软件包的仓库的 URL 或路径。
  2. 软件包搜索:

    • 运行 sudo yum install package_name 命令,yum 开始搜索指定软件包及其依赖项的信息。
  3. 仓库同步:

    • yum 同步远程软件仓库的元数据,确保拥有最新的软件包列表和信息。
  4. 软件包信息获取:

    • yum 从仓库中获取软件包的元数据信息,包括名称、版本、依赖关系等。
  5. 依赖关系解析:

    • yum 解析软件包的依赖关系,确定安装所需的其他软件包。
  6. 依赖关系检查:

    • yum 检查系统上已安装的软件包,以确保满足软件包的所有依赖关系。
  7. 下载软件包:

    • 如果所有依赖关系都满足,yum 开始下载软件包及其依赖项。下载的软件包存储在本地的 yum 缓存目录中。
  8. GPG 密钥验证:

    • 如果配置 GPG 密钥验证,yum 将检查下载的软件包的数字签名,确保软件包的完整性和真实性。
  9. 软件包安装:

    • yum 开始安装下载的软件包及其依赖项。安装过程会在系统上复制、配置和设置软件包。
  10. 事务记录:

    • yum 记录安装过程的事务信息,以便用户随后可以查看、回滚或撤销已安装的软件包。
  11. 清理缓存:

    • 安装完成后,yum 可以选择清理掉之前下载的软件包,以释放磁盘空间。
  12. 完成:

    • 安装完成后,yum 提示用户软件包已成功安装,可以开始使用。

安装过程是 yum 自动化管理软件包的核心。yum 通过维护软件仓库、解析依赖关系、下载软件包等步骤,为我们提供方便、可靠的方法来管理和安装软件。

YUM 库

仓库(Repository)是YUM关键概念。软件仓库是一个集中存储软件包和相关元数据的地方,允许系统从统一的位置获取、安装和更新软件。yum 使用的是 RPM 包管理系统,而软件仓库是 RPM 包的集合。

  1. 定义
    软件仓库是一个包含软件包及其相关信息(如软件包依赖关系、版本信息等)的集合。仓库一般是网络服务器,通过网络连接来访问。

  2. Repository 类型

  • a. 官方仓库:
    由 Linux 发行版提供的官方软件仓库,包含由发行版开发团队维护和支持的软件包。例如,CentOS、Fedora 和 Ubuntu 都有官方的软件仓库。

  • b. 第三方仓库:
    除了官方仓库外,还有许多由社区或其他组织维护的第三方软件仓库。这些仓库可能包含一些不包含在官方仓库中的软件包,或者提供更新版本的软件包。

  1. Repository 的结构

软件仓库按照目录结构组织。其中包含了软件包的二进制文件、元数据文件(如 repodata 目录中的 repomd.xml 文件)、签名文件等。元数据文件包含软件包的信息,例如软件包名称、版本、依赖关系等。

  1. Repository URL:

系统通过仓库的 URL 访问仓库。URL 可以是 HTTP、FTP 或本地文件系统路径等。yum 配置文件中的仓库部分包含这些 URL。

  1. Repository 配置:

yum 中,软件仓库的配置信息存储在 /etc/yum.repos.d/ 目录下的 .repo 文件中。每个文件对应一个软件仓库的配置。这些配置文件包含仓库的名称、URL、启用状态、GPG 密钥等信息。

  1. 使用 Repository:

使用 yum 命令时,系统会根据配置的仓库信息来查找、下载和安装软件包。配置不同的仓库,可以轻松地切换软件源,获取不同版本或来源的软件包。

  1. Repository Mirror:

由于软件仓库中的软件包一般很大,仓库的维护者会设置镜像站点,这些站点是仓库的拷贝。我们可以选择使用最近或网络连接更快的镜像站点来加快软件包的下载速度。

注意:

  • 定期更新软件仓库获取最新的软件包和安全更新。
  • 使用受信任的仓库,防止安全问题和软件包不一致性。

Ending


~喜欢的话,请收藏 | 关注(✪ω✪)~
~万一有趣的事还在后头呢,Fight!!(o^-^)~''☆ミ☆ミ~……

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【考研408】算法与数据结构笔记

文章目录 绪论数据结构的基本概念算法和算法评价 线性表线性表的定义和基本操作线性表的顺序表示线性表的链式表示 栈和队列栈基本操作栈的顺序存储结构栈的链式存储 队列队列常见的基本操作队列的顺序存储结构队列的链式存储结构双端队列 栈和队列的应用栈在括号匹配中的应用栈…

【C/C++ 17】继承

目录 一、继承的概念 二、基类和派生类对象赋值转换 三、继承的作用域 四、派生类的默认成员函数 五、继承与友元 六、继承与静态成员变量 七、菱形继承与虚拟继承 一、继承的概念 继承是指一个类可以通过继承获得另一个类的属性和方法,扩展自己的功能&…

Mysql-数据库压力测试

安装软件 官方软件 安装插件提供了更多的监听器选项 数据库驱动 数据库测试 配置 这里以一个简单的案例进行,进行连接池为10,20,30的梯度压测: select * from tb_order_item where id 1410932957404114945;新建一个线程组 新增一个连接池配置 新建一…

【Java】MybatisPlus入门

学习目标 能够基于MyBatisPlus完成标准Dao开发 能够掌握MyBatisPlus的条件查询 能够掌握MyBatisPlus的字段映射与表名映射 能够掌握id生成策略控制 能够理解代码生成器的相关配置 一、MyBatisPlus简介 1. 入门案例 问题导入 MyBatisPlus环境搭建的步骤? 1.1 Sp…

在VM虚拟机上搭建MariaDB数据库服务器

例题:搭建MariaDB数据库服务器,并实现主主复制。 1.在二台服务器中分别MariaDB安装。 2.在二台服务器中分别配置my.cnf文件,开启log_bin。 3.在二台服务器中分别创建专用于数据库同步的用户replication_user,并授权SLAVE。&#x…

【ARM 嵌入式 编译系列 2.7 -- GCC 编译优化参数详细介绍】

请阅读【嵌入式开发学习必备专栏 】 文章目录 GCC 编译优化概述常用优化等级-O1 打开的优化选项-O2 打开的优化选项-O3 打开的优化选项-Os 打开的优化选项优化技术使用优化选项的注意事项GCC 编译优化概述 GCC(GNU Compiler Collection)包含了用于C、C++、Objective-C、Fort…

机器学习之DeepSequence软件使用学习1

简介 DeepSequence 是一个生成性的、无监督的生物序列潜变量模型。给定一个多重序列比对作为输入,它可以用来预测可获得的突变,提取监督式学习的定量特征,并生成满足明显约束的新序列文库。它将序列中的高阶依赖性建模为残差子集之间约束的非…

FLUENT Meshing Watertight Geometry工作流入门 - 6 描述几何体

本视频中学到的内容: 讨论“描述几何”任务中所需各种输入的工作细节如何为流体区域创建盖面使用“创建区域”任务创建流体区域 视频链接: FLUENT Meshing入门教程-6描述几何体_哔哩哔哩_bilibili 【Import Mesh】 启动 Ansys Fluent 进入网格模式。转…

从头开始构建和训练 Transformer(下)

导 读 上一篇推文从头开始构建和训练 Transformer(上)https://blog.csdn.net/weixin_46287760/article/details/136048418介绍了构建和训练Transformer的过程和构建每个组件的代码示例。本文将使用数据对该架构进行代码演示,验证其模型性能。…

[office] Excel如何快速统一数字编号长度 #经验分享#其他

Excel如何快速统一数字编号长度 我们在办公室使用Excel统计数据的时候,经常会遇到第一列数据全部是数字编号,但是因为数字的位数不一样,长短不一的样子看起来不是很协调。那么如何快速统一数字编号长度呢?一起来了解一下吧 我们在…

STM32内部Flash

目录 一、内部Flash简介 二、内部Flash构成 1. 主存储器 2. 系统存储区 3. 选项字节 三、内部Flash写入过程 1. 解锁 2. 页擦除 3. 写入数据 四、工程空间分布 某工程的ROM存储器分布映像: 1. 程序ROM的加载与执行空间 2. ROM空间分布表 一、内部Flash…

【Java数据结构】单向 不带头 非循环 链表实现

模拟实现LinkedList:下一篇文章 LinkedList底层是双向、不带头结点、非循环的链表 /*** LinkedList的模拟实现*单向 不带头 非循环链表实现*/ class SingleLinkedList {class ListNode {public int val;public ListNode next;public ListNode(int val) {this.val …

Go语言每日一练——链表篇(五)

传送门 牛客面试笔试必刷101题 ----------------合并k个已排序的链表 题目以及解析 题目 解题代码及解析 解析 这一道题与昨天的合并链表题目类似,但是由于有K个且时间复杂度要求控制在O(nlogn),这里主要有两种解法:一种是依旧使用归并来…

Python算法题集_相交链表

Python算法题集_相交链表 题41:相交链表1. 示例说明2. 题目解析- 题意分解- 优化思路- 测量工具 3. 代码展开1) 标准求解【双层循环】2) 改进版一【双指针】3) 改进版二【哈希检索-集合】4) 改进版三【哈希检索-字典】 4. 最优算法 本文为Python算法题集之一的代码示…

游戏服务器购买多少钱1个月?买一年贵吗?

游戏服务器购买多少钱1个月?阿里云26元1个月、腾讯云32元1个月。买一年贵吗?不贵。 游戏服务器租用多少钱一年?1个月游戏服务器费用多少?阿里云游戏服务器26元1个月、腾讯云游戏服务器32元,游戏服务器配置从4核16G、4…

OSI七层模型

文章目录 定义各层功能定义在 OSI 模型中如何进行通信OSI 模型有哪些替代方案:TCP/IP 定义 OSI是一种开放系统互连参考模型 (Open System Interconnect 简称OSI),是国际标准化组织(ISO)和国际电报电话咨询委员会(CCITT)联合制定的开放系统互…

[职场] 集成电路IC设计工程师求职简历工作经历范文(精选4篇) #职场发展#其他

集成电路IC设计工程师求职简历工作经历范文(精选4篇) 集成电路IC设计工程师在找工作做简历的时候,经常不知道求职简历中的工作经历板块怎么写,下面是简历网小编整理的适合集成电路IC设计工程师在做简历时写的工作经历范文4篇&…

40000000人民币有多重

在日常生活中,我们经常看到大量现金的重量作为一个有趣的话题。那么,40000000人民币到底有多重呢?本文将详细介绍如何计算这个问题,并讨论与现金重量相关的因素。 首先,我们需要了解人民币纸币的重量。一张崭新的100元…

MySQL篇----第十篇

系列文章目录 文章目录 系列文章目录前言一、MyISAM Static 和 MyISAM Dynamic 有什么区别?二、如果一个表有一列定义为 TIMESTAMP,将发生什么?三、你怎么看到为表格定义的所有索引?四、LIKE 声明中的%和_是什么意思?五、列对比运算符是什么?前言 前些天发现了一个巨牛…

【力扣】整数反转,判断是否溢出的数学解法

整数反转原题地址 方法一:数学 反转整数 如何反转一个整数呢?考虑整数操作的3个技巧: xmod10可以取出x的最低位,如x123,xmod103。x/10可以去掉x的最低位,如x123,x/10,x12。xx*10…