yum仓库简介
yum是一个基于RPM包(是Red-Hat Package Manager红帽软件包管理器的缩写)构建的软件更新机制,能够自动解决软件包之间的依赖关系。解决了日常工作中的大量查找安装依赖包的时间
为什么会有依赖关系的发生 因为linux本身就是以系统简洁为自身优势,所以在安装操作系统的时候并没有将所有的库文件以及编译软件包进行安装,所以在linux操作系统上进行软件安装的时候会出现软件包依赖的情况。yum由仓库和客户端组成,也就是整个yum由两部分组成,所以yum可以存放在两台服务器上。也可以存放在一台服务器上。可以有官方来提供服务,也可以由第三方来提供,比如国内的阿里云,搜狐云,还有一些非盈利组织比如学校等。官方的源一般在国外,下载速度肯定有限,手动更改成国内的云可以大幅提升下载速度。
YUM 的前身是 YUP(Yellow dog Updater,Yellow dog Linux 的软件更新器),最初由 TSS 公司(Terra Soft Solutions,INC.)使用 Python 语言开发而成,后来由杜克大学(Duck University)的 Linux 开发队伍进行改进,命名为 YUM(Yellow dog Updater,Modified)。 要成功使用 YUM 机制来更新系统和软件,需要有一个包含各种 rpm 安装包文件及其依 赖软件的软件仓库(repository),提供软件仓库的服务器也称为“源”服务器。在客户机中只 要正确指定软件仓库的地址等信息,就可以通过对应的“源”服务器来安装或更新软件。
yum的工作原理
yum 服务器存放rpm包和相关rpm包的元数据库(一个叫做repodata的文件夹–存放包的列表、依赖关系等信息)
yum 客户端访问yum服务器进行安装或查询等
客户端通过yum命令进行相关操作的时候,会通过客户端的配置文件连接到对应的仓库操作。
客户端会下载yum服务器的repodata到自己的缓冲区,通过对元数据检索找到对应的软件。
然后下载到客户端,按照一定要求进行安装。最后会删除掉下载的rpm包,repodata会保留下来
yum的实现过程
1.首先在yum服务器上创建仓库 – 仓库存储相关包和元数据信息
2.客户端使用yum工具进行包的安装时,自动下载repodata中的元数据,查询是否存在依赖关系
3.从仓库中下载相关的包进行安装
yum需要依赖于环境,依赖于服务端和客户端,允许跨网络
服务器:
RPM包 (Packages文件夹中)