【Linux】Linux软件包管理器yum

news2024/12/24 21:30:53

希望你今天有一个好心情
在这里插入图片描述

文章目录

  • 一、(客户端&&服务器) + (软件包&&软件包管理器yum) + (利益链&&逻辑链)
    • 1.客户端&&服务器
    • 2.软件包&&软件包管理器
    • 3.一条利益链+一条逻辑链
  • 二、Linux下包管理器yum的使用(root身份或sudo提权进行搜索list,安装install,卸载remove)
    • 1.yum的使用
    • 2.yum查找软件包的原理
    • 3.如何更换yum源配置文件?
  • 三、扩展yum源epel-release


一、(客户端&&服务器) + (软件包&&软件包管理器yum) + (利益链&&逻辑链)

1.客户端&&服务器

客户端:或称为用户端,是指与服务器相对应,为客户提供本地服务的程序。

服务器:
1、服务器是在网络中为用户提供服务的计算机。
2、本质上,服务器和普通的PC一样,都是计算机。
3、但是通常服务器比PC的性能要高很多,服务器的高性能体现在高速度的CPU运算能力、长时间的可靠运行、强大的IO数据吞吐量等方面。

~举几个客户端和服务器的例子:
1.你电脑上的Edge浏览器就是客户端程序,服务器那边的网站就是服务器端程序
2.你使用QQ聊天,QQ就是客户端程序,腾讯公司机房里,存储数据,交换聊天信息的程序就是服务器端程序
3.你玩的王者荣耀,它就是天美工作室群开发的客户端程序,在腾讯机房里面存储你的身份数据,游戏排名等等的程序就是服务器端程序。

~提示: 客户端程序和服务器端程序通常是多对一关系,即一个服务器端程序,为众多的客户端程序提供数据服务。
我们在自己的电脑上做网站,调试网站,通常使我们的电脑即充当客户端又充当服务器端。

2.软件包&&软件包管理器

1.软件包 (SoftWare Package)是指具有特定的功能,用来完成特定任务的一个程序或一组程序。
2.软件包管理器实际上是一种工具,它允许用户在操作系统上安装,删除,升级,配置和管理软件包。软件包管理器可以是像“应用商店Microsoft Store”这样的图形化应用,也可以是像 apt-get 或 pacman 这样的命令行工具。

在这里插入图片描述

在Linux下安装软件,一个通常的办法是下载到程序的源代码,并进行编译,得到可执行程序。
但是这样太麻烦了,于是有一部分大佬把常用的软件提前编译好,做成软件包(可以理解成windows上的安装程序)放在一个服务器上,然后我们就可以通过软件包管理器很方便的获取到这个已经被大佬编译好的软件包,然后直接进行安装。
软件包和软件包管理器就相当于’‘app’‘和’‘应用商店’'的关系,我们平常通过应用商店这种东西,对软件包也就是app进行下载。
我对于下载的理解比较浅显,可能就是那些大佬将编译好的源代码进行以某种算法作为基础的打包和压缩,我们的下载可能就是从远端,也就是服务器那里,两者一连接,我们对这个压缩包进行解压,植入到我们的手机当中,然后我们手机就拥有了一个可执行程序,也就拥有了软件。

3.一条利益链+一条逻辑链

为什么有人免费给我们将代码编译并且打包压缩变成一个软件包呢?他怎么那么好心,免费给我们提供许许多多的软件包呢?这些人出于什么目的啊?

很显然,这些人出于的目的很简单,就是为了让用户把他们的软件用起来,这样他的公司才可以通过有用户用这个软件,来利用许许多多的途径赚钱,他背后是有利益在驱动的。
羊毛出在狗身上,猪来买单
~1: 羊毛指的是利润,狗指的是消费者、用户,而猪则指的是广告商或投资者。
我们可以这样理解,在当前的市场之中,我们有一个好的项目,我们想让这个项目、产品真正上市、挣钱。那么,有一个前提条件就是我们必须积累足够多的用户(狗),把用户服务好了,有了好的用户评价之后,投资者(猪)才会闻风而来,当我们获得投资,我们才有可能上市,赚取利润(羊毛)。
~2: 很多人可能会好奇,各大搜索引擎如何赚钱。其实,这又是一个“羊毛出在狗身上,猪来买单”的例子。以百度搜索为例,百度提供优质免费的搜索服务,积累大量的用户(狗),其他公司(猪)需要获取大量的曝光,便会借助百度提供的广告服务,而这一过程是需要其向百度支付费用,在这一过程中,百度便通过自己免费的服务在另一个维度赚取利润(羊毛)。

