Linux 软件包管理器 yum的下载、功能介绍及使用

🪐🪐🪐欢迎来到程序员餐厅💫💫💫
          主厨:邪王真眼
主厨的主页:Chef‘s blog  
所属专栏:青果大战linux
总有光环在陨落,总有新星在闪烁

Linux下的三种软件安装方法

源代码安装

下载到程序的源代码, 并进行编译, 得到可执行程序

  • 缺点:
1.你要自己寻找正规的安装源,万一不小心下载了个山寨的甚至病毒呢?
2.软件的源码有多个文件组成,易丢失
3.同一个软件又有不同版本,你还要去找适合本地的的软件版本
4.用户还要自己搭建相关环境进行配置,比如你跑代码要有编译器(例如vs)、或许还要自己安装库(如easyX),

 rpm包安装

有些人把一些常用的软件提前编译好, 做成软件包(可以理解成windows上的安装程序)放在一个服务器上, 通过包管理器可以很方便的获取到这个编译好的软件包, 直接进行安装.

软件包和软件包管理器, 就好比 "App" 和 "应用商店" 这样的关系.

  • 缺点:

虽然代码已经帮你编译好了,可是环境还要自己配置,那具体还需要哪些软件、哪些库以及对应的哪些版本都要你自己来解决


yum安装(唯一真神)

yum(Yellow dog Updater, Modified)是Linux 下非常常用的一种包管理器 . 主要应用在 Fedora,RedHat, Centos等发行版上 .
yum的安装是全自动化的,完全不需要你操心任何一个过程,其可以自动判断一个软件要去哪个地方下载,自动下载好配套软件。因此yum是当前主流的软件安装方式。

它解决了安装源、安装版本、安装依赖三个问题 


Linux软件生态

首先明白我们在手机上或电脑上要下载一款软件,有两个必要条件

1.是你手上有硬件设备(手机平板电脑等)

2.有人提供了软件的下载方式

接着我们就可以在类似于应用商店的地方打开wifi下载软件了(如下图)

我们的Linux和window是同理的

知其然知其所以然,下面我们来讨论来几个问题

  1. 软件是谁写的
  2. 为什么把软件是无偿提供出来的
  • 回答一

公司或者个人组织

对于第二个问题我们就要好好谈谈Linux生态了

Linux下的软件:

我们发现我们不能在Linux下打王者、原神、LoL等游戏,事实上很多widow上的软件无法装在linux系统上接着我们也知道使用window的是大众,而使用linux的大多和程序员有关,面向的群体不同所需的软件自然也不同,linux下的软件主要是方便学生或工作者学习工作用的而不是娱乐的。

生态健康是什么

思考问题:你的老板说我们公司要用操作系统,让你去市场上考察考察,那么请问你的考察标准是什么?

  1. 该操作系统的获取来源是否足够多,足够官方
  2. 是否稳定、安全
  3. 有没有成熟、活跃的社区
  4. 成熟的文档
  5. 背后有没有丰富的软件生态
  6. 大公司也在用哦~~

以上称之为生态健康


社区的竞争

接着我们知道,不同的linux的内核之间没有太大区别,区别在于社区,比如Centos的社区以公司为主力,ubuntu的主力则是学生,他们之间是存在竞争的,为了赢得竞争就要让自己的社区生态变得更好,怎么变好?买更好的服务器,鼓励自己社区的程序员们创建更好的软件以吸引别人,要知道操作系统都有人写,软件肯定也有。

但是搞服务器要花钱啊,包括维持社区运行也有开销,可我们都知道Linux是开源的,不花钱的,那这些钱谁来处呢,难道管理员自掏腰包?我们刚刚也说了不同社区之间会竞争,然后会分出高下,好的社区会出名,会有更多更好的公司来使用他们的操作系统,而这些公司会捐款!!!

是的,朋友,没有白票。这也好理解,我知道你家操作系统好,我也知道你要钱,没钱就干不下去,那我就分出我的一部分利益给你让你继续搞下去,我则可以继续用你的操作系统,要是大家都白嫖,那这些好的操作系统(运行成本高)就会倒闭,那公司们只能取用不好的操作系统,这样一来损失更大,所以选择了捐款实现共赢

综上所述,社区有钱进行维护和开发,所以我们就有免费的、好用的软件啦!


