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,本期分享就到这里,好兄弟我们下期再见~!

结束语:

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

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

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

相关文章

Docker 安装 Skywalking以及UI界面

关于Skywalking 在现代分布式系统架构中,应用性能监控(Application Performance Monitoring, APM)扮演着至关重要的角色。本文将聚焦于一款备受瞩目的开源APM工具——Apache Skywalking,通过对其功能特性和工作原理的详细介绍&am…

打破数据孤岛,TDengine 与 Tapdata 实现兼容性互认证

当前,传统行业正面临着数字化升级的紧迫需求,但海量时序数据的处理以及数据孤岛问题却日益突出。越来越多的传统企业选择引入时序数据库(Time Series Database,TSDB)升级数据架构,同时,为了克服…

C++ 笛卡尔树

目录 一、性质二、构建笛卡尔树三、应用四、源码 一、性质 堆性质: 笛卡尔树是一种满足堆性质的树。每个节点包含两个值:键值(key)和优先级值(priority)。在笛卡尔树中,根节点的优先级值最大&am…

C++ 特殊类及单例模式

文章目录 1. 前言2. 不能被拷贝的类3. 不能被继承的类4. 只能在堆上创建对象的类5. 只能在栈上创建对象的类6. 只能创建一个对象的类(单例模式) 1. 前言 在实际场景中,我们在编写类的过程中总会遇到一些特殊情况,比如设计一个类不…

[AutoSar]BSW_Com015 PDUR 模块配置

目录 关键词平台说明一、Abbreviations二、PduRBswModules三、PduRGeneration四、PduRDestPdus4.1 全局PDU ID和本地PDU ID 关键词 嵌入式、C语言、autosar、OS、BSW 平台说明 项目ValueOSautosar OSautosar厂商vector , EB芯片厂商TI 英飞凌编程语言C&#xff0…

[ThinkPHP]Arr返回1

$detailId (int)Arr::get($detail, null); var_dump($detailId); 打印结果:int(1) 原因: vendor/topthink/think-helper/src/helper/Arr.php

水泵房远程监控物联网系统

随着物联网技术的快速发展,越来越多的行业开始利用物联网技术实现设备的远程监控与管理。水泵房作为城市供水系统的重要组成部分,其运行状态的监控与管理至关重要。HiWoo Cloud作为专业的物联网云服务平台,为水泵房远程监控提供了高效、稳定、…

API--10-1--StringJoiner工具类

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 StringJoiner构造函数成员变量公开方法1.构造函数2. add() 添加字符串3. setEmptyValue 输出指定字符串 StringJoiner案例案例1案例2 StringJoiner StringJoiner是…

5 张图带你了解分布式事务 Saga 模式中的状态机

大家好,我是君哥。 状态机在我们的工作中应用非常广泛,今天聊一聊分布式事务中间件 Seata 中 Saga 模式的状态机。 1 状态机简介 状态机是一个数学模型,它将工作中的运行状态和流转规则抽象出来,可以协调相关信号来完成预先设定…

30.HarmonyOS App(JAVA)鸿蒙系统app多线程任务分发器

HarmonyOS App(JAVA)多线程任务分发器 打印时间,记录到编辑框textfield信息显示 同步分发,异步分发,异步延迟分发,分组任务分发,屏蔽任务分发,多次任务分发 参考代码注释 场景介绍 如果应用的业务逻辑比…

Docker进阶教程 - 1 Dockerfile

更好的阅读体验:点这里 ( www.doubibiji.com ) 1 Dockerfile Dockerfile 是做什么的? 我们前面说到,制作镜像的方法主要有两种方式: 使用 docker commit 命令;使用 Dockerfile 文件。 但是…

C语言学习过程总结(16)——指针(4)

一、数组名的理解 我们直接使用%p打印出地址来看看&arr【0】 和 arr的不同: int main() {int arr[10] { 1,2,3,4,5,6,7,8,9,10 };printf("&arr[0] %p\n", &arr[0]);printf("arr %p\n", arr);} 、 很容易看出来两者的输出…

最强AI换脸工具Rope使用教程,Rope整合包下载【全网最全安装步骤】

Rope的汉化整合包(包含模型)以及下面教程所涉及到的所有安装包我都打包好了,需要的小伙伴可以关注文章底部公众号,回复关键词【rope】获取。 AI换脸软件简介必读 Rope 是一个免费开源的 AI 换脸软件,它具有图形化界面…

MySQL之旅

本文字数:11653;估计阅读时间:30 分钟 审校:庄晓东(魏庄) 本文在公众号【ClickHouseInc】首发 介绍 "简单是终级的精致。"- --列奥纳多达芬奇 虽然我们喜欢在 ClickHouse 为用户宣布新功能&#…

【代码】提取图像轮廓坐标并保存为YOLOv8所需的txt格式

该段代码的应用场景为对图像标注过后,想要对图像进行裁切,但是标签不能裁切,所以将原图像按照标签进行二值化后,将二值化后的图像进行裁切,然后使用opencv对裁切后的图像进行处理,识别出白色区域轮廓&#…

用c++实现计数排序、颜色排序问题

3.3.1 计数排序 【问题】 假设待排序记录均为整数且取自区间[0,k],计数排序(count sort)的基本思想是对每一个记录x,确定小于x的记录个数,然后直接将x放在应该的位置。例如,小于x的记录个数是10,则x就位于第11个位置。 【想法】 对于待排序序…

vulnhub-----SickOS靶机

文章目录 1.信息收集2.curl命令反弹shell提权利用POC 1.信息收集 ┌──(root㉿kali)-[~/kali/vulnhub/sockos] └─# arp-scan -l Interface: eth0, type: EN10MB, MAC: 00:0c:29:10:3c:9b, IPv4: 10.10.10.10 Starting arp-scan 1.9.8 with 256…

移动端研发技术的进化历程

移动端研发技术 移动端研发技术主要分为原生开发和跨平台开发。本章主要介绍一下移动开发技术的过去、当下和未来,一步一步介绍移动技术的进化历程。 原生开发 原生应用程序是指某一个移动平台(比如iOS或Android)所特有的应用,使…

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

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

《1w实盘and大盘基金预测 day5》

从周预测到每天的预测都非常准。 主要的问题,操作股票情绪起伏太大,对一些个股把握不准(医疗乱我心),整体情况还是非常好的。得分A 本周行情展望(基本得到验证): 大盘应该还是震荡…