rpm包跟包之间可能存在依赖关系,如果手动解决通过--Nodigest命令的话,可能在安装的时候没问题,但是在使用的时候容易出现问题,为了解决这种通过手动的方式来解决依赖关系,我们可以使用rpm的前端管理工具yum和dnf。

    yum 是rpm包的前端管理工具,能更方便的添加,删除,更新rpm包,yum很好的解决了Linux下面安装软件包的依赖性关系。它能便于管理大量系统的的更新问题,能同时设置多个资源库,使用十分方便。

yum是怎样下载和安装rpm包的

    yum是通过配置文件来指明要访问是哪台服务器并且指明资源在服务器的具体位置。找到具体位置后,yum会请求服务器下载服务器镜像仓库里面的元数据文件(这个元数据文件记录了服务器镜像仓库中所有rpm包德详细信息,以及包之间的依赖关系)到客户端主机的缓冲区,分析这个元数据文件有没有想要下载的rpm包,(同时会分析包之间的依赖关系),如果有这个包,且元数据文件记录这个包有许多的依赖包,则客户端主机会查询本地所有安装的包,查看所依赖的包哪些已经安装,哪些没有安装,然后下载想要安装的这个包和本地没有安装的这个包的依赖包,然后进行安装。安装完成后,会自动地删除缓冲区的程序包,但是不会删除元文件,因为下次再下载rpm包时还会用到这个预案数据文件,这样节省带宽还节约时间。

    那么不删除元数据文件以备下次再次使用会不会这个文件不是最新鲜的?(即本地的这个文件跟服务器镜像仓库的元数据文件内容不一样)


yum的缺点

    如果某次安装的过程中出现意外中止的话,下次重启将无法解决再解决包的依赖关系,因为无法分析上次安装成功与否。然而dnf可以解决这个问题,dnf与yum的用法相同。