Linux环境开发工具之yum

前言

前面我们已经对基本的指令和权限进行了介绍,本期开始我们将介绍常用的开发工具。例如:软件包管理器yum。

本期内容介绍

Linux上安装软件的方式

什么是yum

yum的相关操作

yum的本地配置和yum源

一、Linux上安装软件的方式

在介绍Linux上如何安装一款软件前,我们可以想一下,平时在手机上或者在Windows上是如何安装一款软件的?毫无疑问正常情况下,是不是打开应用商店、搜索、点击下载、然后安装!例如:

在Linux没有图形化界面该如何下载安装一款软件呢?在Linux上安装软件的方式有三种!分别是:源代码安装、rmp包安装、yum安装!

源代码安装

因为Linux是开源的,很多的源码都是公开的,你如果需要哪个软件,你可以找到相应的源码自己编译运行生成可执行程序。

但是有个很大的问题就是有可能发布这个源代码的是在redcat或其他版本、或旧的系统上发布的,你把源代码拷贝下来可能会编译报错~!很烦,你就得解决交叉编译的问题!你说我一个普通我就想下载一个微信,你给我一堆源代码,然后好不容易编译但有各种错误,还依赖其他软件~???极其不友好!所以我们极其不推荐这种方式极其极其不适合新手和普通用户~!!!

rpm包安装

基于上面的交叉编译的问题,有一批程序员提前把相关的软件进行在各种环境下编译好打包成rpm包部署到相关的服务器上,等你用的时候你直接找相应的版本的rpm包即可!

这样的确比前者好多了,但linux上很多软件是依赖很多库的,这个对于一般用户也是极其不友好的!你说我好不容易找到了wx的rpm的相应版本的包,但一解压编译一看要xxx动态库?????不推荐!

yum安装

前两者安装装一个软件都很让人烦!于是yum就把以上的所有问题都解决了,帮你把rpm包以及他依赖的各种库和相关软件都给整合到一起!你用的时候直接通过yum指令操作即可~!  我们一般都推荐使用yum

二、什么是yum

yum是一个软件包管理器!或者说yum是一个软件下载安装管理的客户端!例如你的华为商城、小米商城等!

我们知道下载的本质是一种拷贝,但是yum是去哪里拷贝的呢?

我们上面说了程序员在把各个版本的软件编译好了后都会部署到相应的服务器上。也就是说,我们每次yum install xxx的时候是通过网络去到某个服务器上把特定的软件拷贝了一分下来到本地呗!是的!

现在又有一个问题是:你的服务器是如何知道再到到哪个服务器上去拷贝呢?

全国乃至全球有那么多的服务器,你在yum install的时候,你的服务器是如何知道去哪一台上拷贝的了?答案其实很简单:你的服务器厂商一定在内部内置了目标服务器的地址链接!!

三、yum的相关操作

查看软件包

yum list

这是你服务器内置目标服务器的软件都列出来

这样找你要下的软件太费劲了!我们可以借助我们以前介绍的 |(管道)和grep(行文本过滤器)进行对要下载的软件搜索查找!

yum list | grep xxx

这里我们可以举个查找sl的例子

找到了之后就可以安装了!

安装软件包

yum install xxx -y

这里你可以把后面的多少位带上,也可以不带直接给个名字!

这里如果你是普通用户你无法直接下载安装!此时有两种解决方案,1、你把账户切换成root 2、你可以在指令前加一个sudo进行对指令暂提权!一般我们不可能有root的密码,所以一般是第二个!这里的 -y是你在安装时会问你是否安装,y是,n否!如果不想在安装时被问直接-y

此时输入你的密码即可!我以前安装过,所以这里就什么都不做!

你也可以直接带是多少位的他们是一样的!!!

安装好了就可以看到sl的效果了:

删除软件包

yum remove xxx -y

这里的 -y是你在安装时会问你是否删除,y是,n否!如果不想在删除时被问直接 -y

我们举个栗子:我现在把我的sl删掉(注意还是要权限的,要么root,要么sudo):

OK,这里还有一个很好用的软件就是rzsz,我以这个为例,在此演示一下查找、安装、以及删除!

rzsz

这个软件是用于windows和Linux远端服务器通过xshell进行远端文件的传输的!如果安装了这个可以直接将windows的文件拖拽到Linux!!!

查找

yum list | grep lrzsz

lrzsz.x86_64                             0.12.20-36.el7                @base

  1. lrzsz.x86_64:这部分提供了关于软件包名称和架构的信息。

    • lrzsz:这是软件包的名称。在这个例子中,它指的是一个名为lrzsz的软件包。
    • .x86_64:这是软件包的架构。在这个例子中,.x86_64表示这个软件包是为64位的x86架构编译的。
  2. 0.12.20-36.el7:这是软件包的版本号信息。

    • 0.12.20:这是软件包的版本号。在这个例子中,它是0.12.20,主版本号.次版本号.源程序发行号
    • -36.el7:这部分是修订版号。在这个例子中,36是修订版号,而el7可能指的是软件包的发行版标识。在这里,el7可能表示这个软件包适用于Enterprise Linux 7。
  3. @base:这表示软件包所属的仓库。

    • @base:这个标记告诉你这个软件包来自名为“base”的软件仓库。在Linux系统中,软件包通常会从不同的软件仓库中获取,这个标记有助于识别软件包的来源。
    • 这里的base是一个仓库,在这个仓库中的软件代表是稳定的!还有一个是epel这里代表是测试的,非稳定的!

