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

news2024/11/20 13:34:17

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 都经过充分测试和验证,从而提供高质量的软件包管理解决方案

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

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

相关文章

洛谷 P8816 [CSP-J 2022] 上升点列(T4)

目录 题目传送门 算法解析 最终代码 提交结果 尾声 题目传送门 [CSP-J 2022] 上升点列 - 洛谷https://www.luogu.com.cn/problem/P8816 算法解析 k 0 且 xi, yi 值域不大时,这题是非常简单的 DP,类似「数字三角形」。 记 dp(x,y) 为「以 (x,y) …

GaussDB(DWS)运维利刃:TopSQL工具解析

在生产环境中,难免会面临查询语句出现异常中断、阻塞时间长等突发问题,如果没能及时记录信息,事后就需要投入更多的人力及时间成本进行问题的定位和解决,有时还无法定位到错误出现的地方。在本期《GaussDB(DWS)运维利刃&#xff1…

Dubbo基础入门二

8、Dubbo协议 服务调用 8.1 服务端 启动过程深入分析 我们查看一下服务启动的过程 ProtocolFilterWrapper.export 好我们进入DubboProtocol.export 创建服务 分析我们的Handler 我们接着返回刚才位置 下面的super方法里面会创建服务,ChannelHandlers.wrap会对hand…

套接字编程 --- 一

目录 1. 预备知识 1.1. 端口号 1.2. 认识TCP协议 1.3. 认识UDP协议 1.4. 网络字节序 2. socket 2.1. socket 常见系统调用 2.1.1. socket 系统调用 2.1.2. bind 系统调用 2.1.3. recvfrom 系统调用 2.1.4. sendto系统调用 2.3. 其他相关接口 2.3.1. bzero 2.3.2…

代码随想录算法训练营第day10|232.用栈实现队列、 225. 用队列实现栈

目录 a.232.用栈实现队列 b. 225. 用队列实现栈 a.232.用栈实现队列 题目链接 请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作(push、pop、peek、empty): 实现 MyQueue 类: void push(int x) 将元素…

专题一 - 双指针 - leetcode 202. 快乐数 | 简单难度

leetcode 202. 快乐数 leetcode 202. 快乐数 | 简单难度1. 题目详情1. 原题链接2. 基础框架 2. 解题思路1. 题目分析2. 算法原理3. 时间复杂度 3. 代码实现4. 知识与收获 leetcode 202. 快乐数 | 简单难度 1. 题目详情 编写一个算法来判断一个数 n 是不是快乐数。 「快乐数」…

掼蛋的牌型与规律(上篇)

掼蛋是一项配合类的棋牌竞技游戏,掼蛋的最大魅力以及最集中的特点在于变化,在于组牌的变数。有的掼蛋新手往往先把牌配死,并且直接决定好出牌计划,然后守株待兔。掼蛋的取胜之道在于静态组合加上动态变化。本文主要介绍一下掼蛋的…

【广度优先搜索】【图论】【并集查找】2493. 将节点分成尽可能多的组

作者推荐 视频算法专题 本文涉及知识点 广度优先搜索 图论 并集查找 LeetCod2493. 将节点分成尽可能多的组 给你一个正整数 n ,表示一个 无向 图中的节点数目,节点编号从 1 到 n 。 同时给你一个二维整数数组 edges ,其中 edges[i] [ai…

神州大地人类来源猜想

在公元前2000年以前,伟大的中华民族还是石器时代,我们有很多美好的神话和传说,三皇五帝就是这个时代伟大部落或者部落首领的故事。 关于人类的历史,从基因学上最新的研究成果大概是这样的,虽然从300万年前就诞生了人类…

3D资产管理

3D 资产管理是指组织、跟踪、优化和分发 3D 模型和资产以用于游戏、电影、AR/VR 体验等各种应用的过程。 3D资产管理也称为3D内容管理。 随着游戏、电影、建筑、工程等行业中 3D 内容的增长,实施有效的资产管理工作流程对于提高生产力、减少错误、简化工作流程以及使…

Xinstall微信调起APP,提升用户体验与转化率

在移动互联网时代,APP已经成为人们日常生活中不可或缺的一部分。然而,随着市场竞争的加剧,如何让用户更便捷地使用APP,提高分享营销的下载转化率,成为了开发者们亟待解决的问题。今天,我们将向大家介绍一款…

C/C++的内存管理与初阶模板

引言 我们在学习C的时候,会经常在堆上申请空间,所以这个时候就体现了内存管理遍历。 图下是我们常见的计算机的内存划分: 我也在图下对部分变量存在的位置,及时标注。(如果有任何问题可以联系博主修改,感谢大家。) 那…

如何在Windows上使用Docker,搭建一款实用的个人IT工具箱It- Tools

文章目录 1. 使用Docker本地部署it-tools2. 本地访问it-tools3. 安装cpolar内网穿透4. 固定it-tools公网地址 本篇文章将介绍如何在Windows上使用Docker本地部署IT- Tools,并且同样可以结合cpolar实现公网访问。 在前一篇文章中我们讲解了如何在Linux中使用Docker搭…

Docker安装主从数据库

首先开启docker后直接执行命令 docker run -d \ -p 3307:3306 \ -v /xk857/mysql/master/conf:/etc/mysql/conf.d \ -v /xk857/mysql/master/data:/var/lib/mysql \ -e MYSQL_ROOT_PASSWORD123456 \ --name mysql-master \ mysql:8.0.29 默认情况下MySQL的binlog日志是自动开…

深入浅出Redis(八):Redis的集群模式

引言 Redis是一款优秀的键值对、内存非关系型数据库,单机节点下的Redis存在无法保证高可用、容量不足等问题 上篇文章介绍的哨兵主要能够保证主从架构下Redis的可用性,但是仍然存在容量不足、推举新的主节点时不能访问Redis的问题,集群可水…

#QT(串口助手-界面)

1.IDE:QTCreator 2.实验:编写串口助手 3.记录 接收框:Plain Text Edit 属性选择:Combo Box 发送框:Line Edit 广告:Group Box (1)仿照现有串口助手设计UI界面 (2)此时串口助手大…

ai脚本创作的软件有哪些?分享3款好用的工具!

随着人工智能技术的飞速发展,AI脚本创作软件已经成为内容创作者们的新宠。这些软件不仅能够帮助我们更高效地生成文章、视频脚本等,还能为我们提供独特的创意视角和无限的灵感。本文将带您深入了解几款备受瞩目的AI脚本创作软件,看看它们如何…

带胶囊按钮的标题是如何实现的

使用uni-app开发小程序经常会遇到胶囊按钮和标题之间融合的问题,因为这样可以大大提高页面的美观和整体性,那么接下来简单拆分步骤看下是如何实现的吧 😁 可以看到我们设置的标题是在默认标题栏之下的(这不是我们想要的效果 &…

许多人可能还不了解这个信息差:美赛的第一批 EI 已经录用,不用再犹豫啦

格局打开,美赛论文转学术论文发表 🚀🚀 各位同学,美赛已经结束了一段时间,你们是否还在焦急地等待最终成绩的公布?一些有远见的同学已经提前收到了一份喜讯:他们的美赛论文已被转化为学术论文并…

VMware虚拟机

1、虚拟机介绍 虚拟机(Virtual Machine)是一种软件,可以用来模拟具有完整硬件功能的完整的计算机系统的软件,并且可以和主机环境隔离开,互不影响。也就是,在实体计算机中能够完成的工作都可以通过虚拟机实…