(转)openstack制作qemu-kvm-rhev rpm包

声明:
本文转载自
作者:小手冰冰凉啊
链接: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了

你可能感兴趣的:((转)openstack制作qemu-kvm-rhev rpm包)