将源码编译打成rpm包----以nginx为例
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将源码编译打成rpm包----以nginx为例相关的知识,希望对你有一定的参考价值。
打包流程
准备源码软件
安装rpm-build
编写编译配置文件
编译RPM包
具体步骤
1.装工具
yum install rpm-build
安装依赖包
yum -y install gcc pcre-devel zlib-devel openssl-devel
rpmbuild -ba nginx.spec 会报错,没有文件和目录
但是会自动在当前目录下创建一个rpmbuild目录(注意必须在用户的家目录下,本文用root用户)
在rpmbuild目录中
SOURCES 目录中存放源码包
BUILDROOT 是一个假根,用来做rpm包时存放目录的
SPECS 存放编译配置的spec文件
RPMS 存放生成的rpm包
2.拷贝源码包
cp nginx-1.8.0.tar.gz /root/rpmbuild/SOURCES
3.新建SPEC文件
cd /root/rpmbuild/SPECS
vim nginx.spec 必须是以.spec结尾
spec文件解析
Name:nginx 软件名称
Version:1.8.0 软件版本
Release: 1%{?dist} 第几次制作源码包 默认为1 可随意
Summary:nginx web server 汇总信息
#Group: 组包
License:GPL 协议
URL:www.test.com 网址
Source0:nginx-1.8.0.tar.gz 源码包名字必须和源码包名字一致
#BuildRequires: 依赖关系
#Requires:
%description 详细描述
this is web server
%pre 安装前脚本
%post 安装后脚本
%prep
%setup -q 解压并且cd进去
%build
./configure --with-http_ssl_module 可自定义安装扩展模块
make %{?_smp_mflags}
%install
make install DESTDIR=%{buildroot} 执行make install
%files
%doc
/usr/local/nginx/* 压缩哪些文件
%changelog
3.使用SPEC文件编译rpm包
rpmbuild -ba /root/rpmbuild/SPECS/nginx.spec
4.查看生成的rpm包
ll /root/rpmbuild/RPMS/x86_64/
cd /root/rpmbuild/RPMS/x86_64/
5.安装测试rpm包
rpm -qpi nginx.rpm
rpm -qpl nginx.rpm
rpm -ivh nginx.rpm 验证安装
ll /usr/local/nginx/
以上是关于将源码编译打成rpm包----以nginx为例的主要内容,如果未能解决你的问题,请参考以下文章