您的位置:首页 > 产品设计 > 产品经理

rpm包的依赖关系如何通过yum解决

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

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

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


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


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

为了解决这个问题,服务器镜像仓库通常还有个特殊的文件记录了每个元数据文件的校验码,所以每次客户端向服务器请求元数据文件的时候会先请求校验码文件,查看跟本地的校验码是否一样,一样的话则客户端不用更换元数据文件,不一样要重新下载元数据文件。

yum的缺点

如果某次安装的过程中出现意外中止的话,下次重启将无法解决再解决包的依赖关系,因为无法分析上次安装成功与否。然而dnf可以解决这个问题,dnf与yum的用法相同。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: