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

【Linux】Linux安装软件---软件包管理器 yum

主页:醋溜马桶圈-CSDN博客

专栏:Linux_醋溜马桶圈的博客-CSDN博客

giteemnxcc (mnxcc) - Gitee.com

目录

1.Linux中安装软件

1.1 源代码安装 

1.2 rpm包安装

1.3 yum安装

1.3.1 举例

1.3.2 图示yum下载安装

2.Linux系统的生态

如何选择系统

3.Linux 软件包管理器 yum 

3.1 什么是软件包

3.2 关于 rzsz

注意事项

​编辑

3.3 查看软件包

​编辑

注意事项

3.4 如何安装软件

注意事项

3.5 如何卸载软件

3.6 centos yum安装指令指南

3.6.1 搜索

3.6.2 安装

3.7 yum本地配置

3.7.1 配置将来是在干什么?

3.7.2 如何配置?


1.Linux中安装软件

Linux中安装软件一般有三种方式:

  1. 源代码安装
  2. rpm包安装
  3. yum安装

1.1 源代码安装 

有些软件本来就是开源的,如果不想用别人直接发布好的软件,我们就可以把源代码下载下来,在我们的环境中编译,自己安装

但是这个过程非常麻烦,而且可能会遇到很多问题,比如发布这个软件的人是在Ubuntu下发布的,或者在一个老系统下发布的,这时候这个源代码在我们的电脑上不一定编译通过,所以源代码安装过程中最让人头疼的问题就是编译报错

1.2 rpm包安装

由于源代码安装非常麻烦,所以就有一批程序员在各种不同的环境下编译好,形成rpm包(压缩格式),这时候我们直接将这个编译好的程序下载过来就行了

1.3 yum安装

rpm包安装还是有一定的问题,在打包的时候可能不会将一些库打包进去,比如c的库,c++的库,图形化界面的库,所以在rpm包安装的时候有一定概率能安装好,但是也不排除安装不全的可能,这个时候就得我们来解决软件的依赖关系,还是很复杂

所以这时候yum就把所有的依赖关系解决,同时也内置一些下载链接,指向去指定地方下载适合我们自己系统的软件,其他的依赖软件也一并下载好

yum可以说是最简单的安装方式

1.3.1 举例

我们以QQ举例,假如我们在Windows中要安装QQ,然后Tencent说给我们把源代码发过来,让我们自己编译,这岂不是很扯了;或者说只有一部分软件,还缺一些库,让我们自己去把这些库下载下来,同样对我们也是挑战;所以最简单的安装方式就是将软件和依赖的库一同打包好,然后提供一个下载链接

1.3.2 图示yum下载安装

我们在我们的centos上输入yum安装指令,yum就会去centos服务器中查找对应的包,然后下载安装的我们本地的centos,至此一个完整的安装过程完成

我们在centos中输入对应的安装命令,就类似于在应用商店中搜索抖音然后安装,服务器那么多,而yum是怎么知道去哪个服务器下载呢?

很简单,我们的机器内部一定内置了目标服务器的地址链接

2.Linux系统的生态

如何选择系统

假设我们要去选择一个系统,Linux系统各版本的底层都是一样的,Linux各系统的区别不会是简单的系统区别,我们选择一个系统,考虑该系统是否完善是最重要的,系统可用是最基本的要求,还要考虑这个系统有没有社区,有没有维护,文档是否齐全,配套的软件是否丰富

如果这个系统开源社区非常活跃,文档很齐全,配套的软件很丰富,问题暴露很快能够解决,有大量的程序员愿意来开发,更重要的是有很多企业来选择,这时会有很多的企业级应用场景暴露出来,这就是操作系统的生态

系统本身没有区别,主要是当年我们给系统设置的调性,吸引了不同种类的人群,构建了不同种类的社区,暴露了特定种类的问题,以及配套的各种问题的解决方案出来了,这才是系统有差别

我们选择系统并不是区分系统本身,而是区分系统的生态和社区

为了有更多的用户选择,系统的开发者一定会维护好系统的生态和社区

“有需求者,就一定有满足需求的人”

3.Linux 软件包管理器 yum 

3.1 什么是软件包

在Linux下安装软件,一个通常的办法是下载到程序的源代码,并进行编译,得到可执行程序

但是这样太麻烦了,于是有些人把一些常用的软件提前编译好,做成软件包(可以理解成windows上的安装程序)放在一个服务器上,通过包管理器可以很方便的获取到这个编译好的软件包,直接进行安软件包和软件包管理器,就好比 “App” 和 “应用商店“”这样的关系

yum(Yellow dog Updater,Modified)是Linux下非常常用的一种包管理器,主要应用在Fedora,RedHat,Centos等发行版上

