【Linux】yum的认识与简单配置

embedded/2024/10/18 14:17:08/

今天来初步认识一下yum——Linux下软件包管理器。
既然说到Linux下软件包管理器,那我们不妨来先谈论一下什么是软件包的概念。

1. 什么是软件包?

软件的下载需要源代码编译链接之后生成可执行文件进行运行。无论是Windows系统下还是Linux系统下,想要进行软件安装,我们平常人很少有去直接把源代码拿下来然后进行自己编译生成可执行程序的,因为如果要自己拿到源码进行编译,往往需要自己配置编译环境、一些链接库…甚至在自己编译时候会出现各种问题…显然,这种方式不利于客户下载软件,毕竟有点复杂。

把软件编译好,为用户提供更良好的下载体验。为了帮助用户减轻下载软件的负担,许多企业和个人开发者、甚至说是社区维护者(比如Linux)都会把一些成熟的软件自行将源代码进行编译,然后测试,把自己打包编译好的这个软件包放到自己对应的云服务器上,把下载链接给到对应的软件商店,让用户只需要在软件商店点下载即可自动下载,省去了用户对源代码进行编译的过程。我们把这种已经编译好的软件的打包合集称为软件包,对应的软件商店我们称之为软件包管理器

其中,我们安卓手机上有小米商店、OPPO商店、华为应用市场…等各种软件包管理器,Windows电脑上则有自带的微软商店,而Linux系统作为世界三大操作系统之一,自然也有属于自己的软件包管理器——yum

Linux系统下谁为用户编译好软件? 我们清楚,帮助用户把源代码编译好的一些公司、企业往往是为了盈利,但是Linux系统作为以开源为著称的操作系统,谁会去愿意拿着自己的时间、精力甚至说是自己去购买服务器来为用户提供编译服务和下载服务呢???这不得不来简单说一下Linux系统生态问题。

2. Linux的生态

什么是生态? 评判一个操作系统的好坏,不仅仅要看这个操作系统是否好用,更要看这个操作系统是否有配套的齐全社区、详细的文档说明和开发者与使用者之间频繁交流…
而我们把除了操作系统本身是否好用之外,把操作系统对应的社区、文档、交流等都统称为生态

Linux开发人员的资金与维护。 我们知道Linux系统属于开源系统,各种对应的软件都是免费开源的、免费使用的。作为一个普通开发者把对应自己写的代码放到上面之后,会有很多其他开发者/使用者会对代码提供意见(也可以说是挑毛病),当一个好项目发展到一定程度,往往会很多人对其产生依赖,这里不乏有些企业,一旦项目开发者缺少资金,开发者往往会发布通知自己因为资金问题暂停项目,如果这个项目是没有多少人依赖的,自然会退出舞台,停止维护,但是一旦这个项目是有很多公司在用,项目一旦停止维护那些用这个项目的公司往往会愿意自己出钱资助Linux开发者继续维持项目,等同于是好的项目一定有人愿意花钱。
更为重要的是,一个好项目最初可能由一个人来进行维护更新,随着项目的推进,可能会有更多人参与进来,这也就大大保证了项目的维护力度和速度,同时又有那么多人去用去测试这个项目的代码是否安全可靠,所以其实Linux下好项目并不差钱也不差维护和更新人员,自然也不差对应的服务器和为软件打包编译的人了。

结论就是:因为Linux的特殊生态原因,即使Linux下软件是开源免费的,也会有人自主去做编译和打包工作。

通过上面的了解,我们下面简单谈论一下yum的极简单/基本用法:

3. yum的基本操作

yum由 指令 + 仓库 组成,仓库可以分为base仓库和eoel仓库,通常base仓库是一个云服务器自带的下载仓库,epel仓库需要自己额外下载安装。
这些仓库存放的是一些找到对应服务器进行下载软件的地址链接。

yum list | grep xxx // 搜索特定软件
yum install -y xxx // 下载特定软件
yum remove xxx // 移除特定软件
// yum的内置下载链接仓库:ls/etc/yum.repos.d/
// 下载epel扩展软件源链接 yum install epel-release

