1. 程式人生 > >修改rpm中的檔案重新打包

修改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