什么是YUM
YUM是“Yellow dog Updater, Modified”的缩写,是一个软件包管理器,YUM从指定的地方(相关网站的rpm包地址或本地的rpm路径)自动下载RPM包并且安装,能够很好的解决依赖关系问题。(首先Linux系统是使用软件管理器来进行软件的安装,卸载和查询等操作的,而软件管理器又分为后端工具和前端工具)前端工具就是本文的重点YUM。
- yum源就相当是一个目录项,当我们使用yum机制安装软件时,若需要安装依赖软件,则yum机制就会根据在yum源中定义好的路径查找依赖软件,并将依赖软件安装好。
- 说到yum源就必须说到linux系统中特有的依赖关系问题,yum就是为了解决依赖关系而存在的。
- Linux 的依赖关系是因为他的整个系统都是由各个不同的开发组开发的软件集合而成,每个软件都有不同的功能提供和调用。而 Linux 因为他的软件包组成可以很灵活,某些软件包不是必须的,有些软件功能可以有很多软件进行提供。所以有些软件互相之间的功能需求就需要“依赖关系”这种描述来进行说明控制。(依赖关系最简单的一个理解就是 Windows 上你玩游戏结果提示 directx 版本过低无法运行。以及常见的运行某个程序之后提示 .dll 未找到。还有就是用个软件结果安装说明上让你先去安装 .net 。)
为什么要使用YUM
Linux系统维护中令管理员最头疼的就是软件包之间的依赖性了,往往是要安装A软件,但是编译的时候告诉你A软件安装之前需要B软件,而当安装Y软件的时候,又告诉你需要Z库了,好不容易安装好Z库,发现版本还有问题等。由于历史原因,RPM软件包管理系统对软件之间的依存关系没有内部定义,造成安装RPM软件时经常出现令人无法理解的软件依赖问题。而yum就是一个半自动化的下载、更新、安装工具。
- 这还不算最麻烦的,只需要按照要求逐步下载,最麻烦的是相互依赖的情况。
- 遇到这种情况一般人就很难解决,而yum工具会根据你要安装的软件解析出依赖树,然后把依赖树的软件从网上的yum库全部下载下来打包给后端工具,从而让后端工具拿到完整的rpm包。
在时代的发展中,YUM变得越来越实用,功能也逐渐的增多,使用也更加的便捷。YUM已经形成了一套较为完善的组件。
- YUM命令
- 通过yum命令使用YUM提供的众多功能。
- 由名为yum软件包提供(默认已安装)。
- YUM插件
- 由官方或第三方开发的YUM插件用于扩展YUM的功能。
- 通常由名为yum -的软件包提供。
- YUM仓库
- YUM仓库(repostory) 亦称“更新源”。
- 一个YUM软件仓库就是个包含了仓库数据的存放众多 RPM文件的目录。
- YUM仓库必须包含一个名为 repodata的子目录用于存放仓库数据,仓库数据包含所有RPM包的各种信息,包括描述、功能、提供的文件、依赖性等信息。
- YUM客户通过访问YUM仓库数据进行分析并完成查询、安装、更新等操作。
- YUM客户可以使用http://, ftp://或file: //(本地文件)协议访问YUM仓库。
- YUM客户可以使用官方和第三方提供的众多YUM仓库更新系统。
- createrepo,yum-utils 等软件包(默认未安装)中提供了YUM仓库管理工具。