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

news2025/1/9 6:12:45

介绍

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^-^)~''☆ミ☆ミ~……

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

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

相关文章

跟着cherno手搓游戏引擎【21】shaderLibrary(shader管理类)

前置&#xff1a; ytpch.h&#xff1a; #pragma once #include<iostream> #include<memory> #include<utility> #include<algorithm> #include<functional> #include<string> #include<vector> #include<unordered_map> #in…

SpringBoot 过滤器Filter的过滤链 多个过滤器优先级

SpringBoot 过滤器Filter 拦截请求 生命周期 什么是过滤链&#xff1f; 指的是有多个过滤器形成的过滤链&#xff0c;一个项目中可以存在多个过滤器。 优先级 根据字母排序&#xff0c;如XFilter和AFilter&#xff0c;那么按照顺序应该先到AFilter过滤器当中

2024/02/06

画出TCP三次握手和四次挥手的示意图 三次握手 四次挥手 并且总结TCP和UDP的区别 TCP: TCP提供面向连接的&#xff0c;可靠的数据传输服务传输过程中&#xff0c;数据无误、数据无丢失、数据无失序、数据无重复 TCP会给每个数据包编上编号&#xff0c;该编号称之为序列号每个序…

2、6作业

TCP和UDP的区别 TCP和UDP都是通信协议 TCP提供有连接的&#xff0c;稳定的&#xff0c;无误码无失真无乱序无丢失的通信 UDP提供无连接的&#xff0c;尽力的&#xff0c;可能误码可能乱序&#xff0c;可能丢失的通信 TCP每发一个数据包就需要对方回应一个应答包&#xff0c…

Linux进程信号处理:深入理解与应用(3)

&#x1f3ac;慕斯主页&#xff1a;修仙—别有洞天 ♈️今日夜电波&#xff1a;its 6pm but I miss u already.—bbbluelee 0:01━━━━━━️&#x1f49f;──────── 3:18 &#x1f504; ◀️…

编译原理与技术(三)——语法分析(二)自顶向下-递归下降

一、语法分析的两种方法 自顶向下&#xff08;Top-down&#xff09;&#xff1a; 针对输入串&#xff0c;从文法的开始符号出发&#xff0c;尝试根据产生式规则推导&#xff08;derive&#xff09;出该输入串。 从根部开始构造语法树。 自底向上&#xff08;Bottom-up&#…

双非本科准备秋招(18.1)—— 力扣二叉树

1、404. 左叶子之和 方法一&#xff1a; 可以在父节点判断一下&#xff0c;如果左子树不为null&#xff0c;并且左子树没有左右子树&#xff0c;说明这是个左叶子节点。 class Solution {public int sumOfLeftLeaves(TreeNode root) {if(root null) return 0;int LV sumOfL…

怎么把两段视频合成一个画面?教你4个合成方法

怎么把两段视频合成一个画面&#xff1f;在数字媒体时代&#xff0c;视频编辑已经成为一项必备技能。有时候&#xff0c;我们需要将两段或多段视频合并成一个画面&#xff0c;这在电影制作、自媒体内容创作、家庭相册制作等领域都有广泛应用。本文将为你介绍四种简单易行的方法…

挑战杯 python+opencv+机器学习车牌识别

0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; 基于机器学习的车牌识别系统 &#x1f947;学长这里给一个题目综合评分(每项满分5分) 难度系数&#xff1a;4分工作量&#xff1a;4分创新点&#xff1a;3分 该项目较为新颖&#xff0c;适…

PyTorch的10个基本张量操作

PyTorch是一个基于python的科学计算包。它的灵活性允许轻松集成新的数据类型和算法&#xff0c;并且框架也是高效和可扩展的&#xff0c;下面我们将介绍一些Pytorch的基本张量操作。 Tensors 张量Tensors是一个向量&#xff0c;矩阵或任何n维数组。这是深度学习的基本数据结构…

企业计算机服务器中了halo勒索病毒如何解密,halo勒索病毒数据恢复

