安装必要rpm-build软件
1)安装rpm-build软件包
[root@proxy ~]# yum -y install rpm-build
2)生成rpmbuild目录结构
[root@proxy ~]# rpmbuild -ba nginx.spec #会报错,没有文件或目录
[root@proxy ~]# ls /root/rpmbuild #自动生成的目录结构
BUILD BUILDROOT RPMS SOURCES SPECS SRPMS #SOURCES存放源码包的位置,RPMS存放制作好的rpm位置,SPECS存放制作软件包配置文件的位置
3)准备工作,将源码软件复制到SOURCES目录
[root@proxy ~]# cp /root/lnmp_soft/nginx-1.22.1.tar.gz /root/rpmbuild/SOURCES/
4)创建并修改SPEC配置文件,文件名任意,以.spec结尾
[root@proxy ~]# vim /root/rpmbuild/SPECS/nginx.spec
Name:nginx #源码包软件名称
Version:1.22.1 #源码包软件的版本号
Release:1 #制作nginx的RPM包版本号
Summary:nginx is a web server #RPM软件的概述
#Group: #组,目前不需要,直接注释或者删除
License:GPL #License授权协议,GPL自由软件
URL:www.test.com #网址,自行定义
Source0:nginx-1.22.1.tar.gz #源码包文件的全称
#BuildRequires: #制作RPM时安装的软件包gcc,make,pcre-devel,openssl-devel等,即构建依赖,不用写,直接注释,在这只是提示作用,还是需要自己安装
Requires:pcre-devel openssl-devel #rpm包制作好之后,安装RPM时的依赖关系
%description
nginx is a web server #软件的详细描述
%prep
%setup -q #自动解压源码包,并cd进入目录
%build
./configure #配置
make %{?_smp_mflags}
%install
%make_install
%files
%doc
/usr/local/nginx/* #对哪些文件与目录打包
%changelog
使用配置文件创建RPM包
1)安装依赖软件包
[root@proxy ~]# yum -y install gcc make pcre-devel openssl-devel
2)rpmbuild创建RPM软件包
[root@proxy ~]# rpmbuild -ba /root/rpmbuild/SPECS/nginx.spec
[root@proxy ~]# ls /root/rpmbuild/RPMS/x86_64/nginx-1.22.1-1.x86_64.rpm
安装软件
删除之前proxy主机中的nginx
[root@proxy ~]# killall nginx
[root@proxy ~]# rm -rf /usr/local/nginx/
[root@proxy ~]# yum -y install /root/rpmbuild/RPMS/x86_64/nginx-1.22.1-1.x86_64.rpm
[root@proxy ~]# ls /usr/local/nginx/