星空网 > 软件开发 > 操作系统

Linux rpmbuild命令

一、简介

rpmbuild命令用于创建软件的二进制包和源代码包。

 

二、选项 

参考:http://blog.sina.com.cn/s/blog_4ba5b45e0102e5r2.html   http://www.jinbuguo.com/redhat/rpmbuild.html

 

三、实例

1 准备打包环境

执行如下命令安装rpmbuild和rpmdevtools

#yum install rpmbuild
#yum install rpmdevtools 

执行如下命令来生成rpmbuild的工作目录

#rpmdev-setuptree

工作目录结构如下,

~/rpmbuild~/rpmbuild/SOURCES       #放置打包资源,包括源码打包文件和补丁文件等~/rpmbuild/SPECS        #放置SPEC文档~/rpmbuild/BUILD        #打包过程中的工作目录~/rpmbuild/RPMS         #存放生成的二进制包~/rpmbuild/RPMS/i386      #存放生成的i386结构包~/rpmbuild/SRPMS        #存放生成的源码包

提示:rpmdev-setuptree命令默认将再当前用户主目录下创建一个RPM构建根目录结构,如果需要改变次默认位置,可以修改配置文件:~/.rpmmacros中变量_topdir对应的值即可。

Linux rpmbuild命令

 

2、载源码包到SOURCES目录,不需要解压

cd SOURCES/wget http://nginx.org/download/nginx-1.2.1.tar.gz

Linux rpmbuild命令

 

3、撰写Spec文件

SPEC撰写是打包RPM的核心,也算是最难的一步,好在我们可以从参照一个简单的模板文件开始,在可以实现基本功能的基础上再一步一步的扩充文档内容,直至完全达到要求。下面是一个简单的SPEC文档,其中包括了一些说明信息(注:#后面的内容为说明信息),该SPEC文档是对一个测试的软件项目hellorpm写的,hellorpm软件包编译后仅有一个执行文件、一个手册文件和一个项目说文件。

nginx.spec文档的内容如下:

## Example spec file for nginx##软件包简要介绍Summary: high performance web server#软件包的名字Name: nginx#软件包的主版本号Version: 1.2.1#软件包的次版本号Release: 1.el5.ngx#授权协议License: 2-clause BSD-like license#软件分类Group: Applications/ServerSource: http://nginx.org/download/nginx-1.2.1.tar.gzURL: http://nginx.org/Distribution: LinuxPackager: zhumaohai <admin@www.centos.bz> #软件包的内容介绍%descriptionnginx [engine x] is a HTTP and reverse proxy server, as well asa mail proxy server#表示预操作字段,后面的命令将在源码代码BUILD前执行%preprm -rf $RPM_BUILD_DIR/nginx-1.2.1zcat $RPM_SOURCE_DIR/nginx-1.2.1.tar.gz | tar -xvf -#BUILD字段,将通过直接调用源码目录中自动构建工具完成源码编译操作 %buildcd nginx-1.2.1#调用源码目录中的configure命令 ./configure --prefix=/usr/local/nginx#在源码目录中执行自动构建命令makemake#安装字段%installcd nginx-1.2.1#调用源码中安装执行脚本 make install%preunif [ -z "`ps aux | grep nginx | grep -v grep`" ];thenkillall nginx >/dev/nullexit 0fi#文件说明字段,声明多余或者缺少都将可能出错%files#声明/usr/local/nginx将出现在软件包中
/usr/local/nginx

 

4、构建RPM包

开始构建操作,首先进入到当前用户的rpmbuild根目录

#cd ~/rpmbuild/#rpmbuild -ba SPECS/nginx.spec

提示:-ba表示build all,即生成包括二进制包和源代码包的所有RPM包,如果正常的话,rpmbuild将正常退出,同时在RPMS目录和SRPMS目录中将生成对应的RPM包。

Linux rpmbuild命令

 

参考:http://blog.sina.com.cn/s/blog_5d867af101019b7i.html   http://hlee.iteye.com/blog/343499
   https://www.centos.bz/2012/06/make-rpm-package-methods/




原标题:Linux rpmbuild命令

关键词:linux

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

速卖通、阿里国际、shopee618盛典!提升订单销量的秘密武器—测评补单技术!:https://www.kjdsnews.com/a/1454310.html
巨人互动-TikTok海外户-TikTok的分析工具有哪些:https://www.kjdsnews.com/a/1454311.html
亚马逊广告数据如何分析?收下这5个技巧:https://www.kjdsnews.com/a/1454312.html
Ozon注册下单操作流程及养号好处:https://www.kjdsnews.com/a/1454313.html
FBA严重爆仓,卖家货物上架用时3个月:https://www.kjdsnews.com/a/1454314.html
98年普通打工人,如何从0做到5万美金独立站:https://www.kjdsnews.com/a/1454315.html
川藏线自驾游要怎么走才比较划算呢?:https://www.vstour.cn/a/411240.html
去日本入住酒店,东西随意用却有一个特殊“要:https://www.vstour.cn/a/411241.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流