yum

yum运行的原理:

  我们知道yum源至少会有两个目录,一个是Packages目录,一个是repodata目录,packages目录存放着真正的rpm包,而repodata是干嘛的呢?

  

我们姑且把他这个目录下的文件叫做元数据文件,这些元数据文件记录了本仓库中所有的rpm包以及其依赖关系
当我们用yum命令安装程序的时候,yum命令会首先去下载这些元数据文件,下载到这些元数据文件以后,然后根据这些元数据文件,比对本地系统,看看哪些程序装了哪些没装,最终决定去yum源下载哪些文件,比如,我想安装程序A,然后yum先下载了这些元数据文件,查看到,程序A依赖程序B,C,D,而程序D又依赖程序F,而程序B,C已经安装过了,于是yum就会只去yum源中下载程序A和程序D还有程序F。如果我们每次在安装新程序之前都去下载这些文件的话,势必造成带宽的浪费,因为很多时候yum源并没有更新,于是就有了这样一种机制,yum源除了有这些源数据文件以外,还会根据这些源数据文件生成一个特征码,如果yum源有更新,比如增加了一些软件或者更新了一些软件导致软件的依赖关系改变了,那么这些源数据文件肯定也会跟着改变,那么他的特征码也随之改变,于是,下次再运行yum命令的时候就先不去下载这些源数据文件了,而是去直接下载校验码,然后比对之前下载的源数据文件的校验码,如果两者一致,证明yum源没有更新,那么这些源数据文件依然可以被用于分析使用,如果不一致了,那么再重新去下载这些元数据文件

原文地址:https://www.cnblogs.com/saolv/p/9672388.html