yum的基础使用

 2023-05-11     8549

一、yum 背景知识

1、商业生态

我们在安装一个软件之前,需要先下载对应的软件包,但是这个软件包并不存在于我们本地的计算机磁盘,而是存在于远端服务器上;那么计算机如何知道该软件存在于具体的哪一台服务器上呢?


对于电脑来说,我们一般通过搜索对应软件的官网来得到相应软件包;对于手机来说,表面上我们通过手机自带的应用商店来下载软件包,但实际上应用商店里面并不存在软件包,而只是存在着对应软件官网的链接,最后我们的软件包还是从官网上下载的;


其次,这些软件包是由谁提供的呢?答案很明显,它们是由一些企业、组织或个人提供的;这些企业、组织以及个人为了某种利益编写出了软件包,然后将其放在了对应的服务器上。


自此,一条简单的商业生态链就出来了 – 一部分人编写出了软件包供其他人使用,并通过收费或者内置广告等方式从中获取利益;同时,它们也向手机厂商支付费用,使得自己的软件能够在对应手机的应用商店或者第三方的下载工具 (比如迅雷、应用宝) 中被下载使用。


2、开源生态

有人编写软件是为了赚钱,自然也有的人不为赚钱,他们可能是为了提高技术与获得成就感、也可能是为了提高自己的知名度、又异或是无聊等等原因;总之,有的人会将自己编写出的软件包的源代码公开,让别人能够免费随意使用,这种就叫开源;


在托瓦兹编写出了Linux操作系统并开源之后,世界上有很多人参与到了Linux的完善与扩展中来,其中也不乏为Linux免费编写软件的人;这些人会加入相应的Linux社区,然后将自己编写的软件放在社区对应的服务器上;而不同的社区会在自己的Linux版本中内置服务器和软件对应的下载链接,而这个用于存放下载链接的软件就是yum;


yum (Yellow dog Updater, Modified) 是Linux下非常常用的一种包管理器;主要应用在 Fedora, RedHat,Centos 等发行版上;软件包和软件包管理器, 就好比 “App” 和 “应用商店” 这样的关系。


上面的过程也是开源生态的形成过程 – 不同的Linux发行版创建对应的Linux社区,社区拥有一个公共账户,用于接受来自世界各地的捐款,然后用账户里面的资金购买服务器、举行各种活动等等;来自世界各地的具有开源精神的人将自己编写的开源软件部署在社区的服务器上;社区再将这些软件的下载链接拷贝到对于Linux发行版的软件包管理器 (比如yum) 中,使得我们能够在Linux中通过软件包管理器安装使用各种软件。


3、软件生态本土化

由于西方在计算机方面起步与发展比我国要早很多,所以我们上面所说的开源生态最先在西方形成,即大多数Linux社区,包括社区对应的服务器都是部署在国外的;所以在国内通过链接下载软件时访问会比较慢,再加上我国的一些特殊国情,有时候还会访问失败;


针对上面这种情况,我国的一些高校以及公司就 镜像了国外的软件服务,即把国外服务器上的软件拷贝到了国内自己公司的服务器上,使得我们可以直接访问国内的服务器来下载软件;


但是只拷贝软件还不行,因为 yum 中下载软件时默认访问的链接还是国外的,所以这些高校/公司还提供了一套国内的下载链接配置文件 – yum 源配置文件;


在Linux中,yum 源配置文件是存在于 /etc/yum.repos.d/ 目录下的 CentOS-Base.repo 文件:


如果你使用的是云服务器,那么 yum 源一般都是配置好的,如果你使用的是虚拟机,你需要打开 CentOS-Base.repo 查看里面的链接是否是国内的链接,如果不是,就需要自己手动配置,配置的方法网上很多,直接搜索对应的Linux发行版即可;



二、yum 的基本使用

1、查看软件包

我们可以通过 yum list 命令罗列出当前一共有哪些软件包;但由于包的数目非常之多, 所以我们一般使用 grep 命令来筛选出我们关注的包;命令格式 "yum list | grep  包名"


2、安装软件

我们可以通过如下命令来安装软件包 (其中 -y 代表不询问直接安装):

      yum install - y 软件名


有一些软件并没有被纳入 Centos、Ubuntu、Kail等相关生态平台的官方软件集合中,如果我们想使用这些软件,需要安装 非官方软件集合列表 – epel-realse;

      yum install - y epel-realse


3、卸载软件

卸载软件的指令如下 (其中 -y 代表不询问直接卸载):

yum remove -y 软件名


注意:关于 yum 的所有操作必须保证主机 (虚拟机) 网络畅通与DNS解析正常;

一键成为代理,携手向未来!

立即购买