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打包的主要内容,如果未能解决你的问题,请参考以下文章