1,准备工作:
nginx-1.20.2.tar.gz (有tar包之后,不要去编译安装,在spec里面编写)
yum -y install rpm-build (rpmbuild命令包)
yum -y install gcc pcre-devel openssl-devel (安装依赖包)
2,准备完成后,初始化rpmbuild目录:
rpmbuild -qa nginx.spec (正常报错,但会生成/root/rpmbuild目录)
cp nginx-1.20.2.tar.gz /root/rpmbuild/SOURCES/
3,编写spec文件(禁止有空行,不需要直接注释)
vim /root/rpmbuild/SPECS/nginx.spec #扩展名必须为spec
#填写软件的基本信息
Name:nginx #源码包软件名称
Version:1.20.2 #源码包软件的版本号
Release: 1%{?dist} #制作的rpm包版本号
Summary:This is web server #rpm软件的情况
#Group: #组包 一般都注释
License:GPL #软件的协议
URL:www.nginx.com #网址
Source0: nginx-1.20.2.tar.gz #源码包文件的全称
#BuildRequires: 因为nginx不需要依赖包,所以注释掉 #制作rpm时的依赖关系
#Requires: #安装rpm时的依赖关系
%description
This is web server #软件的描述
#源码的安装过程(源码转化为rpm的过程)
%post #安装后脚本
useradd nginx -s /sbin/nolongin #添加nginx用户
ln -s /usr/local/nginx/sbin/nginx /usr/bin/nginx #建立nginx软连接
ln -s /usr/local/nginx/sbin/nginx /usr/bin/nginx
%prep #准备工作
%setup -q #自动解开tar包,并cd进入目录
%build #编译安装
./configure --user=nginx
make %{?_smp_mflags}
%install
%make_install
%files
%doc #需要打包的文件
/usr/local/nginx/*
%changelog
4,生成rpm包
rpmbuild -ba /root/rpmbuild/SPECS/nginx.spec(显示编译过程)
cd /root/rpmbuild/RPMS/x86_64/ && ls
yum localinstall nginx-1.20.2-1.el7.x86_64.rpm(测试)
id nginx (用户是否存在)
nginx