应用场景
1)官方未提供RPM包
2)官方RPM无法自定义
3)大量源码包,希望提供统一的软件管理机制
打包流程
1)准备源码软件
2)安装rpm-build
3)编写编译配置文件
4)编译RPM包
一,安装rpm-build软件
yum -y install rpm-build
二,生成rpmbuild目录结构
rpmbuild -ba xxx //随便写一个,目的是为了生成下面的目录结构
ls /root/rpmbuild //自动生成的目录结构
BUILD BUILDROOT RPMS SOURCES SPECS SRPMS
三,将准备好的源码软件复制到SOURCES目录
cp nginx-1.12.2.tar.gz /root/rpmbuild/SOURCES
四,创建并修改SPEC配置文件
vim /root/rpmbuild/SPECS/nginx.spec
Name:软件名称(*)
Version:软件版本(你打包文件的版本)
Release:RPM版本(*)
Summary:描述
Group:软件组
License:协议
URL:网址
Source0:源码文件
BuildRoot:%(mktemp-ud%{_tmppath}/%{name}-%{version}-%{release})(临时编译目录)
BuildRequires:编译时依赖包
Requires:安装时依赖包
%description详细描述
%prep安装前准备,解压
%setup -q系统使用setup自动解压,安静模式
%build编译需要执行的命令
make
%configure配置时需要执行的命令
make %{?_smp_mflags}
%install安装时需要执行的指令
rm -rf %{buildroot}
make install DESTDIR=%{buildroot}
%clean清理时需要执行的指令
rm -rf %{buildroot}
%files定义打包文件列表
%defattr(-,root,root,-)
$doc
%changelog软件修改历史
五,使用配置文件创建RPM包
1)手动安装nginx的依赖包
yum -y install gcc pcre-devel openssl-devel
2)rpmbuild创建RPM软件包
rpmbuild -ba /root/rpmbuild/SPECS/nginx.spec
ls /root/rpmbuild/RPMS/x86_64/nginx-1.12.2-10.x86_64.rpm
3)安装,卸载软件
yum -y install nginx-1.12.2-10.x86_64.rpm
RPM包制作完成