重新打包rpm包


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

來源:關鍵字排名


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM