今天打算更新一下centos的repo源,把原先国外的repo地址换成国内的,速度快一些。主要替换的文件是/etc/yum.repos.d/Centos-Base.repo 。替换的时候,不知道大家有没有去注意里边的内容,还是简简单单换一下baseurl,可能是我比较闲,然后就研究了一下里边的几个变量分别是啥意思。先看一下替换前的文件长什么样。上图:

在这里出现了几个奇怪的变量,那么是什么意思,值是什么呢?上网查了一下,翻看了多个网页,开动了小脑筋,然后总结一下,过程比较艰辛和漫长,不在此细说,哥是个很低调的人哈哈哈哈哈。

公布结果:

  /etc/yum.repos.d/CentOS-Base.repo文件中的$releasever 值是先参考/etc/yum.conf中的distroverpkg的值,大家可以去看看,如果有这个值的话,那么就会用到这个值,比如我电脑上这个值是centos-release,这个值怎么用呢?其实是将$releasever的值设置为当前系统中已经安装的centos-release包的版本号。具体怎么看这个已安装的包的版本号呢?很简单,

          rpm -q centos-release   #查看系统已安装的包的名字

这个命令查看的是包的名字,在我的系统上是

centos-release-6-4.el6.centos.10.i686

那么版本号是多少呢?

centos-release-6-4.el6.centos.10.i686

答案是6,就是这么6,所以折腾了半天,$releasever 的值等于  6 !!!!

为啥要费这么大劲呢????!!!

为了升级 redhat-release 包之后可以自动升级整个系统上的软件。

这么看,似乎还是有那么一点点道理的,但是是不是搞得太复杂了呢,大家自行保留意见。

接着看baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/

可以看到还有$basearch的值不是很明确,那么这个值从哪里来呢?

i686 and i586 machines both have a base architecture of i386, and AMD64 and Intel64 machines have a base architecture of x86_64.

也就是说,32位系统是i386,64位系统是x86_64

那么上面的baseurl就可以拼凑完成了,我们访问一下看看,

http://mirror.centos.org/centos/6/os/x86_64/

事实证明了,可以访问。

刚才说到,如果/etc/yum.conf中如果有distroverpkg的值的话,是这样的一个流程,那么如果没有这个值的话,怎么办呢?

答案是参考/etc/redhat-release中的值,我的电脑是CentOS release 6.4 (Final)
所以应该是会抽取出来其中的6,然后作为$releasever的值。

yum.repos.d中的变量($releasever与$basearch)的更多相关文章

  1. yum-config-manager YUM安装遭遇: [Errno 256] No more mirrors to try CentOS yum之$releasever和$basearch

    YUM安装遭遇: [Errno 256] No more mirrors to try createrepo 有问题. CentOS yum之$releasever和$basearch分类: 操作系统 ...

  2. 互联网同步yum服务器,中科大 rsync createrepo

    参考文章 https://blog.csdn.net/chenjia6605/article/details/82734945 1.本机安装所需工具: yum -y install rsync cre ...

  3. 关闭安装包更新使用YUM在Linux中(RHEL / CentOS / Fedora)

    YUM (Yellowdog Updater Modified)  是一个开源的命令行工具,以及基于图形的软件包管理工具, 用于基于 RPM (RedHat Package Manager) 的 Li ...

  4. yum配置文件下使用自定义变量

    yum的配置文件中,可以使用的变量,简称为yum变量: 默认的yum变量有: $releasever(Release Version),发行版的版本 $arch,CPU体系结构,通过 Python 的 ...

  5. CentOS下Yum的$releasever和$basearch的取值

    CentOS下Yum源配置文件中如CentOS-Base.repo的$releasever和$basearch的取值 $releasever的值,这个表示当前系统的发行版本,可以通过如下命令查看: r ...

  6. yum使用过程中的常见错误

    (1) 使用yum安装相关软件包时一直提示以下错误:repodata/repomd.xml: [Errno 4] IOError: <urlopen error (113>, Error: ...

  7. Create a /etc/yum.repos.d/mongodb-org-4.0.repo

    Install MongoDB Community Edition on Red Hat Enterprise or CentOS Linux — MongoDB Manual https://doc ...

  8. centos7不小心删除了/etc/yum.repos.d/CentOS-Base.repo文件..........

    一步小心使用rm -rf /etc/yum.repos.d/CentOS-Base.repo 删除了base.repo文件,导致使用yum安装时报错. 解决如下,使用阿里云的镜像: wget -O / ...

  9. shell脚本介绍、shell脚本结构和执行、date命令用法、shell脚本中的变量

    7月11日任务 20.1 shell脚本介绍20.2 shell脚本结构和执行20.3 date命令用法20.4 shell脚本中的变量 20.1 shell脚本介绍 1.shell脚本语言是linu ...

随机推荐

  1. LeetCode344 反转字符串

    编写一个函数,其作用是将输入的字符串反转过来. 示例 1: 输入: "hello" 输出: "olleh" 示例 2: 输入: "A man, a p ...

  2. 利用css和jquery制成弹幕

    1.首先上图看下效果 2.废话不多说,直接上代码 1>html代码 <div class="barrage"> <div class="scree ...

  3. c++ 参数传递与返回值详解(reference)

    pass by value or pass by reference? 我们知道,当函数在传递值的时候,会新建一个变量(没有名字)储存这个值 然后传递.降低程序运行的效率. 如果使用引用(refere ...

  4. Hbase 手动执行MajorCompation

    说明: Major Compaction 的作用: 1.将一个Region下的所有StoreFile合并成一个StoreFile文件 2.对于删除.过期.多余版本的数据进行清除 由于MajorComp ...

  5. MySQL select if 查询最后一个主键 id

    查询最后一个主键id SELECT IF(MAX(id) IS NULL, 0, MAX(id)) AS maxid FROM users; 查询最小的主键id SELECT IF(MIN(id) I ...

  6. mysql—group_concat函数

    MySQL中的group_concat函数的使用方法,比如select group_concat(name) . 完整的语法如下: group_concat([DISTINCT] 要连接的字段 [Or ...

  7. java 利用异或^进行加密

    package com.zcj.eg001; import java.nio.charset.Charset; import org.junit.Test; public class Encrypti ...

  8. Eureka详解系列(一)--先谈谈负载均衡器

    这个系列开始研究 Eureka,在此之前,先来谈谈负载均衡器. 本质上,Eureka 就是一个负载均衡器,可能有的人会说,它是一个服务注册中心,用来注册服务的,这种说法不能说错,只是有点片面. 在这篇 ...

  9. 自翻------Office 2013 RT 使用说明

    Office Home and Student 2013 RT Preview的更新 介绍 Microsoft已发布Microsoft Office Home and Student 2013 RT ...

  10. JavaScript中创建对象的三种方式!

    JavaScript中创建对象的三种方式! 第一种 利用对象字面量! // 创建对象的三种方式! // 1 对象字面量. var obj = { // 对象的属性和方法! name: 'lvhang' ...