rpm打包

Posted 星辰大海ゞ

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了rpm打包相关的知识,希望对你有一定的参考价值。

首先安装打包软件
# yum install rpmbuild  rpmdevtools -y

生成打包路径
1.使用rpmdev-setuptree ,会自动在用户家目录生成一个rpmbuild的文件夹,作为工作路径
2.cd rpmbuild/SPECS路径,创建my.spec文件,仅仅需要以下内容
################my.spec##############
Name: shepherd
Version: 1.0
Release: 1
Summary: luckykris
License: [email protected]
Group: github
%description
%prep     #打包前所要做的操作
%files      #你想打包的可执行文件,未来安装到的路径
%defattr(0755,root,root,-)    #你想打包的可执行文件的默认权限
/usr/local/bin/shepherd          #你想打包的可执行文件,未来安装到的路径
%doc
%require      #包依赖 ,值得一提的是,你打包的所有文件中如果有可执行的二进制文件,安装的默认会用 ldd命令去查看 ,是否有not found的动态链接库,如果有的话,会报出依赖关系缺失异常,阻止你安装rpm包
%pre      #安装包前所需要做的操作
%post    #安装包后所要做的操作
%changelog
###################################
3.执行打包命令rpmbuild -ba shepherd.spec
首次执行之后会报错:
[[email protected] SPECS]# rpmbuild -ba shepherd.spec
Processing files: shepherd-1.0-2.x86_64
error: File not found: /root/rpmbuild/BUILDROOT/shepherd-1.0-2.x86_64/usr/local/bin/shepherd
RPM build errors:
    File not found: /root/rpmbuild/BUILDROOT/shepherd-1.0-2.x86_64/usr/local/bin/shepherd
看到没有找到路径的报错,然后你需要手动建立这个路径
mkdir -p /root/rpmbuild/BUILDROOT/shepherd-1.0-2.x86_64/usr/local/bin/


4.报错之后,你需要做的就是把你编译好的自己的程序的路径,复制到步骤3中报错的路径中。
也就是放在这个路径File not found: /root/rpmbuild/BUILDROOT/shepherd-1.0-2.x86_64/usr/local/bin/shepherd
5.放到规定路径后再次执行,就会成功打成rpm包。rpm包会放在rpmbuild/RPMS/x86_64这个路径下。

rpm -qpi *.rpm 查看rpm包的相关信息

 

以上是关于rpm打包的主要内容,如果未能解决你的问题,请参考以下文章

如何把python脚本打包成rpm包

解压 RPM 文件并重新打包

rpm2rpm 打包步骤

rpm2rpm 打包步骤

rpm2rpm 打包步骤

rpm2rpm 打包步骤