当前位置: 首页 > news >正文

【Linux】软件包管理器yum

​🌠 作者:@阿亮joy.
🎆专栏:《学会Linux》
🎇 座右铭:每个优秀的人都有一段沉默的时光,那段时光是付出了很多努力却得不到结果的日子,我们把它叫做扎根
在这里插入图片描述

目录

    • 👉Linux软件包管理器yum👈
      • 什么是软件包
      • 安装软件
      • 查看软件包
      • 卸载软件
      • 关于rzsz
      • yum的扩展
    • 👉总结👈

👉Linux软件包管理器yum👈

学习 yum 之前,先告诉大家一些事实:工具的本质也是指令!在安装软件之前,我们需要先把软件包下载下来(必须联网)。软件包并不是在我们的本地上的(我们的电脑)。

那软件包在哪里呢?那么只能在别人的电脑上(远端的服务骑上,云服务器上)。那我怎么知道我要下的软件在网络上的那一台服务器上呢?如果是电脑的话,我们可以在官网上下载软件,而对于手机,我们可以在应用商店里下载。 那又是谁提供的软件包并放在服务器上呢?企业、个人或者组织为了某种利用向我们提供软件。那提供好之后,软件通常放在哪里呢?如果是电脑的话,软件就放在官网;而手机的话,软件就放在手机应用商店通过商的服务器。

那谁给 Linux 客户端提供软件呢?Linux 系统的软件一般都是开源的,由顶级的开源程序员提供。那这些软件又放在哪里呢?放在开源软件对应的服务器上。那 Linux 客户端如何得知下载链接呢?其实不同的社区在自己的 Linux 中,都内置服务器和应用对应的下载链接了。而 yum 就是使用下载链接的软件,相当于手机里的应用商店。

Linux 系统的开源软件大部分都是国外人搞的,他们的服务器都是在国外的,而我们在国内有可能访问不了。所以国内的一些企业或者高校就把国外提供的软件镜像到国内的服务器上,那么就有了国内的软件服务器。同时国内的软件服务器也提供了一套国内的下载链接配置文件:yum 源配置文件。

在这里插入图片描述

什么是软件包

  • 在Linux下安装软件,一个通常的办法是下载到程序的源代码,并进行编译,得到可执行程序。
  • 但是这样太麻烦了,于是有些人把一些常用的软件提前编译好,做成软件包(可以理解成Windows上的安装程序)放在一个服务器上,通过包管理器可以很方便的获取到这个编译好的软件包,直接进行安装。
  • 软件包和软件包管理器,就好比 “App” 和 “应用商店” 这样的关系。
  • yum(Yellow dog Updater, Modified) 是 Linux 下非常常用的一种包管理器,主要应用在 Fedora、RedHat、Centos 等发行版上。

安装软件

下载之后,一定是需要安装的。安装的本质其实就是拷贝。拷贝是拷贝到特定目录下的,而目录是有权限的。所以我们可以使用 sudo 提权安装或者用 root 用户直接安装。

sudo yum install 软件名 #安装指定的软件,该指令会询问你是否真的要安装
sudo yum install -y 软件名 #直接同意安装指定的软件

在这里插入图片描述
输入 sl 指令后,显示器就会出现小火车
在这里插入图片描述
那我们怎么知道我们需要安装那些软件呢?当我们需要一些功能,就会去下载对应的软件。如果我们见得多了,看得多了,我们就知道我们需要下载什么软件了。

注:yum 安装软件只能一个装完了再装另一个。yum 在安装一个软件的过程中,如果再尝试用 yum 安装另外一个软件,yum 会报错。

查看软件包

yum list #穷举yum源远端服务器上的软件
yum list | grep 软件名 #查找软件名匹配的软件
yum search 软件名 #搜索软件(不建议使用,对我们不太友好)

在这里插入图片描述
注:el7 是 Centos 7 的代称。

卸载软件

yum remove -y 软件名 #直接卸载指定的软件

在这里插入图片描述

关于rzsz

这个工具用于 Windows 机器和远端的 Linux 机器通过 XShell 传输文件,安装完毕之后可以通过拖拽的方式将文件上传过去。

sudo install -y lrzsz #安装软件lrzsz
rz #将Windows系统的文件添加到Linux系统下
sz 文件名 #将Linux系统的指定文件添加到Windows系统下

在这里插入图片描述

在这里插入图片描述
注意事项

关于 yum 的所有操作必须保证主机(虚拟机)网络畅通!可以通过 ping 指令验证。

ping www.baidu.com #查看网络状态

在这里插入图片描述

yum的扩展

我好像只告诉了 yum 我要安装了上面!并没有直接告诉 yum 要安装的软件在哪里下载!我们在手机上下载软件,我们并不需要知道软件在哪个服务器上,手机应用商店会帮我们到对应的服务器上下载软件。在 Linux 系统上下载软件也一样,我们不需要关心软件在哪一台服务器上,但我们需要将 yum 源的配置文件配置好,以后我们下载软件 yum 就会到对应的服务器上下载。

