修改rpm中的文件重新打包

1.安装rpmrebuild 和安装rpmbuild

rpmrebuild下载链接: https://sourceforge.net/projects/rpmrebuild/files/rpmrebuild/2.12-1/

rpmbuild直接用yum安装 :

yum install rpm-build

2.配置rpm编译目录

vi ~/.rpmmacros

%_topdir /data/rpmbuild

保存。

3.创建目录解压rpmrebuild文件到/data/rpmbuild中

mkdir -p /data

mkdir -p /data/rpmbuild

mkdir -p /data/rpmbuild/BUILDROOT

mkdir -p /data/rpmbuild/SPECS

cd /data/rpmbuild

tar -zxvf rpmrebuild-2.14.tar.gz

4.安装准备重新打包的rpm

rpm -ivh xxxxxx.rpm

5.反编译提取SPEC文件

#查看rpm安装名称

rpm -qa|grep xxx

cd /data/rpmbuild

#ccc 为查看的rpm安装名称

./rpmrebuild.sh -s SPECS/abc.spec ccc

6.替换或修改rpm包中的文件

## 解压原版RPM包

rpm2cpio xxxxxx.rpm |cpio -idv

根据需求替换修改解压后的文件后

#bbb是通过命令 rpmbuild /data/rpmbuild/SPECS/abc.spec获取

mkdir -p /data/rpmbuild/BUILDROOT/bbb/

通过mv命令把rpm解压出来的文件修改后都移动到/data/rpmbuild/BUILDROOT/bbb/目录下

7.修改abc.spec 

vi /data/rpmbuild/SPECS/abc.spec

 例如: 原内容为

%attr(0644, root, root) "/usr/lib/123.jar"

删除了这个jar 添加了新的456.jar包权限和0644 用户是root 用户组也是root

删除%attr(0644, root, root) "/usr/lib/123.jar"

增加%attr(0644, root, root) "/usr/lib/456.jar"

保存aba.spec

8.编译RPM包,生成的RPM位置在/data/rpmbuild/RPMS/

rpmbuild -ba /data/rpmbuild/SPECS/abc.spec
posted @ 2019-03-20 14:50  大数据从业者FelixZh  阅读(8663)  评论(1编辑  收藏  举报