【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>
1.安装rpmrebuild 和安装rpmbuild
rpmrebuild下载链接: https://sourceforge.net/projects/rpmrebuild/files/rpmrebuild/
rpmbuild直接用yum安装 :yum install rpm-build
2.配置rpm编译目录
vi ~/.rpmmacros
%_topdir /data/rpmbuild
保存。
3.创建目录解压rpmrebuild文件到/data/rpmbuild中
mkdir -p /data/rpmbuild && cd /data/rpmbuild
mkdir ./BUILDROOT
mkdir ./SPECS
cd /data/rpmbuild
mkdir tools
cp rpmrebuild-2.14.tar.gz ./tools/
cd tools
tar -zxvf rpmrebuild-2.14.tar.gz
cd ..
4.安装准备重新打包的rpm(例如:rpm-build)
rpm -ivh rpm-build-4.11.3-40.el7.x86_64.rpm
5.反编译提取SPEC文件
#查看rpm安装名称
rpm -qa|grep rpm-build
cd /data/rpmbuild
#rpm-build-4.11.3-40.el7.x86_64 为查看的rpm安装名称
./tools/rpmrebuild.sh -s SPECS/rpm-build.spec rpm-build-4.11.3-40.el7.x86_64
6.替换或修改rpm包中的文件
## 解压原版RPM包
cd /data/rpmbuild
rpm2cpio rpm-build-4.11.3-40.el7.x86_64.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
来源:oschina
链接:https://my.oschina.net/mengyoufengyu/blog/3145769