当前位置: 首页 > news >正文

【Linux】 yum —— Linux 的软件包管理器

Linux 的软件包管理器 yum

  • yum 是什么
    • 什么是软件包
    • 查看软件包
  • yum 命令行工具
  • yum 配置文件
  • yum 凭什么可以支持下载呢?
  • yum 生态
    • yum 社区
    • yum 的故障排除和资源支持
    • yum 的持续集成和持续交付

yum 是什么

Yum(Yellowdog Updater Modified)是一个在 Linux 操作系统上用于管理软件包的包管理工具,它主要用于在 Red Hat Enterprise Linux (RHEL)、CentOS、Fedora 和其他基于 RPM 的 Linux 发行版上搜索、下载安装、更新和移除(卸载)软件包

在某种程度上,可以说yum与Linux系统中的包管理器(例如Fedora和CentOS的yum/dnf、Debian的apt等)在功能上类似于iOS中的App Store。它们都提供了一种方便的方式来搜索、安装、更新和管理软件包。

在这里插入图片描述

什么是软件包

在Linux下安装软件,一个通常的办法是下载到程序的源代码,并进行编译,得到可执行程序

但是这样太麻烦了,于是有些人把一些常用的软件提前编译好,做成软件包(可以理解成windows上的安装程序)放在服务器上,通过包管理器可以很方便的获取到这个编译好的软件包,然后就可以直接进行安装了

软件包和软件包管理器,就好比 “应用App” 和 “应用商店App Store” 这样的关系.

查看软件包

通过 yum list 命令可以罗列出当前一共有哪些软件包. 由于包的数目可能很多很多,这里我们需要使用 grep 命令只筛选出我们想要查看的包

例如:yum list | grep lrzsz
结果如下:

在这里插入图片描述
❗注意:

  • “x86_64” 后缀表示64位系统的安装包。“i686” 后缀表示32位系统安装包. 选择包时要和系统匹配
  • 中间那一列是软件包的版本号,版本号通常由三部分组成:主版本号、次版本号和修订版本号,它们之间用连字符 - 分隔开来。但是这里没有修订版本号(上图中,主版本号(0.12.20)- 次版本号(36))
  • “el7” 表示操作系统发行版的版本。 “el7” 表示的是 Centos7 / redhat7 ( “el6” 表示 Centos6/redhat6)
  • 最后一列,os 表示的是 “软件源” 的名称类似于 “华为应用商店”, “小米应用商店” 这样的概念

*(了解)除了os,在使用yum或者dnf包管理器时,常见的软件源名称还可以是:

epel:Extra Packages for Enterprise Linux(企业版Linux的额外软件包)。提供了一些官方发布的软件包之外的额外软件包。

remi:由一个叫做 Remi Collet 的社区成员维护,提供了一些官方软件源中没有的软件包,通常用于Web开发环境。

rpmfusion:提供了一些官方软件源中没有的软件包,包括一些专有的或受限制的软件。

centos:CentOS 特有的软件源,类似于 Red Hat Enterprise Linux 的 os 软件源,包含 CentOS 自带的软件包。

base:同样类似于 os,是基本软件源的一个别名,提供了基本的操作系统组件。

updates:提供了操作系统更新的软件源,包含了安全补丁和更新的软件包。

extras:提供了额外的软件包,不是操作系统的一部分,但是可以作为补充提供。

docker:提供了与 Docker 容器相关的软件包。

yum 命令行工具

yum 提供了一个简单而强大的命令行接口,用于管理软件包。

用户可以使用 yum 命令来搜索、安装、更新和移除软件包,以及处理软件包之间的依赖关系。
例如:

安装软件包:yum install package_name
更新软件包:yum update package_name
移除软件包:yum remove package_name

(package_name为软件包名↑)

❗注意事项:

  • 安装软件时由于需要向系统目录中写入内容,一般需要 sudo提权 或者 切到 root 账户下才能完成
  • yum安装软件只能一个安装完成再装另一个 → 正在yum安装一个软件的过程中,如果尝试用yum安装另外一个软件,yum会报错

yum 配置文件

yum 使用配置文件来管理其行为和设置。

