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

今天来初步认识一下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.mzph.cn/web/48141.shtml

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

相关文章

QT总结——图标显示坑

最近写代码遇到一个神仙大坑,我都怀疑我软件是不是坏了,这里记录一下。 写qt工程的时候我们一般会设置图标,这个图标是窗体的图标同时也是任务栏的图标,但是我发现生成的exe没有图标,这个时候就想着给他加一个图标&…

AI学习记录 - 激活函数的作用

试验,通过在线性公式加入激活函数,可以拟合复杂的情况(使用react实现,原创) 结论:1、线性函数的叠加,无论叠加多少次,都是线性的 如下图 示例代码 线性代码,使用ykxb的方式&…

【BUG】已解决:ValueError: All arrays must be of the same length

ValueError: All arrays must be of the same length 目录 ValueError: All arrays must be of the same length 【常见模块错误】 【解决方案】 问题原因 解决方法 欢迎来到英杰社区https://bbs.csdn.net/topics/617804998 欢迎来到我的主页,我是博主英杰&…

Python爬虫实战案例(爬取图片)

爬取图片的信息 爬取图片与爬取文本内容相似,只是需要加上图片的url,并且在查找图片位置的时候需要带上图片的属性。 这里选取了一个4K高清的壁纸网站(彼岸壁纸https://pic.netbian.com)进行爬取。 具体步骤如下: …

[Python][Python入门]详细讲解

目录 0.铺垫1.常量和表达式2.变量3.变量的类型1.整数2.浮点数3.字符串4.布尔 4.动态类型特性5.注释∞.积累 0.铺垫 Python中,一个语句写完了之后,可以加上分号,也可以不加 通常情况下都是不加的,如果加了,也不算错如果…

Ubuntu-文件管理器中鼠标右键添加文本文件

文件管理器中鼠标右键添加文本文件 一、概述二、步骤 一、概述 Ubuntu在文管右键发现没有创建文本文件的菜单, 期望如下所示,这样的操作非常简单 二、步骤 找到模板文件夹 在模板文件夹,创建自己想要的文件就好啦 这个也是支持放文件夹去…

【C++】学习笔记——哈希_1

文章目录 十八、哈希1. unordered系列关联式容器2. 底层结构哈希函数哈希冲突 未完待续 十八、哈希 1. unordered系列关联式容器 在C11中,STL又提供了4个unordered系列的关联式容器,这四个容器与红黑树结构的关联式容器使用方式基本类似,只…

Linux云计算 |【第二阶段】AUTOMATION-DAY1

主要内容: 版本控制(集中式、分布式)、Git基础(服务端、客户端部署,基础命令操作、文档版本管理)、Git进阶(数据恢复、分支、冲突管理) 一、版本控制概念 版本控制是一种记录文件变…

iterm2工具的使用|MAC电脑终端实现分屏|iterm2开启滚动操作

iterm2 工具概括 iTerm2 是一款非常强大的终端工具。 iTerm2 最初是为 macOS 开发的,但也有 Windows 、Linux 发行版(Ubuntu、centos…)可用。 应用场景 Mac操作系统中想实现终端分屏 iterm2 工具特点 多标签和分屏: 可以在同一个窗口中打开多个标签…

C基础(学习)2024.7.23

Linux基本命令,vi编译器的使用,简单的编程步骤,程序语言,gcc编译器编译过程,进制转换相关知识可以查看文档http://t.csdnimg.cn/CmqhC 数值表示,词法符号,变量,常量相关知识可以查看…

.mp4格式的视频为何不能通过video标签在chrome浏览器中播放?

chrome浏览器目前只支持编解码格式为H264格式的视频,如果某个.mp4后缀的视频不能在chrome浏览器中播放,多半是这个视频的编码格式不是H264的! 1、可以通过ffmpeg工具查看当前视频的编码格式: ffprobe -v error -select_streams v…

JS_plus.key.addEventListener监听键盘按键

官方文档:https://www.html5plus.org/doc/zh_cn/key.html 监听事件 plus.key.addEventListener(keydown, e > {console.log("keydown: "e.keyCode) }) plus.key.addEventListener(keyup, e > {console.log("keyup: "e.keyCode) })移除事…

arcgis api for js4.x实现点击GraphicsLayer上绘制的Graphic获取Graphic中的attributes中的信息

需求:arcgis api for js4.x 在Map地图中添加GraphicsLayer图层,在GraphicsLayer图层添加绘制graphics点,点击绘制的点,获取graphics点中的attributes中的信息 var cityCenter new Point(116, 36, new SpatialReference({ wkid: …

leetcode日记(48)排列序列

这道题想到了规律就不算难&#xff0c;列了好几个示例想出的规律&#xff0c;试着排序几个就会了 class Solution { public:string getPermutation(int n, int k) {string result;int m1;int i1;for(i;i<n;i) m*i;i--;int pm/i;string s;for(int j0;j<n;j) s.append(to_…

Vue 3 和 SpringBoot 实现文件分片上传示例

前端实现&#xff08;Vue 3和vue-upload-component&#xff09; 安装 vue-upload-component&#xff1a; npm install vue-upload-component --save创建一个Vue组件用于上传文件&#xff08;FileUploader.vue&#xff09;&#xff1a; <template><div><file-…

基于VUE的软件项目开发管理系统/项目管理系统/软件开发过程管理系统的设计与实现

摘 要 在Internet高速发展的今天&#xff0c;我们生活的各个领域都涉及到计算机的应用&#xff0c;其中包括软件项目开发管理系统的网络应用&#xff0c;在外国软件项目开发管理系统已经是很普遍的方式&#xff0c;不过国内的软件项目开发管理可能还处于起步阶段。软件项目开发…

【计算机网络】三次握手、四次挥手

问&#xff1a;三次握手 四次挥手 TCP 连接过程是 3 次握手&#xff0c;终止过程是 4 次挥手 3次握手 第一步&#xff1a;客户端向服务器发送一个带有 SYN&#xff08;同步&#xff09;标志的包&#xff0c;指示客户端要建立连接。 第二步&#xff1a;服务器收到客户端的请求…

【ffmpeg命令基础】视频选项讲解

文章目录 前言设置输出文件的帧数设置每秒播放的帧数设置输出视频的帧率示例1&#xff1a;更改输出视频的帧率示例2&#xff1a;将图像序列转换为视频 设置输入视频的帧率示例3&#xff1a;处理高帧率视频示例4&#xff1a;处理低帧率视频 同时设置输入和输出帧率示例5&#xf…

QtCreator和QtDesignStudio最佳实践

一、QTC和QDS工作流概述 很多初学者对 QDS(Qt Design Studio) 和 QTC(Qt Creator)如何配合经常存有疑问&#xff0c;本文介绍具体的工作流程。 工作流程 1.产品设计&#xff1a;通过PS、Figma、XD等专业工具设计页面视觉和原型。 2.QDS 原型制作&#xff1a;导入设计源文件、…

C++五子棋(未做完,但能玩,而且还不错)

代码放下面了&#xff0c;关于步骤介绍的我以后再完善一下。 #include<bits/stdc.h> #include<cstdio> #include<cstdlib> #include<ctime> #include<windows.h> #include<stdlib.h> #include<time.h> #define random(x) (rand()%x…