yum.repos.d中的变量($releasever与$basearch)
今天打算更新一下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)的更多相关文章
- 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分类: 操作系统 ...
- 互联网同步yum服务器,中科大 rsync createrepo
参考文章 https://blog.csdn.net/chenjia6605/article/details/82734945 1.本机安装所需工具: yum -y install rsync cre ...
- 关闭安装包更新使用YUM在Linux中(RHEL / CentOS / Fedora)
YUM (Yellowdog Updater Modified) 是一个开源的命令行工具,以及基于图形的软件包管理工具, 用于基于 RPM (RedHat Package Manager) 的 Li ...
- yum配置文件下使用自定义变量
yum的配置文件中,可以使用的变量,简称为yum变量: 默认的yum变量有: $releasever(Release Version),发行版的版本 $arch,CPU体系结构,通过 Python 的 ...
- CentOS下Yum的$releasever和$basearch的取值
CentOS下Yum源配置文件中如CentOS-Base.repo的$releasever和$basearch的取值 $releasever的值,这个表示当前系统的发行版本,可以通过如下命令查看: r ...
- yum使用过程中的常见错误
(1) 使用yum安装相关软件包时一直提示以下错误:repodata/repomd.xml: [Errno 4] IOError: <urlopen error (113>, Error: ...
- 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 ...
- centos7不小心删除了/etc/yum.repos.d/CentOS-Base.repo文件..........
一步小心使用rm -rf /etc/yum.repos.d/CentOS-Base.repo 删除了base.repo文件,导致使用yum安装时报错. 解决如下,使用阿里云的镜像: wget -O / ...
- shell脚本介绍、shell脚本结构和执行、date命令用法、shell脚本中的变量
7月11日任务 20.1 shell脚本介绍20.2 shell脚本结构和执行20.3 date命令用法20.4 shell脚本中的变量 20.1 shell脚本介绍 1.shell脚本语言是linu ...
随机推荐
- 软件“美不美”,UI测试一下就知道
摘要:软件测试的最高层次需求是:UI测试,也就是这个软件"长得好不好看". 为了让读者更好地理解测试,我们从最基础的概念开始介绍.以一个软件的"轮回"为例,下图 ...
- Golang字符串是否存在于切片或数组中的小工具(基本等同于python in语法)
// golang中是没有判断字符串是否存在数组或切片里的内置方法, 所以我们可以自己搞一个快速小组件 func Find(slice []string, val string) (int, bool ...
- MySql创建存储过程,并使用事件定时调用
一.使用命令行创建存储过程的步骤 :参数详情参考 https://www.mysqlzh.com/ 1.模板 delimiter $$ # 设置分隔符为 '$$' ,mysql默认的语句分隔符为 ' ...
- Java 中的 equals() 和 hashCode()
equals() 和 hashCode() 在 Object 类中以本地方法的形式存在,Java 中所有的类都继承了 Object 类,因此所有的类中都包含了这两个方法.这两个方法在 Java 开发中 ...
- SpringCloud系列之SpringCloud Stream
SpringCloud Stream SpringCloud Config SpringCloud Gatewa SpringCloud Hystrix SpringCloud 第一部分 文章目录 S ...
- Azure Table Storage(一) : 简单介绍
Azure Table Storage是什么: Azure Table Storage是隶属于微软Azure Storage这个大服务下的一个子服务, 这个服务在Azure上算是老字号了, 个人大概在 ...
- ctfhub技能树—web前置技能—http协议—基础认证
打开靶机环境 下载附件后发现是常用密码字典,于是考虑本题可能是考察密码爆破 打开环境 发现需要认证,于是考虑使用暴力破解 使用burpsuite抓包,查看 发现最下面一行有加密后的密文 使用base6 ...
- Ice系列--傻瓜式服务开发IceBox
前言 相信大家在没有接触过框架之前,都自己或多或少的开发过一些应用服务.每个应用服务除了业务配置还有很多环境配置,资源配置等,这些跟部署相关的配置.服务跟配置文件是一种静态绑定的方式,更新配置还需要重 ...
- 前端知识(一)02 初识 Node.js-谷粒学院
目录 初识Node.js 一.Node.js的概念 1.JavaScript引擎 2.什么是Node.js 3.Node.js有什么用 二.BFF 1.BFF 解决什么问题 2.BFF是什么 三.安装 ...
- mysql+MHA高可用
MHA(Master High Availability)目前在MySQL高可用方面是一个相对成熟的解决方案,它由日本DeNA公司youshimaton(现就职于Facebook公司)开发,是一套优秀 ...