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