yum 变量追加的方法

来源:互联网 发布:mac找不到安装器光盘 编辑:程序博客网 时间:2024/05/21 09:17

本文译至:https://www.sssg.org/blogs/naoya/archives/2386

CentOS5/6/etc/yum.repos.d/ yum repo 的设定可以使用$releasever$basearch变量。但是,CentOS 6.3$releasever只有 6,所以还是不太方便。在毎次版本升级之后 /etc/yum.repos.d/的设定重新改成固定值的话当然也OK,但是还是有点麻烦,所以这里调查一下Yum变量的设定方法。

首先,检查已定义的 Yum变量可以通过下面的一行来确认。

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

for CentOS5.8
{'arch':'ia32e',
'basearch':'x86_64',
'releasever':'5'}

for CentOS6.3
{'arch':'ia32e',

'basearch':'x86_64',
'releasever':'6',
'uuid':'xxx'}

56多少有点区别。

首先,6的话可以在/etc/yum/vars 目录下,仅仅通过追加文件就可以增加Yum 的变量。

$ sudo vi/etc/yum/vars/full_releasever

6.3
$ sudopython -c 'import yum, pprint; yb = yum.YumBase();pprint.pprint(yb.conf.yumvar, width=1)'
Loadedplugins: fastestmirror, presto
{'arch':'ia32e',
'basearch':'x86_64',
'full_releasever':'6.3',
'releasever':'6',
'uuid':'xxx'}

这样就可以简单地添加 Yum变量。文件名就是变量名,文件里写的值就是变量值。
CentOS 的话,仅仅想获取X.Y用下面的命令就可以了。

$ rpm -q --queryformat '%{VERSION}.%{RELEASE}' centos-release | cut -c 1-3

其他的方法的话,也可以参照/etc/redhat-release,不过该文件可能被覆盖掉,上面的命令更好点。但是请注意,上面的命令只能使用 X.Y的模式。

CentOS 5 的话,很遗憾不能用和6相同的方法。虽然可以通过定义$YUM[0-9]环境变量,但是不能添加任意名字的变量。

$ export YUM0=hoge

这样还是有点不方便。

CentOS 6下载SRPMYum repo的设定如下所示。

$ sudo vi/etc/yum.repos.d/sources.repo
[base-source]

name=CentOS-$full_releasever- Base source
baseurl=http://vault.centos.org/$full_releasever/os/Source/
gpgcheck=1
gpgkey=http://vault.centos.org//RPM-GPG-KEY-CentOS-6
priority=1
enabled=1

[updates-source]
name=CentOS-$full_releasever- Updates Source

baseurl=http://vault.centos.org/$full_releasever/updates/Source/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6
priority=1
enabled=1

这样就很方便了!

这样设置之后,例如,下载kernel SPRM,只要安装yum-utils包,然后执行下面的命令就可以了

$ sudo yumdownloader --source kernel-`uname -r`

 

0 0
原创粉丝点击