yum安装Ceph指定Jewel版本



前言

通过yum安装指定的rpm包,这个一般是 yum --showduplicates list ceph | expand,然后去通过yum安装指定的版本即可,这个在hammer下是没有问题的,但是在Jewel下进行安装的时候却出现了问题,我们来看下怎么解决这个问题的

实践过程

我们需要安装 ceph-10.2.0-0.el7 这个版本的,根据之前的方法

[root@lab8106 ~]# yum install  ceph-10.2.0-0.el7
Loaded plugins: fastestmirror, langpacks, priorities
base | 3.6 kB 00:00:00
ceph | 2.9 kB 00:00:00
ceph-noarch | 2.9 kB 00:00:00
epel | 4.3 kB 00:00:00
···
Error: Package: 1:ceph-base-10.2.0-0.el7.x86_64 (ceph)
Requires: librados2 = 1:10.2.0-0.el7
Removing: 1:librados2-0.94.6-0.el7.x86_64 (@ceph)
librados2 = 1:0.94.6-0.el7
Updated By: 1:librados2-10.2.3-0.el7.x86_64 (ceph)
librados2 = 1:10.2.3-0.el7
Available: 1:librados2-0.80.7-0.8.el7.x86_64 (epel)
librados2 = 1:0.80.7-0.8.el7
Available: 1:librados2-0.80.7-3.el7.x86_64 (base)
librados2 = 1:0.80.7-3.el7
Available: 1:librados2-10.1.0-0.el7.x86_64 (ceph)

可以看到我们指定了ceph-10.2.0,但是这个rpm包的依赖却自动的去升级到了librados2-10.2.3,然后这个10.2.3又会跟准备安装的ceph-10.2.0冲突了,然后就会提示无法安装了

问题已经找到了,我们如何解决这个问题,第一想法就是应该把版本限制住,在参阅了一些资料以后,发现yum确实可以支持这个需求的,我们来限制下版本

限制yum版本

vim /etc/yum.conf
在[main]当中,添加下面的内容

exclude=*10.2.3* *10.2.2* *10.2.1*

为什么写了三个,因为在10.2.0之上有三个版本的,这个地方进行全匹配的方式进行限制

安装ceph-10.2.0

[root@lab8106 ~]# yum install  ceph-10.2.0-0.el7
Dependencies Resolved

==================================================================================================================================================================================================================
Package Arch Version Repository Size
==================================================================================================================================================================================================================
Updating:
ceph x86_64 1:10.2.0-0.el7 ceph 3.1 k
Installing for dependencies:
ceph-base x86_64 1:10.2.0-0.el7 ceph 4.2 M
ceph-mds x86_64 1:10.2.0-0.el7 ceph 2.8 M
ceph-mon x86_64 1:10.2.0-0.el7 ceph 2.8 M
ceph-osd x86_64 1:10.2.0-0.el7 ceph 9.0 M
ceph-selinux x86_64 1:10.2.0-0.el7 ceph 20 k
libradosstriper1 x86_64 1:10.2.0-0.el7 ceph 1.8 M
librgw2 x86_64 1:10.2.0-0.el7 ceph 2.8 M
Updating for dependencies:
ceph-common x86_64 1:10.2.0-0.el7 ceph 15 M
libcephfs1 x86_64 1:10.2.0-0.el7 ceph 1.8 M
librados2 x86_64 1:10.2.0-0.el7 ceph 1.9 M
librbd1 x86_64 1:10.2.0-0.el7 ceph 2.4 M
python-cephfs x86_64 1:10.2.0-0.el7 ceph 67 k
python-rados x86_64 1:10.2.0-0.el7 ceph 146 k
python-rbd x86_64 1:10.2.0-0.el7 ceph 62 k

Transaction Summary
==================================================================================================================================================================================================================
Install ( 7 Dependent packages)
Upgrade 1 Package (+7 Dependent packages)

可以正确的安装了

总结

通过yum去指定版本,然后去过滤高的版本的方式,来安装了指定的版本的ceph

变更记录

Why Who When
创建 武汉-运维-磨渣 2016-11-14