Linux | 软件包管理器——yum的使用

5,527 阅读11分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 2 月更文挑战」的第 14 天,点击查看活动详情

一、什么是软件包

可能读者还不太了解软件包是什么概念,这里首先来讲讲什么是软件包

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

二、有关软件使用的背景讲解

接下去讲讲有关我们在日常生活中使用软件的背景

1、如何去下一个软件呢?过程是怎样的?

在这之前我要先问一个问题:我们经常在应用商店里下载的软件,是放在本地的还是远程的呢?

  • 假设此时若是要下个QQ,手机应该是通过网络向远方去请求,在服务器中找到QQ的二进制或者apk文件下下来安装在手机上 在这里插入图片描述
  • 看了这张图后,其实就可以回答上面的问题了:手机上用的应用商店是帮我们去下东西的,可是东西本身并不是在本地而在远端

2、软件的商业利益分析

  • 上面简单地介绍了一款软件要如何下载下来,对于软件而言我们日常生活中也会碰到过很多,也会使用到很多的软件,但是你是否有想过,在这些软件背后有着什么商业利益呢?
  • 我以后想从事的工作就是软件开发工程师,在市场上有着很多的公司都从事着软件开发的业务,我们都知道对于软件这一行有着很高的薪资,所以公司就要给那些工程师付工资,但是对于很多软件而言都是免费的,这么看来的话许多公司它们拿什么东西来赚钱呢?

==广告!广告!广告!==

  • 最简单的一个例子,我们平常在进CSDN手机端的时候总会弹出【3s ~ 5s】的广告。因为什么?当然是因为给一些东西打广告那些广告商可以给你钱喽( _ )

在这里插入图片描述

  • 像我们平在使用QQ、微信聊天的时候,马化腾有要过你一分钱吗,用钱的地方都在软件内部,这其实就是为了先把你吸引过来,让你的注意力可以在他们的产品上,然后呢再向推送一些广告,此时他就可以赚到钱了
  • 那有同学就问:对于我们的Linux而言,为什么没有广告呢?那我回答说:Linux是纯命令行的操作系统,连界面都没有,别人怎么给你推广告呢:cry:

3、Linux开源社区的生态链

我们都知道,对于Linux而言,它是一块开源的操作系统,既然是一款开源的操作系统,那么就会==开源社区==来供一些开发者交流讨论

  • Linux既然是一款操作系统,那它的运就要用到服务器,那么既然是服务器就需要去维护,维护那一定是需要成本和工费的,对于一款免费的操作系统而言,它们获取不到用户的任何利益,不像Windows那样若是要购买正版的操作系统就需要付费,那它们靠什么来生存呢?为何Linux可以持续地发展这么多年呢?
  • 这你要知道,Linux中大部分软件都是开源的,开源不一定免费【红帽 redhat】。Linux社区除了可以让一些钻研技术的人可以找到战友、互相学习交流、进行技术讨论,迭代Linux,让Linux更好,让想学Linux有更多的资源。那有了这么好的环境,这么好的组织之后,谁最不希望Linux黄掉、掉下呢?那就是使用Linux的这些用户们
  • 所以当Linux社区想要买服务器但是没有钱的时候,就会有那些不想让Linux黄掉的公司、企业出来捐款。此时Linux才可以继续地维护下去

在这里插入图片描述

  • 因此可以看到,虽然Linux操作系统是开源的,也有自己的生态。但是对比那些需要付费的操作系统来说。:Linux可以尽快影响全世界,比那些收费软件传播的速度更快。也有自己的社区,乐于接收捐赠,所以才可以维持这么多年一直发展。当然Linux的经济来源不仅仅限于捐赠,不然没人给它捐不就完蛋了。

到这里对Linux的生态链一定有了一定的了解,我们再去说Linux中的软件包就会有不一样的感觉了

4、Linux中软件的分类和选择

==首先浅谈Linux中的软件分类==

  • 在Linux中,分为两种软件,一个是【官方软件】,一个是【扩展软件】
  • 官方软件:常见,能叫得上名字的【推荐使用】
  • 扩展软件:不属于官方软件【后面奥讲到的sl】
    • 对于扩展软件而言扩展软件被用上两三年后被用户觉得好就会被纳入官方软件

==接下去说说如何去选择一款软件==

正确选择:point_right:【版本不新但不是特别老的软件】

  • 我在使用的Linux系统是CentOS7,市面上有很多的Linux相关版本的操作系统,比如红帽【和CentOS很像】、红旗、Fedara、Debian 、Ubuntu 等等,但是我为什么选择CentOS7呢?
  • 对于Windows操作系统来说我使用的是Win10,但是面对已经发布了半年的【Win11】,我为什么不选择它呢?

  • 接下去我就通过企业和软件本身带来的影响谈谈上面的两个问题
  • 因为越新的软件可能缝缝补补了其他的问题,但是一定会有新的问题。像一些新的操作系统虽然解决了一些其他问题,但一定会面临着一些新的问题
  • 老的软件问题已经都暴露了,坑都已经被踩过了。新软件也有问题,但是坑没有被踩过,一旦出现问题对于企业来讲是致命的,没有好的方法去解决,这个问题还在挖掘,所有企业都不想成为第一个吃螃蟹的人
  • 因此企业会采用问题都已经暴露了,评估出来问题不会影响到自己,而且这个操作系统比较经典的

看完我上面的陈述,相信你对软件如何去选择应该有了自己的一个想法了💡

三、yum的使用

好,讲完一些有关软件的背景后,我们正式地来说说yum的使用

