zoukankan      html  css  js  c++  java
  • yum相关变量浅析

    问题背景

    同事发现一台centos7机器的yum repo不能使用,现象为相关的repo的meta文件下载失败,提示相关meta文件的下载路径有问题。

    问题分析

    通过终端输出的报错,发现是/etc/yum.repos.d/*.repo配置文件中$releasever变量没有加载到正确的值。我们下面先看看yum几个主要变量的作用和设置方法。

    yum相关变量

    $arch

    作用:标识cpu的架构,如i386,i486,i586等
    默认取值:默认根据cpu架构自动取值
    设置方法:
    在/etc/yum/vars/arch文件写入一个值,这个值就是这个变量的值(优先级高)

    $basearch

    作用:标识cpu的基本架构。例如i486和i586等使用一个基本架构i386,AMD64和Intel64有一个基本的架构x86_64。
    默认取值:默认根据cpu架构自动取值
    设置方法:在/etc/yum/vars/basearch文件写入一个值,这个值就是这个变量的值(优先级高)

    $releasever

    作用:标识操作系统的版本号。
    默认取值:先查找/etc/yum.conf配置文件中distroverpkg配置的value,然后取得value对应的rpm包名,最后获取到这个rpm包的release版本号就是这个变量的值(如果是centos系统,默认情况下distroverpkg的value为centos-release,再取centos-release这个包的release号)
    设置方法:在/etc/yum/vars/releasever文件写入一个值,这个值就是这个变量的值(优先级高)

    问题解决

    通过python获取yum相关变量的值:

    # python -c 'import yum, pprint; yb = yum.YumBase(); pprint.pprint(yb.conf.yumvar, width=1)'

    最终发现是centos-release这个rpm包被删掉了,把这个包重装了一下,$releaserver变量取值就正常了,到此问题解决。在centos6/7系统上,如上yum相关变量的设置方法相同。

  • 相关阅读:
    HDOJ 2076 夹角有多大(题目已修改,注意读题)
    HDOJ 2058 The sum problem
    HDOJ 2099 整除的尾数
    HDOJ 2075 A|B?
    HDOJ 2071 Max Num
    HDOJ 2056 Rectangles
    HDOJ 2055 An easy problem
    HDOJ 2053 Switch Game
    HDOJ 2052 Picture
    P4139 上帝与集合的正确用法
  • 原文地址:https://www.cnblogs.com/reachos/p/11089013.html
Copyright © 2011-2022 走看看