ls /etc/yum.repos.d/	#yum源的配置文件路径
cd /etc/yum.repos.d/	#进入yum源配置文件的路径
vim CentOS-Base.repo 	#查看yum源的下载链接

在这里插入图片描述

在这里插入图片描述

sudo wget http://mirrors.aliyun.com/repo/Centos-7.repo #下载阿里云的yum源

在这里插入图片描述

vim Centos-7.repo	#打开阿里云yum源的配置文件

在这里插入图片描述
在这里插入图片描述
如果我们想将阿里云的 yum 源Centos-7.repo作为 yum 源的配置文件的话,只需要将Centos-7.repo重命名为CentOS-Base.repo就行了。需要注意的是:原来的 yum 源配置文件需要做一份备份,保存好以防出现问题。

讲完 yum 源的配置后,我还想告诉大家一个事情:有些软件没有被纳入 Centos、Ubuntu、kail 等相关生态平台的官方软件集合中,它们就在非官方的软件集合列表中。非官方的软件集合列表的 yum 源为epel-release

sudo yum install -y epel-release	#下载非官方的软件集合列表yum源

在这里插入图片描述
非官方软件是官方软件的一个储备池。如果非官方软件经过时间和大量应用场景的考验,才会被纳入官方软件列表中。

yum 安装软件 A,我们可以单纯地认为就只是安装了软件 A。但是软件和软件之间是有关联的,是具有一定的耦合的,yum 会自动解决软件和软件之间的耦合问题。所以我们只需要告诉 yum 我们需要安装什么软件就行了。

👉总结👈

本篇博客主要讲解软件包管理器yum,其中讲解了什么是软件包、如何安装和卸载软件以及rz、sz指令等等。那么以上就是本篇博客的全部内容了,如果大家觉得有收获的话,可以点个三连支持一下!谢谢大家!💖💝❣️

相关文章:

  • 算法刷题打卡第49天:排序数组---计数排序
  • 【Linux】低级IO
  • 【Linux】shell命令以及运行原理
  • 【解决】Unity Player Log 自生成造成磁盘满占用率问题
  • 犀牛插件开发-基础核心-技术概览-总体架构-教程
  • 看2022年卡塔尔世界杯有感
  • 小黑被劝退了,生活学习依然继续的leetcode之旅:572. 另一棵树的子树
  • 数据库原理及MySQL应用 | 日志管理
  • web前端经典react面试题
  • web靶场搭建之帝国cms7.5
  • Spring Boot学习篇(一)
  • RosonQt140——Qt Charts模块介绍和Qt绘制图表
  • 正交编码器溢出处理
  • 机器学习——05线性回归
  • IIC信号为什么要加上拉电阻
  • JS中 map, filter, some, every, forEach, for in, for of 用法总结
  • Centos6.8 使用rpm安装mysql5.7
  •  D - 粉碎叛乱F - 其他起义
  • Eureka 2.0 开源流产,真的对你影响很大吗?
  • k8s 面向应用开发者的基础命令
  • PaddlePaddle-GitHub的正确打开姿势
  • 半理解系列--Promise的进化史
  • 从PHP迁移至Golang - 基础篇
  • 聊聊flink的BlobWriter
  • 容器化应用: 在阿里云搭建多节点 Openshift 集群
  • 文本多行溢出显示...之最后一行不到行尾的解决
  • HanLP分词命名实体提取详解
  • JavaScript 新语法详解:Class 的私有属性与私有方法 ...
  • #NOIP 2014# day.1 T2 联合权值
  • #stm32整理(一)flash读写
  • (¥1011)-(一千零一拾一元整)输出
  • (10)Linux冯诺依曼结构操作系统的再次理解
  • (10)STL算法之搜索(二) 二分查找
  • (2)(2.10) LTM telemetry
  • (附源码)spring boot车辆管理系统 毕业设计 031034
  • (三)模仿学习-Action数据的模仿
  • (收藏)Git和Repo扫盲——如何取得Android源代码
  • (一)spring cloud微服务分布式云架构 - Spring Cloud简介
  • (转)LINQ之路
  • (转)linux下的时间函数使用
  • *Algs4-1.5.25随机网格的倍率测试-(未读懂题)
  • .FileZilla的使用和主动模式被动模式介绍
  • .naturalWidth 和naturalHeight属性,
  • .NET 4.0网络开发入门之旅-- 我在“网” 中央(下)
  • .NET Framework 服务实现监控可观测性最佳实践
  • .net web项目 调用webService
  • .net分布式压力测试工具(Beetle.DT)
  • .one4-V-XXXXXXXX勒索病毒数据怎么处理|数据解密恢复
  • ::前边啥也没有
  • @Tag和@Operation标签失效问题。SpringDoc 2.2.0(OpenApi 3)和Spring Boot 3.1.1集成
  • [ 英语 ] 马斯克抱水槽“入主”推特总部中那句 Let that sink in 到底是什么梗?
  • [C++基础]-初识模板
  • [cb]UIGrid+UIStretch的自适应
  • [leetcode]_Symmetric Tree
  • [LVGL]:MACOS下使用LVGL模拟器