1、说在前面【注意事项】

  • 对于yum的所有操作,都是要建立在网络通常的情况下进行的,所以我们要先来测试一下网络是否通畅
  • 按下Win + D,然后选择【cmd】打开命令窗口之后执行下面这条语句即可
ping www.baidu.com  	//访问百度
  • 如果看到了我下面这些信息之后就可以保证你的网络是通常的

在这里插入图片描述

2、如何查看软件包

要安装应用软件那就要先进入到【应用商城】中,这里我们就要先来看看我们的Linux中的有哪些yum

  • 我们首先执行一下这条语句。意思就是列出当前所有的yum清单,但是要带有【sl】字样,【grep】是我们前面所学的指令,用来带有指定字样的内容
yum list | grep sl

==注==

通过查看yum就可以看到下面的各种软件了 在这里插入图片描述

  • 最左列的就是各种操作系统下的软件名称,包括主版本号.次版本号.源程序发行号-软件包的发行号.主机平台.cpu架构.
  • "x86_64" 后缀表示64位系统的安装包, "i686" 后缀表示32位系统安装包. 选择包时要和系统匹配.❗
  • 中间一列就是它所发行的版本。【比如el7表示的就是centos7/redhat7】【"el6" 表示 centos6/redhat6】
  • 最右侧的@后面的名称就是这个yum它的**发行商【yum源】**是谁,类似于 "小米应用商店", "华为应用商店" 这样的概念

  • 然后我们查找得再详细一些

在这里插入图片描述

3、软件的安装和卸载【小火车嘟嘟嘟ε=ε=ε=( ̄▽ ̄)

接下去我们来看看如何安转下我们所查找到的软件

  • 因为Linux下是可以多用户一起使用的,所以我们就可以想到一次安装之后多个用户都可以使用,不需要再安装了,所以这里建议大家在安装的时候尽量切换到root或者使用sudo进行一个提权

==root==

yum (-y) install XXX

==普通用户==

sudo yum (-y) install XXX
  • 可以看到,首先我在这里若是不加-y的话系统就会询问我是否需要下载这些大小的软件。最后看到一个【Complete!】代表安装完成

在这里插入图片描述

  • 然后我们把这个软件卸载了然后带上-y再试试
yum (-y) remove XXX
  • 可以看到,若是卸载的时候没有带上-y也会进行提示,若是你不想再输个y的话可以带上-y

在这里插入图片描述

  • 然后看到加上 -y就不会进行询问了,卸载的话也可以自己去试试

在这里插入图片描述

  • 然后我们来运行一下这个软件试试。它看起来就像是一辆小火车的样子

[video(video-GzFvw1pH-1673177084828)(type-csdn)(url-live.csdn.net/v/embed/268…)]

【==注意事项==】

  • 安装软件时由于需要向系统目录中写入内容, 一般需要 sudo 或者切到 root 账户下才能完成.
  • yum安装软件只能一个装完了再装另一个. 正在yum安装一个软件的过程中, 如果再尝试用yum安装另外一个软件, yum会报错.- 如果 yum 报错,
  • 请自行百度

以上就是yum软件安装包的使用过程,怎么样,是不是很简单

四、yum源

1、探索yum源🔨理清内部脉络

上一个模块,我给你演示了如何去安装和卸载一个软件,但这只停留在表明,我们的学习应该是要搞清楚原理才对,要知道是谁给我提供的这个软件,这个软件在哪里。所以让我们来贪探索一番吧

  • 在开头我有讲到过软件商店要去下载软件通过的是获取远程服务器上的地址或者apk文件,那也就意味着软件管家需要只要各个软件的【下载地址】,这里一般都指==内置地址==
  • 那对于Linux中的yum,它是如何知道自己要去下载的软件在哪里的呢?这就要谈到yum自己的配置文件——【yum源】了,那这个yum源在哪里呢?通过下面这条指令就可以看到自己本机所配置的所有yum源了
ls -l /etc/yum.repos.d/	//查看配置的yum源
  • 既然这是一个目录,那我们就可以cd进去

在这里插入图片描述 📚 CentOS-Base.repo【基础yum源】 📚 CentOS-Epel.repo 【扩展yum源】

  • 那么此时,我们就可以去查看一下对应的yum源了
nano CentOS-Base.repo
  • 进去之后我们就可以看到里面都是连接。其实对应的就是yum镜像地址了

在这里插入图片描述

2、如何修改自己的yum源❓

  • 可以看看这篇文章,我这里就不展示了——> 链接

3、寻找失踪的软件🗡

可能有些小伙伴在安装自己想要的软件时找不到,可能你要找的这款软件就要扩展的yum源的中:epel.repo

  • 只要执行一下下面这条指令即可。此时系统就会根据你的base yum源,帮我们找到和他所匹配的扩展yum源
yum install -y epel-release
  • 有了这个yum源后你就可以进行安装了

五、总结与提炼

最后来总结一下本文所学习到的内容

  • 在本文中,我们了解到了在Linux底下的一款软件包管理器—— yum,我们可以用过它去下载一些软件来使用,相当于Windows下的软件商店一般
  • 在一开始,首先对于软件这方面的背景做了一些讲解,讲到了软件背后的一些商业利益以及Linux开源社区的发展
  • 之后就进入了yum的正式学习,知道了如何使用yum软件包去安装和卸载软件;然后又知道了yum源该如何去寻找以及修改配置

最后很感谢您对本文的观看,如有疑问,请于评论区留言或者私信我可以🌸

在这里插入图片描述