YUM只是为了解决RPM包依赖关系问题的一种软件安装方式,它不完全是一种像rpm一样的包管理工具。
每个RPM包都会记录该软件的依赖关系,既该软件安装之前要额外安装哪些基础软件,yum服务器先用分析工具将所有RPM文件进行分析,然后将分析记录保存下来,只要在进行安装或升级时先查询这些记录,就可以知道所有相关联的软件。这样yum服务器就保存了RPM包和包依赖关系记录。当yum客户端要安装某个软件时,通过查询yum服务器上的依赖关系文件,确定需要哪些软件包,再通过http、ftp等方式下载相关软件并进行安装。
用户下载RPM包时并不知道这个RMP包是否被人恶意修改过,为保证rpm包的完整、安全。软件发行者用自己的私钥对软件包进行数字签名,用户使用时用指定的公钥文件进行验证,这样通过验证的RPM包才是安全的。yum服务器会指定发行版数字签名公钥文件,既配置文件里的gpgcheck参数,yum客户端须导入数字签名公钥文件后才能从yum服务器下载安装。