码迷,mamicode.com
首页 > 其他好文 > 详细

rpm打包

时间:2016-06-02 19:53:50      阅读:155      评论:0      收藏:0      [点我收藏+]

标签:

首先安装打包软件
# 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: luckykris@yeah.net
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
首次执行之后会报错:
[root@dev-ansible-server 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打包

标签:

原文地址:http://www.cnblogs.com/wjoyxt/p/5554004.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!