~3: 上面所说的起始非常好理解,因为有利益在驱动嘛,自然而然就会有人给我们提供优质的服务以及许许多多的软件包。


内容分隔线

但是LInux呢?有什么样的人会为Linux上的服务器提供各种各样的工具呢?他们又是出于怎样的目的呢?他们可是没有利益驱动的啊,谁来LInux上搞广告啊,又有谁来linux上开发游戏啊!
如果某个软件开源了,他会有自己的社区,比如说Linux操作系统,他会有自己的社区,因为软件是开源的,所以他的代码写的非常好,稳定且高效,并且Linux内核获取的成本也很低,而且对于企业来讲不需要付费或者不需要过度付费。
所以上面种种的优点就会导致一个特性的出现,就是用户量的剧增,你想嘛,一个所有方面都好的操作系统谁不喜欢用啊,所以这就导致很多的企业都用Linux操作系统。

那么假设现在Linux出了一点点小问题,谁最不愿意看到开源的Linux出问题呢?还能有谁啊,肯定是使用它的各个商业公司!!!所以,我们就可以看到Linux有各种各样的社区,这些社区有什么用呢?其实就是为了让我们的Linux变得越来越好,大家互相讨论,互相思考,解决Linux所存在的问题,这多好啊。

如果你这么想,那简直是太天真了,这样的人肯定是少数,除了某些具有探究、钻研精神的人会这么干,其他人肯定不愿意干啦,吃饱了撑的?不给钱还耗时间。
其实这里还有一个目的就是,让那些有钱的商业公司或者个人更加的依赖Linux,如果现在某个Linux社区出了问题,没有钱买服务器啦,因为许多公司用Linux,所以他们希望这些社区能够进行正常运转,不愿意看到他们黄掉,那自然这些企业和公司就会给Linux的社区捐款,这是一定的!!! 虽然钱不多,但买几台云服务器,维持一下社区,这绝对是够的。

所以开源也有他们自己的生态,他们的生态就是尽快的影响全世界,让世界人民都被影响,由于开源的种种好处,可以让其以极快的速率占领市场,占领市场之后,紧接着,一些使用Linux操作系统的人或企业,他们是不太愿意看到Linux的各个社区出现问题的。

二、Linux下包管理器yum的使用(root身份或sudo提权进行搜索list,安装install,卸载remove)

1.yum的使用

可以利用yum list | grep sl 借助管道命令和文本行过滤工具grep指令,对软件包进行查找。
软件包版本中有el7的,就代表centos7版本,el6就代表centos6
@后面代表的是提供软件包的yum源,类似于 “小米应用商店”, “华为应用商店” 这样的概念.
x86_64后缀表示64位系统的安装包,i686后缀表示32位系统安装包,我们在选择安装包时,要和系统匹配。

在这里插入图片描述

yum install sl.x86_64,这样下载,yum会给我们进行sl的严格匹配的。
我们在安装时,本质上是把软件包下载下来,然后把软件包拷贝到特定的目录,所以有时候我们是安装到系统路径下,而并非是你自己账号下的目录当中。
在Linux当中,一般安装某些软件,只要安装好了,大家都可以用,也就是说一个人把软件安装好了,其他用户就都可以进行使用,所以为了能够更好的安装,我们可以直接把自己的用户切换成root,以root的身份来进行安装或者在yum前面带上sudo进行指令提权。

推荐使用root身份来进行软件包的下载,装上了所有人就都能用了,包括其他用户

install和remove可以解决对软件包下载和卸载的任务。
在这里插入图片描述

在这里插入图片描述
输入sl便可以执行这个软件包sl.x86_64了

在这里插入图片描述
Linux服务器提供的软件有官方的和扩展的软件,官方软件之外的所有软件都是扩展软件,比如一些较新版本的软件包,刚开始很有可能是不稳定。但如果随着时间的推移,发现,这个较新版本的软件是比较优的,并且较稳定,那它就会被列入官方软件源里。所以我们在安装软件时,尽量去安装官方的软件,但一般常见的软件,能叫的上名的软件基本都是官方的软件。

我们刚刚下载的软件包sl是属于扩展软件源的。

2.yum查找软件包的原理

首先这些软件包管理器必须知道各个软件在服务器中的下载地址!!!

如果不知道,那客户要你干什么啊?我想下载个QQ,你这个包管理器找不到QQ在哪?这当然是不行的,所以包管理器必须知道各个软件包在服务器中的下载地址。

