一、yum简介
Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。
yum相关的配置文件主要有两个:
(1)etc/yum.conf配置文件
(2)etc/yum.repos.d/目录下的众多.repo文件
1、什么是yum.conf文件
yum.conf文件是用来存储yum配置信息的文件,虽然yum.conf文件通常都比较简洁,却是yum软件管理器的重要组成部分。
2、什么是repo文件?
repo文件是yum源(软件仓库)的配置文件,通常一个repo文件定义了一个或者多个软件仓库的细节内容,例如我们将从哪里下载需要安装或者升级的软件包,repo文件中的设置内容将被yum读取和应用。
CentOS-Media 这个是使用光盘挂载后调用的文件
CentOS-Base 这个是联网后基础的源,一般都用这个
CentOS-Vault 这个是最近新版本的加入的老版本的yum源配置
CentOS-Debuginfo debug包尤其和内核相关的更新和软件安装
3、yum功能简介
yum是一款shell前端软件包管理工具,用其安装软件时,该工具以rpm包的包头(header)写入的依赖信息为依据,列出需要安装以满足欲装软件正常运行的所有依赖包,并在用户确认后进行自动化安装。
4、yum工作原理
执行yum命令时,会首先从”/etc/yum.repo.d”目录下的众多repo文件中取得软件仓库的地址并下载“元数据”,“元数据”包含注册于该软件仓库内所有软件包的包名及其所需的依赖环境等信息,yum得到这些信息后会和本地以后环境做对比,进而列出确认需要安装哪些包,并在用户确认后开始安装。
“元数据”由位于yum源服务器相关路径的repodata目录下的repomd.xml做索引。
5、yum工作流程
YUM的工作原理并不复杂,每一个 RPM 软件的头(header)里面都会记录该软件的依赖关系,那么如果可以将该头的内容记录下来并且进行分析,可以知道每个软件在安装之前需要额外安装哪些基础软件。
也就是说,在服务器上面先以分析工具将所有的RPM档案进行分析,然后将该分析记录下来,只要在进行安装或升级时先查询该记录的文件,就可以知道所有相关联的软件。
所以YUM的基本工作流程如下:
(1)服务器端:在服务器上面存放了所有的rpm软件包,然后以相关的功能去分析每个rpm文件的依赖性关系,将这些数据记录成文件存放在服务器的某特定目录内。
(2)客户端:如果需要安装某个软件时,先下载服务器上面记录的依赖性关系文件(可通过WWW或FTP方式),通过对服务器端下载的纪录数据进行分析,然后取得所有相关的软件,一次全部下载下来进行安装。