配置文件通常位于/etc/yum.repos.d/ 目录下。
用户可以通过编辑配置文件来修改 yum 的行为(例如添加新的存储库、配置代理服务器等)

yum 凭什么可以支持下载呢?

我们Linux系统里有一些配置文件(我们将其称为yum源),里面的内容就会告诉yum未来我们到哪里下载软件

查看yum源的命令:ls /etc/yum.repos.d/

在这里插入图片描述

  • repos是 “仓库” 的英文简写(repository,仓库),末尾的d指的是目录

如上图所示,yum源↓

CentOS-Base.repo  CentOS-Epel.repo  epel.repo  epel-testing.repo

yum源包含了很多路径,yum安装时就会根据yum源中所指示的下载路径,查找对应的软件

yum 生态

yum 生态系统拥有庞大的用户社区和丰富的文档资源,我们用户可以通过社区论坛、邮件列表、博客文章等获取帮助和支持。此外,官方文档和教程也提供了详细的指导和使用说明,帮助用户更好地理解和使用 yum 工具

yum 社区

yum 生态系统依赖于一个庞大的社区和贡献者群体。这个社区包括了开源爱好者、Linux 发行版的开发者、系统管理员等不同背景的人士,他们积极参与到 Yum 的开发、测试和文档编写中,共同致力于改进和完善 yum 工具,使其能够更好地满足用户的需求。

yum 的故障排除和资源支持

yum 生态系统提供了丰富的故障排除和支持资源,帮助用户解决在使用 yum 过程中遇到的问题。这些资源包括官方文档、社区论坛、邮件列表、bug 跟踪系统等,用户可以在这些平台上寻求帮助并与其他用户交流经验。

yum 的持续集成和持续交付

为了保证 Yum 的质量和稳定性,开发团队采用持续集成和持续交付的方式进行软件开发和发布。通过自动化测试、代码审查、版本控制等工具和流程,确保每个版本的 Yum 都经过充分测试和验证,从而提供高质量的软件包管理解决方案

相关文章:

【Linux】 yum —— Linux 的软件包管理器

Linux 的软件包管理器 yum yum 是什么什么是软件包查看软件包 yum 命令行工具yum 配置文件yum 凭什么可以支持下载呢?yum 生态yum 社区yum 的故障排除和资源支持yum 的持续集成和持续交付 yum 是什么 Yum(Yellowdog Updater Modified)是一个…...

函数柯里化(function currying)及部分求值

函数柯里化(function currying) currying又称部分求值。一个currying的函数首先会接受一些参数,接受了这些参数之后,该函数并不会立即求值,而是继续返回另外一个函数,刚才传入的参数在函数形成的闭包中被保…...

R语言简介、环境与基础语法及注释

R语言是一种功能强大的开源统计分析语言和编程环境。它提供了丰富的数据处理、数据可视化和统计分析函数,适用于各种数据分析和建模任务。 R语言的环境主要包括R编程环境和RStudio集成开发环境(IDE)。R编程环境是R语言的核心,它提…...

React报错 之 Objects are not valid as a React child

原文链接: 1、React报错之Objects are not valid as a React child 2、Objects are not valid as a React child error [Solved] 作者:Borislav Hadzhiev 以下文中涉及到的链接均来自于该作者,他写了很多相关的文章,可以多看看他的…...

看一看阿里云,如何把抽象云概念,用可视化表达出来。

云数据库RDS_关系型数据库 云数据库RDS_关系型数据库 专有宿主机 云数据库RDS_关系型数据库_MySQL源码优化版 内容协作平台CCP-企业网盘协同办公-文件实时共享...

软考笔记--系统架构评估

系统架构评估是在对架构分析、评估的基础上,对架构策略的选取进行决策。它利用数据或逻辑分析技术,针对系统的一致性,正确性,质量属性,规划结果等不同方面,提供描述性,预测性和指令性的分析结果…...

AI产品摄影丨香水

AI电商产品拍摄丨(可指定产品) 均为概念图 可换产品 可指定产品,可换logo 工具:StartAI 搭配“手机摄影”风格使用效果更佳哦 咒语:anha perfume in bottle on stone surface, in the style of everyday american…...

