将源码编译打成rpm包----以nginx为例

打包流程
准备源码软件
安装rpm-build
编写编译配置文件
编译RPM包

具体步骤

1.装工具
yum install rpm-build
安装依赖包
yum -y install gcc pcre-devel zlib-devel openssl-devel

rpmbuild -ba nginx.spec 会报错,没有文件和目录

将源码编译打成rpm包----以nginx为例
但是会自动在当前目录下创建一个rpmbuild目录(注意必须在用户的家目录下,本文用root用户)

将源码编译打成rpm包----以nginx为例
将源码编译打成rpm包----以nginx为例

在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/
将源码编译打成rpm包----以nginx为例
cd /root/rpmbuild/RPMS/x86_64/
5.安装测试rpm包
rpm -qpi nginx.rpm

将源码编译打成rpm包----以nginx为例
rpm -qpl nginx.rpm

将源码编译打成rpm包----以nginx为例
rpm -ivh nginx.rpm 验证安装

将源码编译打成rpm包----以nginx为例
ll /usr/local/nginx/

将源码编译打成rpm包----以nginx为例

猜你喜欢

转载自blog.51cto.com/13843380/2427238