(转)openstack制作qemu-kvm-rhev rpm包
2018-08-20 本文已影响157人
橡皮24
声明:
本文转载自
作者:小手冰冰凉啊
链接:https://www.jianshu.com/p/c81a4af69554
來源:简书
本人在搭建openstack的过程中,在计算节点安装openstack-nova-compute时,遇到报错,信息如下
错误:软件包:1:openstack-nova-compute-17.0.5-1.el7.noarch (openstack-queens)
需要:qemu-kvm-rhev >= 2.9.0
您可以尝试添加 --skip-broken 选项来解决该问题
您可以尝试执行:rpm -Va --nofiles --nodigest
在网上多次查找资料后,发现还是自己制作rpm包比较靠谱,具体步骤如下:
1、下载源码包
wget http://ftp.redhat.com/pub/redhat/linux/enterprise/7Server/en/RHEV/SRPMS/qemu-kvm-rhev-2.9.0-16.el7_4.8.src.rpm
温馨提示:因为源码包在国外,所以下载速度较慢,建议使用百度网盘下载
https://pan.baidu.com/s/1Qz8PE4iwQxlXXhtMBQzQzQ
2、安装制作rpm工具
[root@compute2 ~]# yum install rpm-build –y
3、创建mockbuild用户和组
[root@compute2 ~]# groupadd mockbuild
[root@compute2 ~]# useradd mockbuild -g mockbuild
4、安装完成后,默认会在当前用户根目录下生成rpmbuild目录,里面包含源码和spec文件
[root@compute2 ~]# rpm -Uvh qemu-kvm-rhev-2.9.0-16.el7_4.8.src.rpm
5、安装编译该rpm包所缺少的依赖包
[root@compute2 ~]# cd rpmbuild
[root@compute2 rpmbuild] # yum install `rpmbuild -bb SPECS/qemu-kvm.spec 2>&1 | grep "needed" | awk '{print $1}'` -y
若出现如下报错,因为你的shell终端的当前环境变量是中文,'needed'这个关键字显示成了'需要' 导致grep的时候没有过滤出来,临时把环境变量改成英文就可以了
错误:需要为 install 指定软件包列表
简单用法:
install 软件包……
向系统中安装一个或多个软件包
别名:install-n, install-na, install-nevra
临时把环境变量改成英文
[root@compute2 rpmbuild]# export LC_ALL=en_US.UTF-8
6、开始制作包
[root@compute2 rpmbuild]# rpmbuild -bb SPECS/qemu-kvm.spec
经历几分钟的编译和rpm打包过程,最终将生成以下rpm包
[root@compute2 rpmbuild]# ll RPMS/x86_64/
-rw-r--r-- 1 root root 2335728 Aug 16 16:03 qemu-img-rhev-2.9.0-16.el7.8.x86_64.rpm
-rw-r--r-- 1 root root 936712 Aug 16 16:03 qemu-kvm-common-rhev-2.9.0-16.el7.8.x86_64.rpm
-rw-r--r-- 1 root root 2987616 Aug 16 16:03 qemu-kvm-rhev-2.9.0-16.el7.8.x86_64.rpm
-rw-r--r-- 1 root root 14264064 Aug 16 16:03 qemu-kvm-rhev-debuginfo-2.9.0-16.el7.8.x86_64.rpm
-rw-r--r-- 1 root root 326828 Aug 16 16:03 qemu-kvm-tools-rhev-2.9.0-16.el7.8.x86_64.rpm
7、按顺序安装以下几个包
[root@compute2 x86_64]# rpm -i qemu-img-rhev-2.9.0-16.el7.8.x86_64.rpm
[root@compute2 x86_64]# rpm -i qemu-kvm-common-rhev-2.9.0-16.el7.8.x86_64.rpm
[root@compute2 x86_64]# rpm -i qemu-kvm-rhev-debuginfo-2.9.0-16.el7.8.x86_64.rpm
[root@compute2 x86_64]# rpm -i qemu-kvm-tools-rhev-2.9.0-16.el7.8.x86_64.rpm
[root@compute2 x86_64]# yum install -y qemu-kvm-rhev-2.9.0-16.el7.8.x86_64.rpm
到此qemu-kvm-rhev包制作结束,可以继续安装openstack了