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
原文地址:https://www.cnblogs.com/zphj1987/p/13575387.html