阅读 130

源码编译后打RPM包步骤-CentOS7

目的

修改了Spark部分源码,编译成jar包后要替换原rpm包中的jar,并重新打成rpm包以便安装。

步骤

  1. 安装rpmbuild,rpmrebuild,rpmdevtools
yum install -y rpm-build
yum install -y rpmrebuild
yum install -y rpmdevtools
复制代码
  1. 运行rpmdev-setuptree生成工作目录,使用rpmbuild --showrc | grep topdir查看工作目录。如果是root用户,此时生成的文件夹在/root/rpmbuild下。 注意:cd /root/rpmbuild;mkdir BUILDROOT
  2. 也可mkdir -p手动生成这些目录:
mkdir -p /root/rpmbuild/{BUILD,BUILDROOT,RPMS,SOURCES,SPECS,SRPMS}
复制代码
  1. 提取spec文件:
rpmrebuild -p -n -s spark2.spec spark2_3_0_1_0_187-2.3.1.3.0.1.0-187.noarch.rpm
复制代码
  1. 将生成的spark2.spec拷贝到SPECS目录下。
  2. 将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
复制代码
  1. 你可能需要创建spark2_3_0_1_0_187-2.3.1.3.0.1.0-187目录,并将上一步解压出来的内容移动到这个目录。
  2. 将你修改代码编译成的jar包拷贝到解压出来的相应位置(删除原来同名的jar包!)
  3. 根据提取的spec文件把解压出的那些文件重新打rpm包:
cd ~/rpmbuild/
rpmbuild -ba SPECS/spark2.spec
复制代码
  1. 新生成的xxx.rpm包位置在/root/rpmbuild/RPMS下(使用root用户时)
  2. 这个rpm包可以安装使用了:
rpm -ivh /root/rpmbuild/RPMS/xxx.rpm
复制代码

提取spec文件也可使用如下命令:

rpmrebuild –package –notest-install –spec-only   your.spec   xxxx.rpm
复制代码
关注下面的标签,发现更多相似文章
评论