解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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· AI与.NET技术实操系列(六):基于图像分类模型对图像进行分类