修改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
欢迎关注微信公众号:大数据从业者