rpm打包环境

1、安装软件包:yum -y install  rpmdevtools  rpmbuild (rpmdevtools-8.3-5.el7.noarch ) 

2、rpmdev-setuptree    #自动在用户家目录生成一个rpmbuild的文件夹,作为工作路径

3、生成文件相对应目录作用

/root/rpmbuild/SOURCES — 存放源代码,补丁,图标等文件。
/root/rpmbuild/SPECS — 存放用于管理rpm制作进程的spec文件。
/root/rpmbuild/BUILD — 解压后的文件存放在这里。
/root/rpmbuild/RPMS — 存放由rpmbuild制作好的二进制包。
/root/rpmbuild/SRPMS —存放由rpmbuild制作好的源码包。
 
在redhat下,rpm包的默认制作路径在/usr/src/redhat下,但centos并没有该目录,因此,我们不得不自定义工作目录,这其中包含了6个目录(要求全部大写):
BUILD:源代码解压以后放的位置
RPMS:制作完成后的rpm包存放目录,为特定平台指定子目录(x86_64)
SOURCES:收集的源文件,源材料,补丁文件等存放位置
SPECS:存放spec文件,作为制作rpm包的领岗文件,以rpm名.spec
SRPMS:src格式的rpm包位置 ,既然是src格式的包,就没有平台的概念了
BuiltRoot:假根,使用install临时安装到这个目录,把这个目录当作根来用的,所以在这个目录下的目录文件,才是真正的目录文件。当打包完成后,在清理阶段,这个目录将被删除
 
4、vim ~/.rpmmacros 
%_topdir /root/rpmbuild
%debug_package %{nil}      #编译时不生成phpdebug-info软件包,phpdebug-info软件包是开发使用的
 
5、生成rpm包命令
[root@linuxprobe SPEC]# rpmbuild -bb php.spec 制作php的rpm二进制包
[root@linuxprobe SPEC]# rpmbuild -bb php-redis.spec 制作php-redis的rpm二进制包
 
6、rpmbuild --clean httpd.spec    #清除打包缓存,重新打包

      rpmbuild -ba --sign httpd.spec  #重新打包

 
 
posted @ 2017-08-09 13:41  Mansoncui  阅读(687)  评论(0编辑  收藏  举报