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://www.rhkb.cn/news/277862.html

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

相关文章

Stable Diffusion 安装教程

一、安装准备 1.电脑需要安装python环境 2.下载SD的安装包 二、安装python 1.python安装,python包下载地址:Download Python | Python.org 2.运行exe下载包 3.然后下一步,选择目录后再下一步 安装完成 4.打开终端 输入python,…

MongoDB从0到1:高效数据使用方法

MongoDB,作为一种流行的NoSQL数据库。从基础的文档存储到复杂的聚合查询,从索引优化到数据安全都有其独特之处。文末附MongoDB常用命令大全。 目录 1. 引言 MongoDB简介 MongoDB的优势和应用场景 2. 基础篇 安装和配置MongoDB MongoDB基本概念 使…

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

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

vue3 el-form中嵌套el-tabale 对输入动态校验

简单案例 <el-form :model"Form" :rules"rules" ref"FormRef" class"formDiv"><el-table :data"Form.copyWriters" style"width: 100%"><el-table-column label"文案链接"><temp…

ISIS默认层级实验简述

ISIS被划分为三个层级&#xff1a;Level 1、Level 2和Level 1-2。 默认情况下&#xff0c;ISIS路由器属于level 1-2,是指同时支持Level 1和Level 2的路由器。路由器既可以在同一个自治系统内部进行路由选择&#xff0c;也可以将路由信息传递到其他自治系统。 实验拓扑图&#…

DDos攻击如何被高防服务器有效防范?

德迅云安全-领先云安全服务与解决方案提供商 什么是DDos攻击&#xff1f; DDos攻击是一种网络攻击手段&#xff0c;旨在通过使目标系统的服务不可用或中断&#xff0c;导致无法正常使用网络服务。DDos攻击可以采取多种方式实施&#xff0c;包括洪水攻击、压力测试、UDP Flood…

【C语言】字符函数与字符串函数以及内存函数 { 超详细攻略,一篇学会 }

今日分享&#xff1a;字符、字符串函数和内存函数 内存函数就是对内存进行操作的函数 字符串函数就是对字符串进行操作的函数 字符函数就是对字符进行操作的函数 str前缀的函数是字符串函数&#xff0c;头文件string.h mem前缀的函数是内存函数&#xff0c;头文件stdlib.h 字符…

verilog 从入门到看得懂---verilog 的基本语法数据和运算

笔者之前主要是使用c语言和matab 进行编程&#xff0c;从2024年年初开始接触verilog&#xff0c;通过了一周的学习&#xff0c;基本上对verilog 的语法有了基本认知。总统来说&#xff0c;verilog 的语法还是很简单的&#xff0c;主要难点是verilog是并行运行&#xff0c;并且强…

鸿蒙Harmony应用开发—ArkTS声明式开发(容器组件:TabContent)

仅在Tabs中使用&#xff0c;对应一个切换页签的内容视图。 说明&#xff1a; 该组件从API Version 7开始支持。后续版本如有新增内容&#xff0c;则采用上角标单独标记该内容的起始版本。 子组件 支持单个子组件。 说明&#xff1a; 可内置系统组件和自定义组件&#xff0c;支…

浏览器同源策略及跨域问题

同源策略&#xff1a;同源策略是一个重要的安全策略&#xff0c;它用于限制一个源的文档或者它加载的脚本如何能与另一个源的资源进行交互。它能帮助阻隔恶意文档&#xff0c;减少可能被攻击的媒介。 同源策略的作用&#xff1a;保护浏览器中网站的安全&#xff0c;限制ajax只…

0基础 三个月掌握C语言(11)

字符函数和字符串函数 为了方便操作字符和字符串 C语言标准库中提供了一系列库函数 接下来我们学习一下这些函数 字符分类函数 C语言提供了一系列用于字符分类的函数&#xff0c;这些函数定义在ctype.h头文件中。这些函数通常用于检查字符是否属于特定的类别&#xff0c;例如…

【教学类-34-10】20240313 春天拼图(Midjounery生成线描图,4*4格拼图块)(AI对话大师)

作品展示&#xff1a; 背景需求&#xff1a; 利用华文彩云空心字&#xff08;粗胖字体。凑满9个拼图&#xff09;制作了3*3的拼图块 【教学类-34-09】20240310华文彩云学号拼图&#xff08;3*3格子浅灰底图 深灰拼图块&#xff09;&#xff08;AI对话大师&#xff09;-CSDN博…

Gitlab光速发起Merge Request

前言 在我们日常开发过程中需要经常使用到Merge Request&#xff0c;在使用过程中我们需要来回在开发工具和UI界面之前来回切换&#xff0c;十分麻烦。那有没有一种办法可以时间直接开发开工具中直接发起Merge Request呢&#xff1f; 答案是有的。 使用 Git 命令方式创建 Me…

前端基础——HTML傻瓜式入门(1)

该文章Github地址&#xff1a;https://github.com/AntonyCheng/html-notes 在此介绍一下作者开源的SpringBoot项目初始化模板&#xff08;Github仓库地址&#xff1a;https://github.com/AntonyCheng/spring-boot-init-template & CSDN文章地址&#xff1a;https://blog.c…

算法思想总结:滑动窗口算法

创作不易&#xff0c;感谢三连 一.长度最小的数组 . - 力扣&#xff08;LeetCode&#xff09;长度最小的数组 class Solution { public:int minSubArrayLen(int target, vector<int>& nums) {int lenINT_MAX,nnums.size(),sum0;//len必须要给一个很大的数&#xf…

Xcode 15.3 Archive失败

Xcode 15.3 Archive失败 背景 升级 Xcode 到 15.3&#xff0c;真机运行正常。打包的时候发现 Archive 失败。 提示&#xff1a; Call parameter type does not match function signature! 仔细看报错里是和HandyJSON相关的提示。 解决 起初以为和 Pod 库有关系&#xff0c;…

实现更高能效的汽车级低边驱动器NRVB140ESFT1G 带温度和电流限制 自保护低压侧驱动器

一起去了解关于汽车电子AEC Q101车规认证&#xff01;&#xff01;! 是一种针对分立半导体的可靠性测试认证程序&#xff0c;由汽车电子协会发布。这个认证程序主要是为了确保汽车电子产品在各种严苛的条件下能够正常工作和可靠运行。它包括了对分立半导体的可靠性、环境适应性…

【计算机网络】什么是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. 连接管理 长连接与短连接 管线化连接…

python 爬取人民新闻

基础信息获取&#xff1a; 要闻url&#xff1a;https://www.gov.cn/yaowen/liebiao/home.htm 下一页的url&#xff1a;https://www.gov.cn/yaowen/liebiao/home_1.htm 基础代码&#xff1a; import re import openpyxl import requests from lxml import etree import osdef …

html--宠物

文章目录 htmljscss html <!DOCTYPE html> <html lang"en" > <head><meta charset"UTF-8"><title>CodePen - Spaceworm</title><script> window.requestAnimFrame (function() {return (window.requestAnimat…