多语言展示
当前在线:1473今日阅读:159今日分享:18

如何制作RPM包

红帽系列linux下的软件包管理器,下面介绍下它的制作过程
工具/原料

centos6.8

方法/步骤
1

首先安装工具,rpmbuild可能在rpmdevtools里已经包含#yum install rpmbuild#yum install rpmdevtools

2

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

3

我们将下载载源码包到SOURCES目录,不需要解压

4

然后再编写SPEC,我理解的就是安装脚本 在SPEC目录下,新建nginx.spec##Example spec file for nginx#Summary: high performance web serverName: nginxVersion: 1.2.1Release: 1.el5.ngxLicense: 2-clause BSD-like licenseGroup: Applications/ServerSource: http://nginx.org/download/nginx-1.2.1.tar.gzURL: http://nginx.org/Distribution: LinuxPackager: zhumaohai  %descriptionnginx [engine x] is a HTTP and reverse proxy server, as well asa mail proxy server%preprm -rf $RPM_BUILD_DIR/nginx-1.2.1zcat $RPM_SOURCE_DIR/nginx-1.2.1.tar.gz | tar -xvf -%buildcd nginx-1.2.1./configure --prefix=/usr/local/nginxmake%installcd nginx-1.2.1make install%preunif [ -z '`ps aux | grep nginx | grep -v grep`' ];thenkillall nginx >/dev/nullexit 0fi#文件说明字段,声明多余或者缺少都将可能出错%files#声明/usr/local/nginx将出现在软件包中/usr/local/nginx

5

最后就是构建rpm包,执行#cd ~/rpmbuild/#rpmbuild -ba SPECS/nginx.spec

6

在RPMS即可查看生成的rpm包

推荐信息