Yum三板斧

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

yum list

  • 基础功能

罗列出当前一共有哪些软件包.

指令展示:

[qingguo@iZf8z6fhz4n89uhtqx9ey6Z ~]$ yum list

  

  • 进阶功能:

用grep进行筛选,选出我们的目标软件。

我们以目标软件lrzsz举例

[qingguo@iZf8z6fhz4n89uhtqx9ey6Z ~]$ yum list | grep lrzsz
lrzsz.x86_64                             0.12.20-36.el7                @base    

lrzsz功能:

这个工具用于 windows 机器和远端的 Linux 机器通过 XShell 传输文件 . 安装完毕之后可以通过拖拽的方式将文件上传过去。在此我输入yum list | grep lrzsz(由于我不是root所以前面加了个sudo提权)
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z ~]$ sudo yum list|grep 'lrzsz'
lrzsz.x86_64                             0.12.20-36.el7                base    

 对于终端显示的这行信息:

1.lrzsz是我们要下载的软件2.x86_64表示该软件在64位操作系统下运行3.0.12.20-36是该软件版本号4.el7表示Centos75.base是软件提供方,类似于 "小米应用商店", "华为应用商店" 这样的概念
  • 扩展:

一般软件提供方有两种,即base和epel

  1.  base:基本软件源,这里面的软件都是经过筛选,比较稳定的软件
  2. epel:扩展软件源,一般都是新软件,这些软件刚发布需要经过一定时间的测试,来发现一些问题,epel内部的软件经过一定时间后变得稳定了,而且比较好用,就会进入base 

 yum install

功能:下载软件

输入指令:

sudo yum install lrzsz

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

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

当然。如果你不想让它问你而是直接下载完软件,那就加上-y
  • 注意事项:
  1. 安装软件时由于需要向系统目录中写入内容, 一般需要 sudo 或者切到 root 账户下才能完成.
  2. yum安装软件只能一个装完了再装另一个. 正在yum安装一个软件的过程中, 如果再尝试用yum安装另外一个软件, yum会报错.
  3. 如果 yum 报错, 请自行百度

yum remove

指令格式:yum remove XXX(软件名)

比如我要删掉lrzsz,执行

yum remove lrzsz

同样的,会向你展示该软件的信息,然后向你确认是否删除,输入y表示yes,n表示no

  

如果不希望它询问,直接删除,加上-y选项即可。

sudo yum remove -y lrzsz

 


yum源

  • 提出问题:

yum怎么直到如何下载对应软件的

我们要下载一个东西可以直接在浏览器里搜索它的官网,例如vs编译器

Linux也是同理,yum的身份就像是手机里的应用商店,它存储的有对应软件的下载地址,我们可以在/etc/yum.repos.d下查看

repos:仓库                         d:目录

[qingguo@iZf8z6fhz4n89uhtqx9ey6Z ~]$ ll /etc/yum.repos.d
total 12
-rw-r--r-- 1 root root 2523 Aug  4  2022 CentOS-Base.repo
-rw-r--r-- 1 root root  675 May 20 18:02 CentOS-Base.repo.copy
-rw-r--r-- 1 root root  230 Apr  2 19:20 epel.repo

我们打开其中的CentOS-Base.repo,可以看到大量网址

在该目录下,会存储大量的网址,yum会到对应的网址内部查找软件,并且筛选合适的版本自动下载到你Linux主机上。

这些称为yum源,在此常用的yum源有阿里云、网易、清华源等等

yum源分为官方yum源和扩展yum源

前者经过层层删选,稳定安全值得信赖,后者还未完全通过测试,安全性不被官方认可 

  • 如何安装扩展源:
yum install -y -epal-release
  • 修改yum源

如果你用的是云服务器的linux那你的yum源大概率是国内的,但如果是虚拟机那他默认的yum源就是国外的了,因为网站在国外所以你的访问所都会较慢,为了解决这个问题,我们可以更新yum源。

1.首先跳转到yum源所处目录下:

cd /etc/yum.repos.d

2.做好备份,为了更新失败时切换回去

cp CentOS-Base.repo CentOS-Base.repo.backup

下载新的yum源

wget -O CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

清除原来的缓存

yum clean all

加载现在的缓存

yum makecache

最后可以试着安装软件看看有无错误