安装 

sudo yum install lrzsz -y

删除

前面忘了加 -y这里会询问!!

OK我们可以验证一下:

当然也可以通过指令:

rz

此时你选择文件即可!如果是Linux向windows传文件的话,可不能拖拽!!要用指令

sz  filename

四、yum的本地配置和yum源

为什么会存在配置文件?

我们上面就介绍过我们使用yum install xxx下载软件的时候我们的服务器是如何知道去哪里的服务器上拷贝软件包的呢?其实在我们自己的服务器内部一定是内置了目标服务器的地址链接的!我们可以看看,他就在/etc/yum.repos.d/的配置文件下!

所以,yum在下载软件时会根据/etc/yum.repos.d下的配置文件来构成自己的下载链接,去指定的目标服务器去来帮助我们下载相应的软件!但是一般的机器内置的都是centos的官网,软件的链接也是指向国外的,由于国际原因访问起来会很慢,此时就需要配置!!!

如何配置?

配置的本质就是修改文件,或者更改文件的内容!这里就是修改下载链接的指向。这里就涉及yum源的问题!

一般的centos的yum源是:

也就是修改它里面的链接即修改yum源就是在配置yum!

我们可以打开我当前的看看:

我们虽然看不太明白但我们最起码认识这是链接,而且是腾讯云的镜像链接~!而且这些链接是可以在浏览器打开的!

我的已经被配置好了,这里不在配置了,如果你需要配置,请自行上网找到yum源在vim中打开/etc/yum.repos.d/CentOS-Base.repo 文件修改即可!

常见的国内的镜像源

上面也介绍了,因为国际原因直接访问国外的yum可能会很慢,所以一般建议使用国内的镜像!下面是常见的国内镜像源!

阿里云、腾讯云、清华大学、163

OK,本期分享就到这里,好兄弟我们下期再见~!

结束语:

你的努力,终将照亮前行的路!

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

uboot的移植——移植uboot官方的uboot到x210开发板(2)

以下内容源于朱有鹏嵌入式课程的学习与整理,如有侵权请告知删除。 参考内容 1、uboot的移植——移植uboot官方的uboot到x210开发板(1) 2、uboot启动流程——C阶段的start_armboot函数-CSDN博客 3、以官方uboot移植uboot(SD卡驱动移植)-CSDN博…

Linux 块设备驱动

Linux 三大驱动分别是:字符设备驱动、块设备驱动、网络设备驱动。 块设备是针对存储设备的,比如 SD 卡、EMMC、NAND Flash、Nor Flash、SPI Flash、机械硬盘、固态硬盘等。因此块设备驱动其实就是这些存储设备驱动,块设备驱动相比字符设备驱…

【洞察】区块链、web3、元宇宙等技术共同催生出了什么样的商业未来?

下文为中国信息通信研究院云计算与大数据研究所所长何宝宏为思二勋所著的《分布式商业生态战略:数字商业新逻辑与企业数字化转型新策略》一书所作的推荐序。 近两年来,区块链已从鲜为人知发展到尽人皆知且众说纷纭,从产业初期的静默发展到产…

若你有才能,最好能遇上识才之人,高俅发迹的故事很好诠释了千里马与伯乐的关系

若你有才能,最好能遇上识才之人,高俅发迹的故事很好诠释了千里马与伯乐的关系 其实,“千里马”和“伯乐”都是中国古代传说里的角色。伯乐是古代一个善于相马(识别马的好坏)的人,而“千里马”则是指一匹能跑…

2、FreeRTOS之队列管理

xQueueReceive() 用于从队列中接收 ( 读取)数据单元。接收到的单元同时会从队列 中删除。 xQueuePeek() 也是从从队列中接收数据单元,不同的是并不从队列中删出接收到 的单元。 uxQueueMessagesWaiting()用于查询队列中当前有效数据单元个数。 写队列任…

简介:项目管理九大知识五大过程

前言 项目管理(Project Management,PM/Management by Projects,MBP) 在有限的资源约束下,运用系统的观点、方法和理论,对项目涉及的全部工作进行有效地管理。即从项目的投资决策开始到项目结束的全过程进行计划、组织、指挥、协调…

【首次抽奖】16G、32G免费送!云服务器选购推荐 京东云 阿里云 腾讯云对比 幻兽帕鲁 雾锁王国 省钱学生党

好消息:抽奖活动开启!时间:3月17日——3月24日 最高奖品:16G 6个月;32G 3个月 抽奖规则:B站点赞评论关注即可参与抽奖,3.24日公布获奖名单。 抽奖地址: 【首次抽奖】16G、32G免费…

