0
点赞
收藏
分享

微信扫一扫

yum 变量追加的方法

老榆 2023-05-06 阅读 114


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

5和6多少有点区别。

首先,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下载SRPM的Yum 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 条评论