yum版本依赖问题

一:镜像包

          直接解压系统镜像包(centos7.5,DVD版本镜像)如下,krb5相关软件版本为1.15.1-18。
yum版本依赖问题_第1张图片

二:安装相关依赖

          如mini安装系统,系统会将krb5-libs软件进行安装,版本是1.15.1-18[1.与2.的实际条件]

  1. 挂载系统镜像到yum源
              如安装krb5-devel,krb5所有相关软件版本都是1.15.1-18,而且krb5-libs是已经安装完毕的,所以krb5-devel可以顺利安装,安装后版本即为1.15.1-18。
    yum版本依赖问题_第2张图片
  2. 挂载网络镜像到yum源
              如安装krb5-devel,可以看网络yum源的updates部分已经更新到了版本1.15.1-37,所以安装krb5-devel时候会先更新krb5-libs到1.15.1-37版本之后安装krb5-devel到1.15.1-37版本。
    yum版本依赖问题_第3张图片
  3. 特殊情况
              系统已经安装了krb5-libs的1.15.1-34版本,挂载系统镜像后安装krb5-devel,安装是失败的。
    yum版本依赖问题_第4张图片
    yum版本依赖问题_第5张图片

三:问题

          从二可以看出,如krb5等软件,在其libs(库文件)已经存在,需要安装devel(开发功能文件)的时候(在yum源存在无论本地或网络),会安装和libs文件一致的版本或者都安装升级到yum的最新版本。
          一般情况下,系统安装完毕的libs的版本和devel版本是一致的,不存在版本差异,原因就是这些rpm依赖包是来自与同一个iso文件,所以添加本地镜像源或网络源都可以使用,即二中1.与2.;二中3的情况在于,软件的libs库文件的版本要高于镜像本身,所以在使用自身镜像做yum源就会导致相关的安装失败,这种情况一般出现在云环境下(如私有云环境,这种环境会对安装的镜像进行修改,所以直接使用相同版本iso做yum源就会导致问题的发生[当然可能第一次同步网络进行使用,之后去除网络源,又挂载了iso进行使用,导致出现版本过低问题]),所以就要连接网络源或者将网络最新源同步到本地做源使用。


你可能感兴趣的:(蓝鲸,自动运维)