这篇文章我们要学习的是—— Linux 软件包管理器 yum。
1. 什么是yum
首先来问大家一个问题:
我们平时使用的手机上,都会有一个应用叫做“应用商店”,那大家思考一下,我们在应用商店里面去下载一些软件的时候,这些软件是从本地直接下载的呢还是从远端的服务器下载的?
那这个相信大家都应该知道,手机应用商店下载的软件是通过互联网从远端服务器下载到用户设备的。远端服务器存储着应用程序的安装包,当用户发起下载请求时,服务器会将安装包传输给用户的设备。 所以我们手机上的应用商店只是帮我们下载软件的,而软件本身并不在手机上,而是在远端的服务器上。应用商店会去帮我们找我们要下载的软件。
那同样的:
在Linux上,也需要有一个类似于应用商店的东西,在对应的服务器端去帮助我们下载和安装Linux需要的一些软件。
在Linux下安装软件,一个通常的办法是下载到程序的源代码,并进行编译,得到可执行程序。 但是这样太麻烦了,于是有些人把一些常用的软件提前编译好,做成软件包(可以理解成windows上的安装程序)放在一个服务器上,通过包管理器可以很方便的获取到这个编译好的软件包(软件包和软件包管理器,就好比 “App” 和 “应用商店” 这样的关系),直接进行安装。
那在Linux上,这个类似于应用商店的东西就是我们接下来要学习的yum——Linux 软件包管理器。
yum(Yellow dog Updater, Modified)是Linux下非常常用的一种包管理器. 主要应用在Fedora, RedHat, Centos等发行版上。
那大家再来思考一个问题:
为什么手机应用商店里面会有人提供这么多软件供我们下载和使用?
那这背后肯定是和利益相关联的,但另外这也满足了我们的需求,这是一种双赢的生态。
在Linux上我们也可以下载软件和工具,那在Linux上,是什么人出于什么目的为我们提供软件供我们下载使用呢?
在Linux上提供软件的人群有不同的动机,包括推动开源精神、贡献社区、满足用户需求、商业利益等。他们的努力为Linux用户提供了丰富的选择,并促进了Linux生态系统的发展和壮大。
2. yum的使用
2.1 注意事项
关于 yum 的所有操作必须保证主机(虚拟机)网络畅通!!! 可以通过 ping 指令验证
这样就是🆗的。
2.2 查看软件包
通过 yum list 命令可以罗列出当前一共有哪些软件包
但是这样列出来数量是非常多的。
所以我们可以使用要使用管道和 grep 命令只筛选出我们关注的包:
那这里显示出来的信息分别代表什么呢?
这三个部分分别是软件包的名称、软件包的版本号和软件包的版本号
2.3 如何安装软件
在Linux上安装软件的时候我们一般都把用户切换成root安装,或者加上sudo。
那如何用yum安装软件呢?
比如我现在想安装sl这个软件包
没安装之前我们是用不了的。 那yum安装软件包的语法是这样的:yum install( -y) 软件包名
yum 会自动找到都有哪些软件包需要下载,这时候敲 “y” 确认安装,当然我们可以直接带上-y选项 出现 “complete” 字样, 说明安装完成. 安装好我们就可以用了:
当然安装的时候如果你知道后缀也可以把后缀带上:
注意事项:
安装软件时由于需要向系统目录中写入内容, 一般需要 sudo 或者切到 root 账户下才能完成. yum安装软件只能一个装完了再装另一个. 正在yum安装一个软件的过程中, 如果再尝试用yum安装另外一个软件, yum会报错. 如果 yum 报错, 请自行百度.
2.4 如何卸载软件
还是用一条命令,把安装命令中的install 换成remove就行了
然后这条命令就用不了了:
2.5 yum源
然后想告诉大家的是:
Linux的软件其实分为官方软件和扩展软件,新出来的软件是不能直接进官方软件的队列里的,而是到扩展软件源里面,被人们用上一段时间,如果比较不错,才会纳入到官方软件源里面。 所以我们一般下软件都建议下官方软件源里面的,一般比较常见的软件都是官方的,但是有些其实没有被纳入官方源里面,比如我们刚才安装的sl,他就是一个扩展的。
然后大家再来思考一个问题,我们用手机的应用商店下载软件的时候,它是怎么知道要去哪里下载的呢?
🆗,它们之所以知道,一般都是它们内置的有下载链接的地址或者配置文件。 即我们下载应用商店的时候,不仅下载了这个软件,还包含了对应的一些配置文件,这里有对应各种软件的下载地址。
那对于yum来说呢?
🆗,同样的,他也有自己对应的配置文件,我们把它叫做yum源。
那yum源在哪里呢?
在这个路径下:
其中的这个-Base的这个我们称为基础yum源
我们可以看一下:
在这里我们就可以看到我当前机器上默认的一个下载路径,我这个yum是华为云的。
那其实这个yum源是可以更新的,但是:
如果你自己使用yum的时候没有问题,并且你自己看到你的yum源配置文件里面就是国内的镜像源–阿里云,163,华为,腾讯的,就可以直接使用,不用配置了。 如果你想配置一下,也行,因为我们做了备份,如果配置失败,进行恢复即可。 关于yum源的更新这里就不介绍了,网上可以搜到很多的教程。
另外呢:
我们上面说了,yum源其实有这个官方yum源和扩展yum源。 如果你在安装某些软件的时候提示找不到,那它有可能就是在扩展的yum种。 那扩展yum源其实就是这个
那找不到怎么解决呢? sudo yum install -y epel-release
这条指令会根据你的base yum源,帮你找到和他匹配的扩展yum源 然后再执行sudo yum install -y
就可以完成安装了。