具体详见Linux下:man yum

4. 配置yum源

yum源是什么? yum源是yum中的仓库链接,我们上面说到yum仓库内的链接指向对应软件的下载地址,所以说yum源是十分重要的。
为什么要配置yum源? 虽然说yum有自带的base仓库,但是这个base仓库里默认是指向的是官方下载地址,大部分都在国外,而我们国家访问国外网站往往速度一言难尽,所以说我们建议把yum源修改为国内的yum源,下载速度更快更加稳定。
yum源配置为谁? 国内有许多提供yum源配置的组织/机构,比如清华大学、163…他们得到国家和Linux官方特殊批准,允许把国外下载链接镜像到国内。

centos7配置yum源说明:https://www.cnblogs.com/xrg-blog/p/13208562.html
阿里云开源镜像站:https://mirrors.aliyun.com/repo/

yum源一键配置 挨个去查看对应网站的配置信息往往很繁琐,直接套用别人已经整理好的配置链接就行。

wget -0 /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo

EOF


http://www.ppmy.cn/embedded/85620.html

相关文章

kitti数据集转为bag

下载原始的数据集后,通过终端来运行: unzip 2011_10_03_calib.zip和 unzip 2011_10_03_drive_0047_sync.zip这样这个文件夹才算准备好: 然后去下载kitti2bag工具: pip install kitti2bag然后去2011_10_03文件夹下执行&#xf…

【运维笔记】数据库无法启动,数据库炸后备份恢复数据

事情起因 在做docker作业的时候,把卷映射到了宿主机原来的mysql数据库目录上,宿主机原来的mysql版本为8.0,docker容器版本为5.6,导致翻车。 具体操作 备份目录 将/var/lib/mysql备份到~/mysql_backup:cp /var/lib/…

【Android Compose】ListView效果

【Android Compose】ListView效果 1、Column、Row 和 Box2、LazyColumn和LazyRow3、Compose 中的状态4、ListView效果5、android-compose-codelabs Jetpack Compose 使用入门 Jetpack Compose 教程 Jetpack Compose 1、Column、Row 和 Box Compose 中的三个基本标准布局元素是 …

动态接口调优:在Mojo模型中调整模型的输入输出接口

动态接口调优:在Mojo模型中调整模型的输入输出接口 在机器学习领域,Mojo模型通常指代一个经过训练、准备部署的模型。模型的输入输出接口(I/O)是模型与外界交互的桥梁,其设计直接影响到模型的可用性和灵活性。本文将探…

【技术追踪】基于扩散模型的医学图像合成与测量指导(TPAMI-2024)

不确定性引导条件:从生成类别医学图像到生成没那么确定的类别医学图像,增加合成图像的信息量~ 论文:Measurement Guidance in Diffusion Models: Insight from Medical Image Synthesis 代码:https://github.com/yangqy1110/MGDM …

【CTFWP】ctfshow-web32

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 题目介绍&#xff1a;题目分析&#xff1a;payload&#xff1a;payload解释&#xff1a;flag 题目介绍&#xff1a; <?php/* # -*- coding: utf-8 -*- # Autho…

理解 Kotlin 中的 crossinline 关键字

理解 Kotlin 中的 crossinline 关键字 Kotlin 提供了丰富的功能&#xff0c;用于开发简洁且富有表现力的代码。这些特性包括高阶函数和 Lambda 表达式&#xff0c;它们是 Kotlin 设计的核心部分。在使用这些构造时&#xff0c;您可能会遇到 crossinline 关键字。在本文中&#…

ASP.NET MVC

ASP.NET MVC与.NET Framework关系 .NET Framework是一个庞大的代码库&#xff0c;能为多种编程语言提供支持(如C#、VB、F#等)。同时.NET Framework 提供了多种技术框架&#xff0c;ASP.NET MVC是.NET Framework提供的众多技术框架中的一种&#xff0c;用于开发Web应用。 .NET …