当前位置: 首页 > 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 适用于状态无关的身份验证和授权。 具体来说&…...

XCTF-web-easyupload

试了试php,php7,pht,phtml等,都没有用 尝试.user.ini 抓包修改将.user.ini修改为jpg图片 在上传一个123.jpg 用蚁剑连接,得到flag...

7.4.分块查找

一.分块查找的算法思想: 1.实例: 以上述图片的顺序表为例, 该顺序表的数据元素从整体来看是乱序的,但如果把这些数据元素分成一块一块的小区间, 第一个区间[0,1]索引上的数据元素都是小于等于10的, 第二…...

可靠性+灵活性:电力载波技术在楼宇自控中的核心价值

可靠性灵活性:电力载波技术在楼宇自控中的核心价值 在智能楼宇的自动化控制中,电力载波技术(PLC)凭借其独特的优势,正成为构建高效、稳定、灵活系统的核心解决方案。它利用现有电力线路传输数据,无需额外布…...

【解密LSTM、GRU如何解决传统RNN梯度消失问题】

解密LSTM与GRU:如何让RNN变得更聪明? 在深度学习的世界里,循环神经网络(RNN)以其卓越的序列数据处理能力广泛应用于自然语言处理、时间序列预测等领域。然而,传统RNN存在的一个严重问题——梯度消失&#…...

【大模型RAG】Docker 一键部署 Milvus 完整攻略

本文概要 Milvus 2.5 Stand-alone 版可通过 Docker 在几分钟内完成安装;只需暴露 19530(gRPC)与 9091(HTTP/WebUI)两个端口,即可让本地电脑通过 PyMilvus 或浏览器访问远程 Linux 服务器上的 Milvus。下面…...

高频面试之3Zookeeper

高频面试之3Zookeeper 文章目录 高频面试之3Zookeeper3.1 常用命令3.2 选举机制3.3 Zookeeper符合法则中哪两个?3.4 Zookeeper脑裂3.5 Zookeeper用来干嘛了 3.1 常用命令 ls、get、create、delete、deleteall3.2 选举机制 半数机制(过半机制&#xff0…...

MVC 数据库

MVC 数据库 引言 在软件开发领域,Model-View-Controller(MVC)是一种流行的软件架构模式,它将应用程序分为三个核心组件:模型(Model)、视图(View)和控制器(Controller)。这种模式有助于提高代码的可维护性和可扩展性。本文将深入探讨MVC架构与数据库之间的关系,以…...

质量体系的重要

质量体系是为确保产品、服务或过程质量满足规定要求,由相互关联的要素构成的有机整体。其核心内容可归纳为以下五个方面: 🏛️ 一、组织架构与职责 质量体系明确组织内各部门、岗位的职责与权限,形成层级清晰的管理网络&#xf…...

Python爬虫(二):爬虫完整流程

爬虫完整流程详解(7大核心步骤实战技巧) 一、爬虫完整工作流程 以下是爬虫开发的完整流程,我将结合具体技术点和实战经验展开说明: 1. 目标分析与前期准备 网站技术分析: 使用浏览器开发者工具(F12&…...

C++ 基础特性深度解析

目录 引言 一、命名空间(namespace) C 中的命名空间​ 与 C 语言的对比​ 二、缺省参数​ C 中的缺省参数​ 与 C 语言的对比​ 三、引用(reference)​ C 中的引用​ 与 C 语言的对比​ 四、inline(内联函数…...