目的
修改了Spark部分源码,编译成jar包后要替换原rpm包中的jar,并重新打成rpm包以便安装。
步骤
- 安装rpmbuild,rpmrebuild,rpmdevtools
yum install -y rpm-build
yum install -y rpmrebuild
yum install -y rpmdevtools
rpmrebuild官网 rpmrebuild.sourceforge.net/
- 下载rpmrebuild
RPM resource rpmrebuild rpmfind.net/linux/rpm2h…
- 百度网盘下载rpmrebuild:
链接:pan.baidu.com/s/16_QY2aYS…
提取码:8mov
- 运行rpmdev-setuptree生成工作目录,使用rpmbuild --showrc | grep topdir查看工作目录。如果是root用户,此时生成的文件夹在
/root/rpmbuild下。 注意:cd /root/rpmbuild;mkdir BUILDROOT - 也可mkdir -p手动生成这些目录:
mkdir -p /root/rpmbuild/{BUILD,BUILDROOT,RPMS,SOURCES,SPECS,SRPMS}
- 提取spec文件:
rpmrebuild -p -n -s spark2.spec spark2_3_0_1_0_187-2.3.1.3.0.1.0-187.noarch.rpm
- 将生成的
spark2.spec拷贝到SPECS目录下。 - 将spark2_3_0_1_0_187-2.3.1.3.0.1.0-187.noarch.rpm解压到rpmbuild/BUILDROOT目录下:
rpm2cpio spark2_3_0_1_0_187-2.3.1.3.0.1.0-187.noarch.rpm |cpio –idv
- 你可能需要创建spark2_3_0_1_0_187-2.3.1.3.0.1.0-187目录,并将上一步解压出来的内容移动到这个目录。
- 将你修改代码编译成的jar包拷贝到解压出来的相应位置(删除原来同名的jar包!)
- 根据提取的spec文件把解压出的那些文件重新打rpm包:
cd ~/rpmbuild/
rpmbuild -ba SPECS/spark2.spec
- 新生成的xxx.rpm包位置在/root/rpmbuild/RPMS下(使用root用户时)
- 这个rpm包可以安装使用了:
rpm -ivh /root/rpmbuild/RPMS/xxx.rpm
注
提取spec文件也可使用如下命令:
rpmrebuild –package –notest-install –spec-only your.spec xxxx.rpm