Ceph 客户端的 RPM 包升级问题
问题
最近想把一个现有的 Ceph 客户端升级为最新的 M 版:
[root@overcloud-ovscompute-0 ~]# rpm -qa | grep ceph
puppet-ceph-2.4.1-2.el7ost.noarch
libcephfs1-10.2.10-17.el7cp.x86_64
ceph-base-10.2.10-17.el7cp.x86_64
ceph-osd-10.2.10-17.el7cp.x86_64
python-cephfs-10.2.10-17.el7cp.x86_64
ceph-selinux-10.2.10-17.el7cp.x86_64
ceph-mon-10.2.10-17.el7cp.x86_64
ceph-common-10.2.10-17.el7cp.x86_64
ceph-radosgw-10.2.10-17.el7cp.x86_64
在更新了 Ceph YUM 源并执行 Upgrade 时,出现错误:
--> Finished Dependency Resolution
Error: Package: 2:ceph-selinux-13.2.5-0.el7.x86_64 (Ceph)
Requires: selinux-policy-base >= 3.13.1-229.el7_6.9
Installed: selinux-policy-targeted-3.13.1-229.el7_6.6.noarch (installed)
selinux-policy-base = 3.13.1-229.el7_6.6
Error: Package: 2:ceph-base-13.2.5-0.el7.x86_64 (Ceph)
Requires: gperftools-libs >= 2.6.1
Installed: gperftools-libs-2.4-8.el7.x86_64 (@rhos-10.0-ceph-2.0-mon-signed)
gperftools-libs = 2.4-8.el7
You could try using --skip-broken to work around the problem
显然是 selinux-policy-base 和 gperftools-libs 的版本依赖不足,解决这个问题的办法有两个:
- 升级操作系统 YUM 源
- 升级这两个 rpm 包
这列我们主要使用第 2 个办法。
升级 RPM 包
Step 1. 下载依赖版本的 RPM 包
[root@overcloud-ovscompute-0 fanguiju]# ll
-rw-r--r--. 1 root root 495060 Feb 2 00:26 selinux-policy-3.13.1-229.el7_6.9.noarch.rpm
-rw-r--r--. 1 root root 7246376 Apr 30 18:46 selinux-policy-targeted-3.13.1-229.el7_6.9.noarch.rpm
Step 2. 执行升级
[root@overcloud-ovscompute-0 fanguiju]# rpm -U selinux-policy-targeted-3.13.1-229.el7_6.9.noarch.rpm
warning: selinux-policy-targeted-3.13.1-229.el7_6.9.noarch.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY
error: Failed dependencies:
selinux-policy = 3.13.1-229.el7_6.9 is needed by selinux-policy-targeted-3.13.1-229.el7_6.9.noarch
[root@overcloud-ovscompute-0 fanguiju]# rpm -U selinux-policy-3.13.1-229.el7_6.9.noarch.rpm
warning: selinux-policy-3.13.1-229.el7_6.9.noarch.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY
error: Failed dependencies:
selinux-policy = 3.13.1-229.el7_6.6 is needed by (installed) selinux-policy-targeted-3.13.1-229.el7_6.6.noarch
麻烦在于升级 selinux-policy-targeted 首先要升级 selinux-policy,但升级 selinux-policy 又会被低版本的 selinux-policy-targeted 依赖。所以只能先卸载低版本的 selinux-policy-targeted:
yum remove selinux-policy-targeted
然后升级 selinux-policy:
rpm -Uvh selinux-policy-3.13.1-229.el7_6.9.noarch.rpm
最后再安装新版版的 selinux-policy-targeted:
rpm -ivh selinux-policy-targeted-3.13.1-229.el7_6.9.noarch.rpm
Step 3. 查看升级结果:
[root@overcloud-ovscompute-0 fanguiju]# rpm -qa | grep selinux-policy
selinux-policy-3.13.1-229.el7_6.9.noarch
selinux-policy-targeted-3.13.1-229.el7_6.9.noarch
同理在把 gperftools-libs 升级。
- 更新前
[root@overcloud-ovscompute-0 fanguiju]# rpm -qa | grep gperftools-libs
gperftools-libs-2.4-8.el7.x86_64
- 更新后
[root@overcloud-ovscompute-0 fanguiju]# rpm -qa | grep gperftools-libs
gperftools-libs-2.6.1-1.el7.x86_64
再次升级 Ceph。
- 更新的软件清单
================================================================================================================================================================================================================================================================================
Package Arch Version Repository Size
================================================================================================================================================================================================================================================================================
Installing:
libcephfs2 x86_64 2:13.2.5-0.el7 Ceph 434 k
replacing libcephfs1.x86_64 2:10.2.10-17.el7cp
Updating:
ceph-base x86_64 2:13.2.5-0.el7 Ceph 4.9 M
ceph-common x86_64 2:13.2.5-0.el7 Ceph 14 M
ceph-mon x86_64 2:13.2.5-0.el7 Ceph 3.9 M
ceph-osd x86_64 2:13.2.5-0.el7 Ceph 13 M
ceph-radosgw x86_64 2:13.2.5-0.el7 Ceph 4.5 M
ceph-selinux x86_64 2:13.2.5-0.el7 Ceph 21 k
python-cephfs x86_64 2:13.2.5-0.el7 Ceph 86 k
Installing for dependencies:
liboath x86_64 2.4.1-9.el7 epel 35 k
libradosstriper1 x86_64 2:13.2.5-0.el7 Ceph 329 k
python-rgw x86_64 2:13.2.5-0.el7 Ceph 75 k
Updating for dependencies:
librados2 x86_64 2:13.2.5-0.el7 Ceph 2.9 M
librbd1 x86_64 2:13.2.5-0.el7 Ceph 1.2 M
librgw2 x86_64 2:13.2.5-0.el7 Ceph 2.0 M
python-rados x86_64 2:13.2.5-0.el7 Ceph 189 k
python-rbd x86_64 2:13.2.5-0.el7 Ceph 132 k
- 更新后:
[root@overcloud-ovscompute-0 ~]# ceph --version
ceph version 13.2.5 (cbff874f9007f1869bfd3821b7e33b2a6ffd4988) mimic (stable)
[root@overcloud-ovscompute-0 ~]# rpm -qa | grep ceph
ceph-selinux-13.2.5-0.el7.x86_64
puppet-ceph-2.4.1-2.el7ost.noarch
ceph-osd-13.2.5-0.el7.x86_64
python-cephfs-13.2.5-0.el7.x86_64
ceph-common-13.2.5-0.el7.x86_64
ceph-mon-13.2.5-0.el7.x86_64
libcephfs2-13.2.5-0.el7.x86_64
ceph-radosgw-13.2.5-0.el7.x86_64
ceph-base-13.2.5-0.el7.x86_64
Ceph 客户端的 RPM 包升级问题的更多相关文章
- 编译制作Linux 3.18内核rpm包(升级centos6.x虚拟机内核)
介绍 openstack平台需要使用各种Linux发行版模板镜像,其制作方法主要有两种,要么是基于各大Linux发行版ISO光盘手动制作,要么是使用官方提供的模板镜像再做修改 之前制作的opensta ...
- fpm打包神奇rpm包升级python2.7.16
fpm打包神器参考文档:https://www.cnblogs.com/flintlovesam/p/6594635.html FPM的安装:安装ruby环境和gem命令: yum -y instal ...
- rpm 包的安装、卸载、升级、查询、验证
关键字: rpm 强制卸载jdk rpm -e j2sdk1.4.2_04 强制覆盖安装jdk rpm -Uvh j2sdk-1_4_1_02-fcs-linux-i586.rpm --force - ...
- [Linux] 021 RPM 包的安装、升级与卸载
1. 包全名与包名包全名 包全名:操作的包是没有安装的软件包 使用包全名.而且要注意路径包名 包名:操作已经安装的软件包时,使用 是搜索 /var/lib/rpm/ 中的数 2. 安装 $ rpm - ...
- 【CentOS】安装RPM包或者源码包
一.rpm (是Redheat Package Manager的简称) 如果光驱中还有系统安装盘的话, 1.先挂载光驱, mount /dev/cdrom /mnt/ 2.cd /mnt/ 3.cd ...
- Linux下RPM包的安装
Linux下RPM包安装 二进制包(RPM包.系统默认包) RPM安装 rpm -ivh 包全名(查询依赖网址:http://www.rpmfind.net) -i(install):安装 -v(ve ...
- RPM包安装——手动安装
RPM包安装 手动安装 挂载光盘 首先查看光盘是否挂载(使用mount命令) RPM包存放位置 在你光盘挂载点的Packages目录下 使用 ll | grep 关键字 可以快速找到你想要的RPM包 ...
- (转) centos7 RPM包之rpm命令
原文:https://blog.csdn.net/capecape/article/details/78529159 RPM包与源码包的区别1.软件包分类 源码包:C源代码包 rpm包:编译之后的二进 ...
- 安装RPM包或者源码包
RPM工具 RPM他是以一种数据库记录的方式将我们所需要的套件安装到linux主机的一套管理程序关于RPM各个选项的含义如下-i:表示安装-v:表示可视化-h:表示安装进度在安装RPM包时,常用的附带 ...
随机推荐
- 论文笔记:Integrated Object Detection and Tracking with Tracklet-Conditioned Detection
概要 JiFeng老师CVPR2019的另一篇大作,真正地把检测和跟踪做到了一起,之前的一篇大作FGFA首次构建了一个非常干净的视频目标检测框架,但是没有实现帧间box的关联,也就是说没有实现跟踪.而 ...
- nagios-调用脚本
在自已编写监控插件之前我们首先需要对nagios监控原理有一定的了解 Nagios的功能是监控服务和主机,但是他自身并不包括这部分功能,所有的监控.检测功能都是通过各种插件来完成的. 启动Nagios ...
- 从二叉查找树到平衡树:avl, 2-3树,左倾红黑树(含实现代码),传统红黑树
参考:自平衡二叉查找树 ,红黑树, 算法:理解红黑树 (英文pdf:红黑树) 目录 自平衡二叉树介绍 avl树 2-3树 LLRBT(Left-leaning red-black tree左倾红黑树 ...
- BZOJ1030 [JSOI2007]文本生成器[DP+AC自动机]
我学到现在才是初三学弟的水平..哭 这里相当于求长度为$m$的,字符集$\{A...Z\}$的且不包含任一模式串的文本串个数.这是一个典型的AC自动机匹配计数问题. 设$f_{i,j}$表示在AC自动 ...
- HDFS知识点
1.通过代码验证集群的配置文件的优先级 HDFS文件上传 1.编写源代码 @Test public void testCopyFromLocalFile() throws IOException, I ...
- hive传递参数与调用
在运行hive命令时传入参数,使用-hivevar 和 -hiveconf 两种参数选项,来给此次的执行脚本传入参数 -hivevar : 传参数 ,专门提供给用户自定义变量. -hiveconf : ...
- PHP类知识----面向对象在内存空间的分布情况
- Redis介绍、安装、配置
NoSQL介绍 NoSQL(NoSQL=Not Only SQL),意为反SQL运动,是一项全新的数据库革命性运动.指的是非关系型数据库,解决了传统的关系型数据库,难以解决的超大规模和高并发的的问题 ...
- 使用choices参数的实际项目表设计
# 实际项目表设计 from django.db import models # Create your models here. # rbac权限相关表格 class User(models.Mod ...
- spring + junit 测试
spring + junit 测试 需要一个工具类 package com.meizu.fastdfsweb; import org.junit.runner.RunWith; import org. ...