TTS 擂台: 文本转语音模型的自由搏击场

对文本转语音 (text-to-speech, TTS) 模型的质量进行自动度量非常困难。虽然评估声音的自然度和语调变化对人类来说是一项微不足道的任务,但对人工智能来说要困难得多。为了推进这一领域的发展,我们很高兴推出 TTS 擂台。其灵感来自于LMSys为 LLM 提供的…

检索增强生成(RAG)应用的构建:LangChain与LlamaIndex的比较与选择

对于我要做RAG应用,我应该使用两者中的哪一个。或者说还是都使用? 在人工智能领域,检索增强生成(RAG)应用正变得越来越受欢迎,因为它们能够结合大型语言模型(LLMs)的自然语言处理能力…

不允许你不知道的Python私有属性和私有方法

​ 1.为什么要使用私有属性和私有方法 嘿,各位Python爱好者们,你们有没有遇到过这样的情况:你正在编写一个类,里面有一些属性或方法,你并不想让它们被外部直接访问或修改,但又需要某种方式来控制它们的访问…

【C/C++】C语言开发者必读:迈向C++的高效编程之旅

🧑 作者简介:阿里巴巴嵌入式技术专家,深耕嵌入式人工智能领域,具备多年的嵌入式硬件产品研发管理经验。 📒 博客介绍:分享嵌入式开发领域的相关知识、经验、思考和感悟,欢迎关注。提供嵌入式方…

VUE3项目学习系列--Axios二次封装(五)

Axios中文文档 | Axios中文网 (axios-http.cn) Axios 是一个基于 promise 网络请求库,作用于node.js 和浏览器中。 它是 isomorphic 的(即同一套代码可以运行在浏览器和node.js中)。在服务端它使用原生 node.js http 模块, 而在客户端 (浏览端) 则使用 XMLHttpRequ…

【回归预测】基于SSA-BP(麻雀搜索算法优化BP神经网络)的回归预测 多输入单输出【Matlab代码#69】

文章目录 【可更换其他算法,获取资源请见文章第6节:资源获取】1. BP神经网络2. 麻雀搜索算法3. SSA-BP神经网络模型的构建4. 部分代码展示5. 仿真结果展示 【可更换其他算法,获取资源请见文章第6节:资源获取】 1. BP神经网络 BP&…

新手向-从VNCTF2024的一道题学习QEMU Escape

[F] 说在前面 本文的草稿是边打边学边写出来的,文章思路会与一个“刚打完用户态 pwn 题就去打 QEMU Escape ”的人的思路相似,在分析结束以后我又在部分比较模糊的地方加入了一些补充,因此阅读起来可能会相对轻松(当然也不排除这是…

python之前端css样式(一)

css ID选择器 #c1{color:red;#边框为红色border:1px solid red; } <div id"c2">中国移动</div> 类选择器 .xx{color:blue; } <div class"xx">中国联通</div> 标签选择器 li{color: pink; } <ul><li>北京</li…

STM32输入捕获模式测频率

STM32频率的测量&#xff1a;高频适合使用的方法是测频法&#xff0c;低频适合使用的是测周法&#xff0c;&#xff08;其中使用测频法测量频率比较稳定&#xff0c;使用测周法测量频率的方式没有这么稳定&#xff0c;因为测周法只会通过一次的测量就能得出结果所以测试出来的频…

任务管理器进程结束错了,电脑显示白屏该怎么办

电脑就是一个全白&#xff0c;吓人的一批&#xff0c;毕竟以前出过cmd运行出错&#xff0c;然后黑屏&#xff0c;最后只能重装系统。这里出现白屏是还好的&#xff0c;切换了另外的用户&#xff0c;发现电脑上原来的文件还在&#xff0c;所有按下面的方法就解决了。 1.打开任务…

网络编程—DAY3

模拟面试 1.什么是IP地址 是给互联网上的每台主机分配的唯一标识 2.IP地址和mac地址的区别 mac地址是设备的硬件地址&#xff0c;ip地址是给主机分配的网络地址 3.当电脑从一个网络切换到另一个网络哪个会变 ip地址会变&#xff0c;mac地址不会变 4.什么是端口号 用于区…

leetcode 热题 100_环形链表 II

题解一&#xff1a; 哈希表&#xff1a;遍历链表&#xff0c;用哈希表存储遍历过的链表节点&#xff0c;判断链表节点是否在哈希表中存在&#xff0c;如果存在说明链表出现过&#xff0c;第一个重复出现的节点即为开始入环的第一个节点。 import java.util.HashSet;public cla…

【计算机网络】什么是http?

​ 目录 前言 1. 什么是HTTP协议&#xff1f; 2. 为什么使用HTTP协议&#xff1f; 3. HTTP协议通信过程 4. 什么是url&#xff1f; 5. HTTP报文 5.1 请求报文 5.2 响应报文 6. HTTP请求方式 7. HTTP头部字段 8. HTTP状态码 9. 连接管理 长连接与短连接 管线化连接…