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

nginx之RPM包制作教程

时间:2018-11-06 23:32:47      阅读:289      评论:0      收藏:0      [点我收藏+]

标签:ofo   修改   目录   cal   描述   www.   spec   软件包   eve   

1,需求
案例使用nginx-1.12.2版本的源码软件,生成对应的RPM包软件,具体要求如下:
软件名称为nginx
软件版本为1.12.2
RPM软件包可以查询描述信息
RPM软件包可以安装及卸载
2,安装rpm-build软件
1)安装rpm-build软件包
[root@web1 ~]# yum -y install rpm-build
2)生成rpmbuild目录结构
[root@web1 ~]# rpmbuild -ba nginx.spec //会报错,没有文件或目录
[root@web1 ~]# ls /root/rpmbuild //自动生成的目录结构
BUILD BUILDROOT RPMS SOURCES SPECS SRPMS
3)准备工作,将源码软件复制到SOURCES目录
[root@web1 ~]# cp nginx-1.12.2.tar.gz /root/rpmbuild/SOURCES/
4)创建并修改SPEC配置文件
[root@web1 ~]# vim /root/rpmbuild/SPECS/nginx.spec
Name:nginx #软件名,不能乱写,必须与源码包名一样
Version:1.12.2          #源码版本号,不能乱写
Release: 10           #rpm修改了几次,顺便写
Summary: Nginx is a web server software.   #软件描述
License:GPL      #GPL协议顺便写,顺便发布
URL: www.test.com
Source0:nginx-1.12.2.tar.gz
#BuildRequires:       #依赖包
#Requires:          #依赖包
%description      #软件描述详细信息
nginx [engine x] is an HTTP and reverse proxy server.
%post            #安装后执行的脚本
useradd nginx //非必需操作:安装后脚本(创建账户)
%prep
%setup –q //自动解压源码包,并cd进入目录
%build
./configure
make %{?_smp_mflags}
%install
make install DESTDIR=%{buildroot}
cp /root/rpmbuild/SPECS/nginx.sh %{buildroot}/usr/local/nginx/
##注意,cp非必须操作,注意,这里是将一个脚本拷贝到安装目录,必须提前准备该文件
%files
%doc
/usr/local/nginx/* //对哪些文件与目录打包
%changelog

3,使用配置文件创建RPM包
1)安装依赖软件包
[root@web1 ~]# yum -y install gcc pcre-devel zlib-devel openssl-devel
2)rpmbuild创建RPM软件包
[root@web1 ~]# rpmbuild -ba /root/rpmbuild/SPECS/nginx.spec
[root@web1 ~]# ls /root/rpmbuild/RPMS/x86_64/nginx-1.12.2-10.x86_64.rpm
[root@web1 ~]# rpm -qpi RPMS/x86_64/nginx-1.12.2-10.x86_64.rpm
Name : nginx Relocations: (not relocatable)
Version : 1.12.2 Vendor: (none)
Release : 10 Build Date: Mon 02 May 2016 02:30:53 AM PDT
Install Date: (not installed) Build Host: localhost
Group : Applications/Internet Source RPM: nginx-1.8.0-1.src.rpm
Size : 721243 License: GPL
Signature : (none)
URL : www.nginx.org
Summary : Nginx is a web server software.
Description :
nginx [engine x] is an HTTP and reverse proxy server.
[root@web1 ~]# rpm -qpl nginx-1.12.2-10.x86_64.rpm

4,安装、卸载软件

[root@web1 ~]# rpm -ivh RPMS/x86_64/nginx-1.12.2-10.x86_64.rpm
[root@web1 ~]# rpm -qa |grep nginx
[root@web1 ~]# /usr/local/nginx/sbin/nginx
[root@web1 ~]# curl http://127.0.0.1/

nginx之RPM包制作教程

标签:ofo   修改   目录   cal   描述   www.   spec   软件包   eve   

原文地址:http://blog.51cto.com/14050800/2313634

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