[qingguo@iZf8z6fhz4n89uhtqx9ey6Z yum.repos.d]$ sudo yum install lrzsz

现在你把yum源更新了,但不想要了,想换回去,咋办

1.删除该yum源(你也可以以防万一备份一下)

[qingguo@iZf8z6fhz4n89uhtqx9ey6Z yum.repos.d]$ sudo cp CentOS-Base.repo CentOS-Base.repo.copy1
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z yum.repos.d]$ sudo rm -rf CentOS-Base.repo

2.把原本的拷贝文件再复制一份,文件名是CentOS-Base.repo

[qingguo@iZf8z6fhz4n89uhtqx9ey6Z yum.repos.d]$ sudo cp CentOS-Base.repo.copy CentOS-Base.repo

3.删除原来的yum缓存

[qingguo@iZf8z6fhz4n89uhtqx9ey6Z yum.repos.d]$ sudo yum clean all

4.加载新的yum源缓存

[qingguo@iZf8z6fhz4n89uhtqx9ey6Z yum.repos.d]$ sudo yum makecache

 

成功啦!!!


今天学习了linux的yum知识以及相关指令,下去一定要好好练习哦。


🥰创作不易,你的支持对我最大的鼓励🥰
🪐~ 点赞收藏+关注 ~

e3ff0dedf2ee4b4c89ba24e961db3cf4.gif

 

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

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

相关文章

项目如何有效做资源管理?易趋项目管理软件让资源管理可视化

在项目管理的过程中,有效的资源管理能够确保资源得到合理的分配和使用,避免资源的浪费和冗余,进而提高整体工作效率、确保项目的成功;同时降低组织的运营成本。 但在项目推进过程中,项目经理总会面临各种资源管理的难…

MyBatis从入门到“入土“

💕喜欢的朋友可以关注一下,下次更新不迷路!💕(●◡●) 目录 一、Mybatis为何物?👌 二、快速入门🤣 1、新建项目😊 2、数据库建表😊 3、导入依赖的jar包😊…

vue3 路由跳转 携带参数