我们的软件包一般都是内置下载链接的地址(配置文件)

配置文件本质上是包含成功操作程序所需信息的文件,这些信息以特定方式构成。它们不是在程序中进行硬编码,而是用户可配置的,通常存储在纯文本文件中

yum有自己的配置文件,我们将其称之为yum源。所以yum在下载软件包时,是要先去他自己的配置文件里面查找对应的软件包的地址,然后根据地址去搜索特定的软件,最后进行下载

下面就是我们的yum源路径,/etc/yum.repos.d,repos是仓库的简写,.d就是目录

CentOS-Base.repo被我们称之为基础yum源。,并且Linux系统中只认这个文件名作为yum的配置文件。
在这里插入图片描述

baseurl=http://mirrors.tencentyun.com/centos/ r e l e a s e v e r / e x t r a s / releasever/extras/ releasever/extras/basearch/
baseurl就相当于我们下载软件包时,特定的下载路径。
$符号开头的这些值,最后会被你的Linux操作系统版本,你对应搜索到的路径给替换掉

在这里插入图片描述

3.如何更换yum源配置文件?

~1先将原来的yum源CentOS-Base.repo重命名一下,让Linux不再认为它是基础yum源了。
在这里插入图片描述
~2运行wget 获取新的yum源配置文件 – 可以通过网络搜索得到 – 因为centos7已经是非常成熟的平台
在这里插入图片描述

~3然后对获取到的新的yum源配置文件,进行mv重命名为CentOS-Base.repo(让Linux重新认为yum源配置文件是我们新获取的配置文件)

~4运行yum clean all && yum makecache 清理老的缓存并生成新的缓存

执行完上述步骤后,就完成了yum源的更新问题。

三、扩展yum源epel-release

如果你想安装的软件,找不到,有可能就是在扩展的yum源中:epel.repo
sudo yum install -y epel-release 这个软件包可以根据我们的基础yum源,帮我们找到和它匹配的扩展yum源
然后我们接下来正常的安装我们想要安装的软件了。
sudo yum install -y xxx即可

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

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

相关文章

【安全】免密登陆SQLSERVER 之 Token 窃取

