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
來源:關鍵字排名