实现功能:页面A 跳转到 页面B,携带参数 路由router.ts import { createRouter, createWebHistory } from "vue-router";const routes: RouteRecordRaw[] [{path: "/demo/a",name: "aa",component: () > import(&quo…

【软件设计师】2018年的上午题总结

2018 2018上半年2018下半年 2018上半年 1.小阶向大阶对齐 2.吞吐率是最长流水段操作时间的倒数 3.ssh的端口号是22 4.s所发送的信息使用s的私钥进行数字签名,t收到后使用s的公钥验证消息的真实性 5.数据流分析是被动攻击方式 6.《计算机软件保护条例》是国务院颁布…

226.翻转二叉树

翻转一棵二叉树。 思路: 指针做交换 用递归(前序or后序,中序不行) 前序:中左右 遍历到“中”的时候,交换它的左右孩子 然后分别对它的左孩子和右孩子使用“交换函数”(定义的)&a…

【论文阅读】使用深度学习及格子玻尔兹曼模拟对SEM图像表征粘土结构及其对储层的影响

文章目录 0、论文基本信息1、深度学习2、可运行程序—Matlab3、深度切片3、LBM模拟4、局限性 0、论文基本信息 论文标题:Characterizing clay textures and their impact on the reservoir using deep learning and Lattice-Boltzmann simulation applied to SEM i…

Python-温故知新

1快速打开.ipynb文件 安装好anaconda后,在需要打开notebook的文件夹中, shift键右键——打开powershell窗口——输入jupyter notebook 即可在该文件夹中打开notebook的页面: 2 快速查看函数用法 光标放在函数上——shift键tab 3...

CGAN|生成手势图像|可控制生成

🍨 本文为🔗365天深度学习训练营 中的学习记录博客🍦 参考文章:TensorFlow入门实战|第3周:天气识别🍖 原作者:K同学啊|接辅导、项目定制 CGAN(条件生成对抗网络&#xf…

【Crypto】Rabbit

文章目录 一、Rabbit解题感悟 一、Rabbit 题目提示很明显是Rabbit加密,直接解 小小flag,拿下! 解题感悟 提示的太明显了

二分查找

题目链接 题目: 分析: 如果按照从头到尾的顺序一次比较, 每次只能舍弃一个元素, 效率是非常低的, 而且没有用到题目的要求, 数组是有序的因为数组是有序的, 所以如果我们随便找到一个位置, 和目标元素进行比较, 如果大于目标元素, 说明该位置的右侧元素都比目标元素大, 都可…

一键恢复安卓手机数据:3个快速简便的解决方案!

安卓手机作为我们不可或缺的数字伙伴,承载着大量珍贵的个人和工作数据。然而,随着我们在手机上进行各种操作,不可避免地会遇到一些令人头痛的问题,比如意外删除文件、系统故障或其他不可预见的情况,导致重要数据的丢失…

汽车生产线中的工业机器人应用HT3S-PNS-ECS(EtherCAT/Profinet)协议转换通讯方案案例分析

汽车生产线中的工业机器人应用HT3S-PNS-ECS(EtherCAT/Profinet)协议转换通讯方案案例分析 ——北京中科易联科技有限公司供稿—— 一、摘要 随着工业自动化的快速发展,汽车生产线对工业机器人的依赖日益增加。HT3S-PNS-ECS作为工业机器人中的关键组件,其…

OpenFeign快速入门 替代RestTemplate

1.引入依赖 <!--openFeign--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-openfeign</artifactId></dependency><!--负载均衡器--><dependency><groupId>org.spr…

重学java 38.创建线程的方式⭐

It is during our darkest moments that we must focus to see the light —— 24.5.24 一、第一种方式_继承extends Thread方法 1.定义一个类,继承Thread 2.重写run方法,在run方法中设置线程任务(所谓的线程任务指的是此线程要干的具体的事儿,具体执行的代码) 3.创建自定义线程…

响应式处理-一篇打尽

纯pc端响应式 pc端平常用到的响应式布局 大致就如下三种&#xff0c;当然也会有其他方法&#xff0c;欢迎评论区补充 将div height、width设置成100% flex布局 flex布局主要是将flex-wrap: wrap&#xff0c; 最后&#xff0c;你可以通过给子元素设置 flex 属性来控制它们的…

c4d云渲染是工程文件会暴露吗?

在数字创意产业飞速发展的今天&#xff0c;C4D云渲染因其高效便捷而备受欢迎。然而&#xff0c;随着技术应用的深入&#xff0c;人们开始关注一个核心问题&#xff1a;在享受云渲染带来的便利的同时&#xff0c;C4D工程文件安全吗&#xff1f;是否会有暴露的风险&#xff1f;下…

【30天精通Prometheus:一站式监控实战指南】第4天:node_exporter从入门到实战:安装、配置详解与生产环境搭建指南,超详细

亲爱的读者们&#x1f44b;   欢迎加入【30天精通Prometheus】专栏&#xff01;&#x1f4da; 在这里&#xff0c;我们将探索Prometheus的强大功能&#xff0c;并将其应用于实际监控中。这个专栏都将为你提供宝贵的实战经验。&#x1f680;   Prometheus是云原生和DevOps的…

绿联硬盘数据恢复方法:安全、高效找回珍贵数据

在数字化时代&#xff0c;硬盘承载着大量的个人和企业数据&#xff0c;一旦数据丢失或损坏&#xff0c;后果往往不堪设想。绿联硬盘以其稳定的性能和良好的口碑赢得了众多用户的信赖&#xff0c;但即便如此&#xff0c;数据恢复问题仍然是用户可能面临的一大挑战。本文将为您详…

炫酷网页设计:HTML5 + CSS3打造8种心形特效

你以为520过去了&#xff0c;你就逃过一劫了&#xff1f;那不是还有分手呢&#xff0c;那不是还得再找对象呢&#xff0c;那不是还有七夕节呢&#xff0c;那不是还有纪念日呢&#xff0c;那不是还有各种各样的节日呢&#xff0c;所以呀&#xff0c;这8种HTML5 CSS3打造8种心形…

Java 程序的基本结构,编写和运行第一个Java程序(Hello World)!

Java程序的基本结构 Java是一种面向对象的编程语言&#xff0c;其程序结构较为规范。Java程序由一个或多个类组成&#xff0c;每个类包含数据成员和方法。 1. 包声明&#xff08;Package Declaration&#xff09; 包是Java中组织类的一种机制&#xff0c;使用包可以避免类名…