在网络中会有一些文件服务器,在服务器上会有一块存储空间,用来存放用户所需的所有rpm包文件,然后这个文件服务系统会通过一个文件共享服务的接口输出到外部主机,这个文件服务我们称之为yum仓库。我们一般用户所使用的是Linux主机,本身支持rpm包管理器的基本功能,同时还支持yum工具的使用。本地的yum通过一个配置文件决定自己要到网络中哪个服务器去下载哪些软件包,配置文件会告诉我们主机上的yum工具通过哪个地址能找到所需的文件服务器,yum在接收到安装程序的指令后会尝试着通过配置指令去找远端的服务器主机。远程服务器会提供一个自身数据仓库的元数据描述信息,用来大体记录自身信息,这时Linux主机只会将容量较小的元数据下载至本地的缓存cache当中,yum客户端就会分析安装的指令中是否有用户请求安装的包名,如果有话就会像yum仓库尝试读取下载这个包,同时还会通过配置文件去分析软件包之间的依赖关系,会分析得出需要但尚未安装的软件包的名称,并罗列出来,然后再去向yum仓库请求连接下载所需的程序包。下载完成后会将软件包缓存在本地cache当中,在本地会去执行类似rpm的命令操作,安装时会自动先去安装有依赖关系的文件,安装完成后会自动清除缓存中的文件以节约空间,但是元数据不会删除,因为安装包文件在一个系统中很少会多次安装,但是元数据文件会多次的用来对比分析等操作,所以会留下元数据文件。有时候我们的客户端在进行yum命令安装的时候,连接不上网络上的yum仓库服务器,这个时候就需要我们自己定义策略来判断是否使用已过期或者无法判断是否过期的rpm包文件。所以说yum客户端需要连接一个远程的yum仓库,到仓库中下载元数据文件,在本地支持yum完成程序包的安装或者升级操作,如果还需要其他依赖的程序包时,yum还需要启动一个文件服务器的客户端到文件服务器去下载所需要的文件,所以我们说yum是C/S架构,它需要一个文件访问的服务器,完成对软件包的提供和安装管理。
YUM:Yellowdog Udatte Modifier
存储了众多rpm包,以及包的相关的元数据文件(放置于特定目录下:repodata)
文件服务器:
ftp://(ftp服务器提供文件服务)
(http服务器提供文件服务)
nfs://(Linux系统中nfs文件系统提供服务)
file:///(本地计算机提供文件服务)
yum客户端:
配置文件:
/etc/yum.conf:为所有仓库提供公共配置
/etc/yum.repos.d/*.repo:为仓库的指向提供配置
仓库指向的定义:
[repositoryID]
name=Some name for this repository(仓库功能的完整的描述)
baseurl=url://path/to/repository/(指向了仓库的访问路径)
enabled={1|0}(是否启用此仓库,默认为1,启用此仓库)
gpgcheck={1|0}(程序包安装前校验其完整性和来源合法性)
gpgkey=URL(指明能访问密钥文件的访问路径)
enablegroup={1|0}(是否使用基于组来批量管理程序包)
failovermethod={roundrobin|priority}(轮询|优先级)
默认为:roundrobin,意为随机挑选
cost=1000
默认为1000
Linux教程:rpm包管理器,yum工具,编译安装从入门(3)
内容版权声明:除非注明,否则皆为本站原创文章。