对于众多的企业来说&#xff0c;数据是一个企业的发展的根基&#xff0c;通过数据可以更好地规划调整企业的发展方向&#xff0c;提高企业生产效率。但网络是一把双刃剑&#xff0c;网络技术的发展不仅会为企业带来极大便利&#xff0c;但也为企业数据安全带来严重威胁。近期&a…

谈谈BlueFS

目录 前言数据结构标识一个文件文件系统的全局记录事务记录超级块 启动流程磁盘管理读写流程创建文件流程为文件写数据把数据下刷到磁盘读流程 参考资料 前言 BlueFS具体是个什么东西呢&#xff1f; 如上图&#xff0c;在Ceph里&#xff0c;使用BlueStore作为默认的存储引擎。…

LLM(大语言模型)——大模型简介

目录 概述 发展历程 大语言模型的概念 LLM的应用和影响 大模型的能力、特点 大模型的能力 涌现能力&#xff08;energent abilities&#xff09; 作为基座模型支持多元应用的能力 支持对话作为统一入口的能力 大模型的特点 常见大模型 闭源LLM&#xff08;未公开源…

datax离线同步oracle表到clickhouse实践1

时间&#xff1a;2024.01 目录1、安装启动 oracle19c 容器 2、rpm包安装clickhouse 3、datax安装 4、datax同步 目标库根据要同步的表&#xff0c;按照clickhouse建表规范建表 编写json文件 编写增量同步shell脚本&#xff0c;加入 crond 定时任务 1、安装启动 oracle19c 容器…

关于如何在Mac上安装Windows,看这篇文章就差不多了

启动转换(Boot Camp)助手可以让你在一些Mac电脑上安装Windows并引导到其中,就像在普通电脑上一样。现代苹果硅型号(M1、M2等)不支持启动转换助手,必须使用其他方法来运行Windows。 可以在M1或M2 Mac上使用启动转换助手吗 只有当Mac上有Intel(x86)处理器时,才能使用启…

Arcgis使用过程中常见问题解决方法

Arcgis无法连接数据库/数据库连接或创建失败解决方法 最近在使用arcgis过程中出现无法连接数据库或者是无法创建数据库。连接到数据库失败&#xff1b;无法创建新的数据库&#xff0c;权限被拒绝&#xff08;如下图&#xff09;。 出现这个原因是你所用的电脑系统文件dao360.…

生存类游戏《幻兽帕鲁》从部署服务器到开始体验全过程

SteamDB数据显示&#xff0c;《幻兽帕鲁》上线24小时内&#xff0c;在线人数峰值便突破200万&#xff0c;跻身Steam历史排行榜第二位。随着热度进一步发酵&#xff0c;《幻兽帕鲁》官方发布推文称&#xff0c;游戏发售不到6天&#xff0c;销量已经突破了 800万份。欢迎大家在阿…

香港公司员工遭遇2亿港币Deepfake诈骗; 阿里巴巴Qwen1.5震撼发布;通义千问App推新功能迎佳节

&#x1f989; AI新闻 &#x1f680; 香港公司员工遭遇2亿港币Deepfake诈骗 摘要&#xff1a;近日&#xff0c;香港一家英国跨国企业的员工被Deepfake技术仿造的视频诈骗&#xff0c;损失2亿港币。骗子通过伪造高管的面貌和声音&#xff0c;用视频会议的形式命令其转账&#…

双非本科准备秋招(17.1)—— 力扣二叉树

1、257. 二叉树的所有路径 要求返回根节点到叶子节点的所有路径&#xff0c;这里用前序遍历就好。 每次递归前&#xff0c;都让字符串s加上当前节点的值和“->”&#xff0c;然后判断是否为叶子节点&#xff0c;如果是的话&#xff0c;说明这条路径是一个答案&#xff0c;因…

基于springboot实现二次元商品购物系统项目【项目源码+论文说明】计算机毕业设计

基于springboot实现二次元商品购物系统演示 摘要 时代的变化速度实在超出人类的所料&#xff0c;21世纪&#xff0c;计算机已经发展到各行各业&#xff0c;各个地区&#xff0c;它的载体媒介-计算机&#xff0c;大众称之为的电脑&#xff0c;是一种特高速的科学仪器&#xff0…