先"灌肠" 往往在高版本系统 或者 在强密码的等等 特殊情况下我们无法获得 明文密码。那么我们该如何在没有明文密码及有windows哈希的情况下登陆 SQLSERVER呢(当然我并没有sa等任何账号); 默认安装点击登陆名 发现有好几个可以登陆的用户在users 组里都可以登陆 (基本…

WLAN二层旁挂组网与三层旁挂组网

第一部分:关于底层逻辑问题 1、WLAN二层组网与三层组网到底是指哪里是二层哪里是三层,两者有什么区别? WLAN的二层组网与三层组网指的是AP与AC之间建立的Capwap隧道是二层的还是三层的,以此来区分是二层组网还是三层组网。注意&…

使用微信部署ChatGPT

使用微信部署ChatGPT 一、介绍 最近ChatGPT爆火,网上出现了很多ChatGPT项目,有部署到微信的,有部署到QQ机器人的,今天介绍一种部署到微信的方法。 此项目参考github上https://github.com/869413421/wechatbot项目,需…

Ajax简介与基本使用

前言 本文为Ajax简介与基本使用相关知识,首先将对Ajax进行简介(包含:什么是Ajax、Ajax的作用、Ajax的好处),然后介绍JS方式Ajax的实现(包含发送 Ajax 请求的五个步骤、创建 XMLHttpRequest 对象、向服务器发…

通用的融合框架:IFCNN

IFCNN: A general image fusion framework based on convolutional neural network (IFCNN: 基于卷积神经网络的通用图像融合框架) 在本文中,我们提出了一种基于卷积神经网络的通用图像融合框架,称为IFCNN。**受变换域图像融合算…

测试人生 | 折腾 6 年踩坑无数的”笨小孩“:方向对了,路就不会遥远!

image1080459 72.4 KB 编者按:本文来自霍格沃兹测试学院学员 笨小孩 的分享,从退伍军人到测试小白,从培训被坑再到经历各种小公司倒闭、裁员、6年间几番折腾,最终靠“笨功夫”成功转型测试开发,年薪近 30W&#xff0c…

番外8:ADS导出DWG文件并交给工厂制板

番外8:ADS导出DWG文件并交给工厂制板 (功率放大器板子和散热器) 将ADS源文件导出PCB与散热器文件(功率放大器) 导出文件并预处理 打开制作好的版图文件,在原有基础上打好散热孔和固定孔,散热…

Deep Learning Architecture for Automatic Essay Scoring

1. Introduction 利用手工制作的特征,如文章长度、句子长度、语法正确性或可读性来评分的文章面临以下问题。首先,它可能被学生用作欺骗系统的一种选择,即写出并提交一篇结构良好但偏离主题**的文章。由于文字结构和表面等语言特征&#xff…

[附源码]Python计算机毕业设计电影网站系统设计Django(程序+LW)

该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程 项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等…

OpenAi[ChatGPT] 使用Python对接OpenAi APi 实现智能QQ机器人-学习详解篇

文章大部分来自:https://lucent.blog 原文博客地址:https://blog.ideaopen.cn 最近火热全文的ChatGPT,被很多人玩出了花,我们在Github上可以看到几个常见的逆向SDK包,这一篇我将以学习的方式来写这一篇文章。 这些SDK不…

NeurIPS 2022 | 浙大与SEA AI Lab提出高表现力可泛化语音合成

语音合成旨在根据文本合成特定说话人的语音。先进语音合成模型展示了强大的生成能力,无论是生成高水平的细节还是其生成的多样性,都让人印象深刻。个性化语音生成需求的增加对语音合成模型提出了挑战,尤其是在域外(OOD; Out-Of-Di…

[附源码]Node.js计算机毕业设计大悦城电竞赛事管理系统Express

项目运行 环境配置: Node.js最新版 Vscode Mysql5.7 HBuilderXNavicat11Vue。 项目技术: Express框架 Node.js Vue 等等组成,B/S模式 Vscode管理前后端分离等等。 环境需要 1.运行环境:最好是Nodejs最新版,我…

CV-对比学习-模型:MoCo/SimCLR/BYOL/SimSiam

很多大佬认为,深度学习的本质就是做两件事情:Representation Learning(表示学习)和 Inductive Bias Learning(归纳偏好学习)。在表示学习方面,如果直接对语义进行监督学习,虽然表现很…

海泰隐私计算能力助力实现数据“可用不可见”

一、 数据孤岛阻碍数据发展 当今时代,信息技术日新月异,人类文明正经历从信息科技(IT)时代向数据科技(DT)时代的飞速变革。数据作为基础性战略资源的地位日益凸显。然而,数据孤岛问题突出。出于对数据安全的传统保护&…

单商户商城系统功能拆解45—应用中心—积分商城

单商户商城系统,也称为B2C自营电商模式单店商城系统。可以快速帮助个人、机构和企业搭建自己的私域交易线上商城。 单商户商城系统完美契合私域流量变现闭环交易使用。通常拥有丰富的营销玩法,例如拼团,秒杀,砍价,包邮…

pikachu靶场-2 跨站脚本漏洞(xss)

跨站脚本漏洞(xss) Cross-Site Scripting 简称为“CSS”,为避免与前端叠成样式表的缩写"CSS"冲突,故又称XSS。一般XSS可以分为如下几种常见类型: 1.反射性XSS; 2.存储型XSS; 3.DOM型XSS; XSS漏洞一直被评估…

Kubernetes二进制多节点集群部署

多Maser集群架构的了解 Kubernetes作为容器集群系统,通过健康检查重启策略实现了Pod故障自我修复能力,通过调度算法实现将Pod分布式部署,并保持预期副本数,根据Node失效状态自动在其他Node拉起Pod,实现了应用层的高可用…

羧基聚乙二醇叠氮 COOH-PEG-N3/Azide的结构式

叠氮化物与炔烃之间的反应能够使羧酸PEG有效缀合到目标分子或材料上,并且产率很高。 所得羧酸可与胺,羟基和其他基团反应。 叠氮化物和羧酸之间的PEG接头具有良好的水溶性,较小的位阻和增强的稳定性。 产品名称 羧基聚乙二醇叠氮 COOH-PEG…

css div等块元素设置display:inline-block存在间隙问题

我们给块元素例如div设置display:inline-block&#xff0c;会发现元素之间存在空隙。如下图。 <div class"contain"><div id"box1"></div><div id"box2"></div><div id"box3"></div> <…

Simulink自动化-Matlab脚本自动生成Autosar RTE S/R接口及mapping

文章目录前言设计Excel模板Input/Output属性Sender/Receiver属性Matlab脚本自动创建Input/Output接口自动创建RTE Sender/Receiver port实现效果Excel设置运行新建Input与Output运行创建RTE Port及Mapping总结前言 在之前的一篇文章中&#xff0c;介绍了Autosar Parameter Por…