Linux系统——tee命令

目录 一、命令简介 二、命令使用 1.命令帮助 2.查看块设备列表并记录到文件存档 3.重复多次标准输入内容 4.将文件复制多份 5.静默输出到文件 6.使用追加方式写入文件 7.将错误信息也输出到文件 8.直接通过键盘往文件输入 9.参数使用案例 三、选项 一、命令简介 t…...

Java agent技术的注入利用与避坑点

什么是Java agent技术? Java代理(Java agent)是一种Java技术,它允许开发人员在运行时以某种方式修改或增强Java应用程序的行为。Java代理通过在Java虚拟机(JVM)启动时以"代理"(agent…...

Linux每日练习

第一部分 1.打开桌面的主文件夹,在图片文件夹下新建一个名为111的文件夹,在视频文件夹下创建一个名为222的文件夹 [rootxcz7 desk]# mkdir -p ./pic/111 [rootxcz7 desk]# mkdir -p ./video/2222.在桌面打开终端,先切换到根目录下&#xff…...

【Python】6. 基础语法(4) -- 列表+元组+字典篇

列表和元组 列表是什么, 元组是什么 编程中, 经常需要使用变量, 来保存/表示数据. 如果代码中需要表示的数据个数比较少, 我们直接创建多个变量即可. num1 10 num2 20 num3 30 ......但是有的时候, 代码中需要表示的数据特别多, 甚至也不知道要表示多少个数据. 这个时候,…...

【C++庖丁解牛】C++内存管理 | new和delete的使用以及使用原理

📙 作者简介 :RO-BERRY 📗 学习方向:致力于C、C、数据结构、TCP/IP、数据库等等一系列知识 📒 日后方向 : 偏向于CPP开发以及大数据方向,欢迎各位关注,谢谢各位的支持 目录 1. C/C内存分布2. C语…...

go调用 c++中数组指针相关

要在Go语言中调用C编译的DLL(动态链接库)并传递数组,你需要遵循以下步骤: 编写C代码:首先,你需要有一个C的DLL,它提供了你想要在Go中调用的函数。为了确保Go可以调用它,你需要使用C…...

NTFS Disk by Omi NTFS for mac v1.1.4中文版

NTFS Disk by Omi NTFS for Mac:NTFS文件系统的无缝桥梁 软件下载:NTFS Disk by Omi NTFS for mac v1.1.4中文版 🌐 跨平台访问,文件无阻 NTFS Disk by Omi NTFS for Mac 为您的Mac提供了对NTFS文件系统的无缝访问。无论您是在Win…...

Arduino应用开发——使用GUI-Guider制作LVGL UI并导入ESP32运行

Arduino应用开发——使用GUI-Guider制作LVGL UI并导入ESP32运行 目录 Arduino应用开发——使用GUI-Guider制作LVGL UI并导入ESP32运行前言1 使用GUI-Guider设计UI1.1 创建工程1.2 设计UI 2 ESP工程导入UI2.1 移植LVGL2.2 移植UI文件2.3 调用UI文件2.4 烧录测试 结束语 前言 GU…...

前端WebRTC局域网1V1视频通话

基本概念 WebRTC(Web Real-Time Communications) 网络实时通讯,它允许网络应用或者站点,在不借助中间媒介的情况下,建立点对点(Peer-to-Peer)的连接,实现视频流和音频流或者其他任…...

设计模式之构建者模式

构建者模式(Builder) 定义 将一个复杂对象的构建与其表示分离,使得同样的构建过程可以创建不同的表示 使用场景 主要角色 产品 Product建造者接口 Builder具体的建造者 Concrete Builder指挥者 Director:组织构建过程 示例代码 Data p…...

【PCIe 链路训练】之均衡(equalization)

1、概述 这篇文章简单介绍一下PCIE phy的均衡原理和过程,USB phy,ethernet phy这些高速的串行serdes也有相同或者相似的结构。可以不用太关注其中的细节,等到debug的时候可以查询协议,但是需要了解这个故事讲的大概内容。整个equalization过程是controller和phy一起配合完成…...

P1059 [NOIP2006 普及组] 明明的随机数

题目描述 明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了 N 个 1 到 1000 之间的随机整数 (N≤100),对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着…...

【每日一问】Cookie、Session 和 Token 有什么区别?

Cookie、Session 和 Token 通常都是用来保存用户登录信息的技术,但三者有很大的区别,简单来说 Cookie 适用于简单的状态管理,Session 适用于需要保护用户敏感信息的场景,而 Token 适用于状态无关的身份验证和授权。 具体来说&…...

智能合约语言(eDSL)—— proc_macro实现合约init函数

我们通过属性宏来实现合约的init函数,call函数其实和init是类似的; GitHub - XuHugo/xwasm 构建属性宏,要在cargo.toml里面设置一些参数,这是必须的。一般来说,过程宏必须是一个库,或者作为工程的子库&…...

如何使用 ArcGIS Pro 制作三维地形图

伴随硬件性能的提高和软件算法的优化,三维地图的应用场景会越来越多,这里为大家介绍一下在ArcGIS Pro怎么制作三维地形图,希望能对你有所帮助。 数据来源 教程所使用的数据是从水经微图中下载的DEM和影像数据,除了DEM和影像数据…...

服务器配置禁止IP直接访问,只允许域名访问

联网信息系统需设置只允许通过域名访问,禁止使用IP地址直接访问,建议同时采用云防护技术隐藏系统真实IP地址且只允许云防护节点IP访问服务器,提升网络安全防护能力。 一、Nginx 修改配置文件nginx.conf,在server段里插入正则表达式…...

#14vue3生成表单并跳转到外部地址的方式

1、背景 后端返回的json数据中包含一个json数组,此数组中是目标跳转地址所需要的form表单的数据。 2、跳转前的页面 const goto () > {finish.value true;request.post(/xxx/yyy,{zzz: zzz.value}).then(res > {const url res.data.submitUrlconst params…...

航测管家:智能化革新航测作业流程

在信息时代的浪潮中,倾斜摄影作为一种高效的航测技术,对于城市规划、土地管理、环境监测等领域的重要性日益凸显。然而,航测作业中的数据管理和设备操作复杂性一直是行业面临的挑战。深圳赛尔智控推出的赛尔航测管家,凭借其智能化…...

XXE-XML实体注入漏洞

目录 1.xml基础 1.1什么是xml 1.2xml文档结构 1.3 什么是DTD 1.4 什么是实体 1.5 什么是外部实体 2.xxe漏洞 2.1xxe漏洞基本介绍 2.2xxe漏洞的危害 经典漏洞案例分析 3.xxe漏洞挖掘和利用 3.1. 识别潜在的XML入口 3.2. 检查XML处理逻辑 3.3. 构造试探Payload 常…...

数据结构从入门到精通——栈

栈 前言一、栈1.1栈的概念及结构1.2栈的实现1.3栈的面试题 二、栈的具体实现代码栈的初始化栈的销毁入栈出栈返回栈顶元素返回栈中的元素个数检测是否为空Stack.hStack.ctest.c 前言 栈,作为一种后进先出(LIFO)的数据结构,在计算…...

webhook详解

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 webhook简介 在当今高度连接的网络世界中,没有什么可以孤立地发挥最佳作用。完成一项任务(几乎)总是需要多个实体的参与。电子商务应用程序需要与支付系统通信,支付…...

用 ChatGPT 帮自己修英文简历 — UI/UX 设计师篇

用 ChatGPT 帮自己修英文简历 — UI/UX 设计师篇 之所以能写这篇文章,主要是我本身是 AI 工具的重度使用者,在工作上目前大量依赖 GitHub Copilot 与 ChatGPT 等工具,所以算是有一些心得可以分享。我自己觉得要能发挥这类工具最大的效用&…...

2402. 2-SAT 问题(tarjan,2-SAT模板题)

活动 - AcWing 给定 n 个还未赋值的布尔变量 x1∼xn。 现在有 m 个条件,每个条件的形式为 “xi 为 0/1 或 xj 为 0/1 至少有一项成立”,例如 “x1 为 1 或 x3 为 0”、“x8 为 0 或 x4 为 0” 等。 现在,请你对这 n 个布尔变量进行赋值&am…...