解rpm包重新打rpm包

借鉴:【rpm包学习2】解rpm包重新打rpm包_rpm包解压-CSDN博客

1.提取spec文件

rpmrebuild  -p -n -s  wget.spec /root/rpms/wget-1.19.5-10.el8.x86_64.rpm
-p 让你在重建之前修改 .spec 文件。
-n 禁用了清理操作,这样就可以保留当前的构建环境。
-s wget.spec 提供了一个自定义的 .spec 文件。
/root/rpms/wget-1.19.5-10.el8.x86_64.rpm 是你要重建的原始 RPM 包。

2.解压原rpm包

mkdir   dst && cd  dst    #建一个dst目录存放解压出来的文件:
rpm2cpio   /root/rpms/wget-1.19.5-10.el8.x86_64.rpm | cpio -div

#rpm2cpio 会把RPM 包内容转换成 CPIO 格式的流,这个流可以传递给 cpio 命令
#-d: 表示创建目录,如果提取的文件需要新目录,它会自动创建。
#-i 表示提取模式,即从 CPIO 文件中提取内容。
#-v 表示详细模式,显示被提取的文件列表。

3.重新编出rpm包

mv    wget.spec    dst/
cd    dst/              #将spec文件和解压出来的文件都放在dst目录下
rpmbuild  -ba  --buildroot /root/dst/    dst/wget.spec      #重新编出rpm包

4.结束

最终新rpm文件位置:
/root/rpmbuild/RPMS/x86_64/wget-1.19.5-10.el8.x86_64.rpm

 

posted @ 2025-03-04 11:36  阿锋888  阅读(471)  评论(0)    收藏  举报