3.2 关于 rzsz

这个工具用于 windows 机器和远端的 Linux 机器通过 XShell 传输文件.

安装完毕之后可以通过拖拽的方式将文件上传过去.

注意事项

关于 yum 的所有操作必须保证主机(虚拟机)网络畅通!!!

可以通过 ping 指令验证

ping www.baidu.com

3.3 查看软件包

通过 yum list 命令可以罗列出当前一共有哪些软件包,由于包的数目可能非常之多,这里我们需要使用 grep 命令只筛选出我们关注的包,例如:

yum list | grep lrzsz

结果如下:

lrzsz.x86_64 0.12.20-36.el7 @base

注意事项

软件包名称:主版本号.次版本号.源程序发行号-软件包的发行号.主机平台.cpu架构.

"x86_64" 后缀表示64位系统的安装包,"i686" 后缀表示32位系统安装包,选择包时要和系统匹配.

"el7" 表示操作系统发行版的版本,"el7" 表示的是 centos7/redhat7,"el6" 表示 centos6/redhat6.

最后一列,base 表示的是 "软件源" 的名称,类似于 "小米应用商店","华为应用商店" 这样的概念

3.4 如何安装软件

通过 yum,我们可以通过很简单的一条命令完成 gcc 的安装

sudo yum install lrzsz

yum 会自动找到都有哪些软件包需要下载,这时候敲 "y" 确认安装

出现 "complete" 字样,说明安装完成

注意事项

安装软件时由于需要向系统目录中写入内容,一般需要 sudo 或者切到 root 账户下才能完成

yum安装软件只能一个装完了再装另一个,正在yum安装一个软件的过程中,如果再尝试用yum安装另外一个软件,yum会报错;如果 yum 报错,请自行百度

3.5 如何卸载软件

仍然是一条命令:

sudo yum remove lrzsz

3.6 centos yum安装指令指南

 如果我们在Linux中输入命令发现该命令没有的时候,我们就可以通过yum来安装这个命令

具体分为两步:搜索,安装

3.6.1 搜索

首先搜索centos yum 安装 + 指令

以zip指令为例,在搜索框中输入centos yum 安装zip

3.6.2 安装

复制安装命令到shell,直接安装即可

3.7 yum本地配置

3.7.1 配置将来是在干什么?

yum会根据/etc/yum.repos.d/该路径下面的配置文件,来构成自己的下载路径,(根据OS版本,根据你要下载的软件),yum帮助我们下载,安装

一般的机器,内置的链接地址是centos的官网,软件链接都指向的是国外的,yum可能会比较慢,所以需要配置

3.7.2 如何配置?

本质都是更改文件,或者更改文件的内容

CentOS 7如何配置yum源「建议收藏」-腾讯云开发者社区-腾讯云 (tencent.com)

 使用yum一般都是要联网的

相关文章:

【Linux】Linux安装软件---软件包管理器 yum

主页:醋溜马桶圈-CSDN博客 专栏:Linux_醋溜马桶圈的博客-CSDN博客 gitee:mnxcc (mnxcc) - Gitee.com 目录 1.Linux中安装软件 1.1 源代码安装 1.2 rpm包安装 1.3 yum安装 1.3.1 举例 1.3.2 图示yum下载安装 2.Linux系统的生态 如何选…...

QT网络编程之获取本机网络信息

一.概述 查询一个主机的MAC地址或者IP地址是网络应用中常用到的功能,Qt提供了QHostInfo和QNetworkInterface 类可以用于此类信息的查询 1.QHostInfo 类(显示和查找本地的信息) 2.QNetworkInterface 类(获得应用程序上所在主机的…...

离线安装docker、docker-compose、Mysql镜像

离线安装docker docker-compose mysql镜像 一、下载docker docker-compose mysql 镜像文件 1、首先下载docker镜像 博主所用文件版本号: docker-23.0.6.tgz 下载docker 地址 :https://blog.csdn.net/xiaohanshasha/article/details/135489623?spm1001…...

Redis系列学习文章分享---第九篇(Redis快速入门之好友关注--关注和取关 -共同关注 -Feed流实现方案分析 -推送到粉丝收件箱 -滚动分页查询)

Redis的实战篇-好友关注 目录 好友关注-关注和取关好友关注-共同关注好友关注-Feed流实现方案分析好友关注-推送到粉丝收件箱好友关注-滚动分页查询收件箱的思路好友关注-实现滚动分页查询 1. 好友关注-关注和取关 1.1 概述 在好友关注系统中,用户可以关注其他用…...

数据库基本介绍及编译安装mysql

目录 数据库介绍 数据库类型 数据库管理系统(DBMS) 数据库系统 DBMS的工作模式 关系型数据库的优缺点 编译安装mysql 数据库介绍 数据:描述事物的的符号纪录称为数据(Data) 表:以行和列的形式组成…...

代码随想录算法训练营第55天 | 583. 两个字符串的删除操作, 72. 编辑距离

动态规划章节理论基础: https://programmercarl.com/%E5%8A%A8%E6%80%81%E8%A7%84%E5%88%92%E7%90%86%E8%AE%BA%E5%9F%BA%E7%A1%80.html 583. 两个字符串的删除操作 题目链接:https://leetcode.cn/problems/delete-operation-for-two-strings/descrip…...

Guava之EventBus源码分析

简介 事件总线。 有助于深入理解代码的功能和实现细节。 可以了解代码背后的逻辑、算法、数据结构和设计模式等方面,从而更好地理解代码的作用和功能。 可以学习到业界的最佳实践和设计模式。 这有助于提高自己的编程水平,使你能够编写更高质量、可…...

Spark on Yarn安装配置

目录 前言 初了解spark Standalone模式 Yarn模式 前言 今天我们讲解Spark的安装配置,spark的部署分为两种,一种是Standalone模式,另一种就是on yarn 模式,我们这一节着重讲解on yarn 模式,因为符合生产活动&#…...

Debezium日常分享系列之:Debezium 2.5.3.Final发布

Debezium日常分享系列之:Debezium 2.5.3.Final发布 一、重大改变1.SQL Server 二、改进和变化1.Debezium 服务器的 TRACE 级别日志记录2.Informix 将 LSN 附加到事务标识符3.PostgreSQL 改进 三、Debezium技术总结 一、重大改变 1.SQL Server 首次部署连接器时&am…...

elment-ui el-tabs组件 每次点击后 created方法都会执行2次

先看错误的 日志打印: 错误的代码如下: 正确的日志打印: 正确的代码如下: 前言: 在element-ui的tabs组件中,我们发现每次切换页面,所有的子组件都会重新渲染一次。当子页面需要发送数据请求并且子页面过多时,这样会过多的占用网络资源。这里我们可以使用 v-if 来进行…...

sheng的学习笔记-AI-Network in Network(NIN)和1*1卷积

目录:sheng的学习笔记-AI目录-CSDN博客 简介 Network In Network 是发表于 2014 年 ICLR 的一篇 paper。当前被引了 3298 次。这篇文章采用较少参数就取得了 Alexnet 的效果,Alexnet 参数大小为 230M,而 Network In Network 仅为 29M&#x…...

【靶机测试--PHOTOGRAPHER: 1【php提权】】

前期准备 靶机下载地址: https://vulnhub.com/entry/photographer-1%2C519/ 信息收集 nmap 扫描同网段 ┌──(root㉿kali)-[/home/test/桌面] └─# nmap -sP 192.168.47.0/24 --min-rate 3333 Starting Nmap 7.92 ( https://nmap.org ) at 2024-03-19 07:37 …...

LeetCode每日一题——删除有序数组中的重复项

删除有序数组中的重复项OJ链接:26. 删除有序数组中的重复项 - 力扣(LeetCode) 题目: 思路: 题目要求每个数只能出现一次,然后返回新数组的长度。仔细一看,其实与我们之前的移除元素那道题十分…...

元宇宙VR数字化艺术展降低办展成本

元宇宙AI时代已经来临,越来越多人期待在元宇宙数字空间搭建一个属于自己的虚拟展厅,元宇宙虚拟展厅搭建平台是VR公司深圳华锐视点为企业研发的可编辑工具,那么元宇宙虚拟展厅搭建平台有哪些新突破? 元宇宙虚拟展厅搭建平台采用了先进的web3D…...

聚类分析 | Matlab实现基于PCA+DBO+K-means的数据聚类可视化

聚类分析 | Matlab实现基于PCADBOK-means的数据聚类可视化 目录 聚类分析 | Matlab实现基于PCADBOK-means的数据聚类可视化效果一览基本介绍程序设计参考资料 效果一览 基本介绍 PCA(主成分分析)、DBO(蜣螂优化算法)和K-means聚类…...

使用 git 先提交后拉取的时候远程分支不允许问题

问题场景 修改本地代码使用 git 先提交后拉取的时候远程分支不允许的问题 修改本地代码时,远程分支存在其他新提交先执行了 git commit -m xxx update然后再执行 git pull 拉取远程分支代码,出现如下提示 hint: You have divergent branches and need…...

Unity 创建快捷方式开机自动启动

Unity 创建快捷方式自动启动 🌭食用方法 🌭食用方法 先导入插件包👈,再 把导入的ZYF_AutoRunApp.cs 挂到物体上即可。 using System; using System.Collections; using System.Collections.Generic; using System.IO; using Uni…...

什么是docker(docker客户端、镜像、容器、仓库)

一、docker Docker 是一个开源的容器化平台,它可以让开发者打包应用程序及其依赖项成为一个轻量级、可移植的容器,然后在任何环境中运行。Docker 容器将应用程序及其依赖项打包到一个标准化单元中,包括代码、运行时环境、系统工具、系统库等…...

[Python人工智能] 四十三.命名实体识别 (4)利用bert4keras构建Bert+BiLSTM-CRF实体识别模型

从本专栏开始,作者正式研究Python深度学习、神经网络及人工智能相关知识。前文讲解如何实现中文命名实体识别研究,构建BiGRU-CRF模型实现。这篇文章将继续以中文语料为主,介绍融合Bert的实体识别研究,使用bert4keras和kears包来构建Bert+BiLSTM-CRF模型。然而,该代码最终结…...

Android Framework开发之Linux +Vim命令

一、linux常用命令 在Android源码开发中,Linux命令的运用是至关重要的。这些命令不仅帮助开发者有效管理文件、目录和系统资源,还能在源码编译、调试和排错过程中发挥关键作用。以下是对Android源码开发中常用Linux命令的更详细介绍: 当然可…...

华为云AI开发平台ModelArts

华为云ModelArts:重塑AI开发流程的“智能引擎”与“创新加速器”! 在人工智能浪潮席卷全球的2025年,企业拥抱AI的意愿空前高涨,但技术门槛高、流程复杂、资源投入巨大的现实,却让许多创新构想止步于实验室。数据科学家…...

【kafka】Golang实现分布式Masscan任务调度系统

要求: 输出两个程序,一个命令行程序(命令行参数用flag)和一个服务端程序。 命令行程序支持通过命令行参数配置下发IP或IP段、端口、扫描带宽,然后将消息推送到kafka里面。 服务端程序: 从kafka消费者接收…...

基于服务器使用 apt 安装、配置 Nginx

🧾 一、查看可安装的 Nginx 版本 首先,你可以运行以下命令查看可用版本: apt-cache madison nginx-core输出示例: nginx-core | 1.18.0-6ubuntu14.6 | http://archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages ng…...

CocosCreator 之 JavaScript/TypeScript和Java的相互交互

引擎版本: 3.8.1 语言: JavaScript/TypeScript、C、Java 环境:Window 参考:Java原生反射机制 您好,我是鹤九日! 回顾 在上篇文章中:CocosCreator Android项目接入UnityAds 广告SDK。 我们简单讲…...

深度学习习题2

1.如果增加神经网络的宽度,精确度会增加到一个特定阈值后,便开始降低。造成这一现象的可能原因是什么? A、即使增加卷积核的数量,只有少部分的核会被用作预测 B、当卷积核数量增加时,神经网络的预测能力会降低 C、当卷…...

在Mathematica中实现Newton-Raphson迭代的收敛时间算法(一般三次多项式)

考察一般的三次多项式,以r为参数: p[z_, r_] : z^3 (r - 1) z - r; roots[r_] : z /. Solve[p[z, r] 0, z]; 此多项式的根为: 尽管看起来这个多项式是特殊的,其实一般的三次多项式都是可以通过线性变换化为这个形式…...

Vite中定义@软链接

在webpack中可以直接通过符号表示src路径,但是vite中默认不可以。 如何实现: vite中提供了resolve.alias:通过别名在指向一个具体的路径 在vite.config.js中 import { join } from pathexport default defineConfig({plugins: [vue()],//…...

Vue ③-生命周期 || 脚手架

生命周期 思考:什么时候可以发送初始化渲染请求?(越早越好) 什么时候可以开始操作dom?(至少dom得渲染出来) Vue生命周期: 一个Vue实例从 创建 到 销毁 的整个过程。 生命周期四个…...

CSS(2)

文章目录 Emmet语法快速生成HTML结构语法 Snipaste快速生成CSS样式语法快速格式化代码 快捷键(VScode)CSS 的复合选择器什么是复合选择器交集选择器后代选择器(重要)子选择器(重要)并集选择器(重要)**链接伪类选择器**focus伪类选…...

AcWing 3417:砝码称重——位集合

【题目来源】 3417. 砝码称重 - AcWing题库 【题目描述】 你有一架天平和 N 个砝码,这 N 个砝码重量依次是 W1,W2,⋅⋅⋅,WN。 请你计算一共可以称出多少种不同的正整数重量? 注意砝码可以放在天平两边。 【输入格式】 输入的第一行包含一个整数 N。 …...