Nginx打包RPM(FPM工具)

1.下载nginx源码包

wget http://nginx.org/download/nginx-1.20.1.tar.gz

2.更新yum软件源

yum update

3.下载编译工具和依赖

yum install -y gcc pcre-devel pcre zlib zlib-devel

4.解压tar包

tar -zxvf nginx-1.20.1.tar.gz -C ~/

5.进入源码文件配置编译信息

# --prefix后面加的是绝对地址 意思是编译安装后软件输出的位置
./configure --prefix=/opt/nginx

6.编译&编译安装

make && make install

7.安装RAM密钥

command curl -sSL https://rvm.io/mpapis.asc | gpg2 --import -
command curl -sSL https://rvm.io/pkuczynski.asc | gpg2 --import -

8.安装RAM

curl -L get.rvm.io | bash -s stable

9.更新RAM的配置文件

source /etc/profile.d/rvm.sh

10.安装Ruby2.6

rvm install 2.6

11.查看ruby是否安装成功

ruby -v

12.安装fpm依赖模块

yum -y install rubygems ruby-devel

13.更换rubygems仓库

gem sources -a  http://mirrors.aliyun.com/rubygems/
gem sources --remove https://rubygems.org/
gem source list

14.安装fpm工具

gem install fpm

15.检查fpm是否正确安装

fpm --help

16.编写shell文件

vim /root/rpm_building/ngnix_rpm.sh
#!/bin/bash

# 源码编译一般都要添加执行用户
useradd nginx -M -s /sbin/nologin

9.打包

打包格式:
fpm -s 源文件类型 -t 目标文件类型 -n 打包后名称 -v 打包后版本号 -d 所需要依赖 --post-install 安装完后执行的脚本 -f 源文件地址

fpm -s dir -t rpm -n nginx -v 1.20.1 -d 'pcre-devel,openssl-devel' --post-install /root/rpm_building/ngnix_rpm.sh -f /opt/nginx/

参数说明:

1.-s 指定源类型
2.-t 指定目标类型,即想要制作为什么包
3.-n 指定包的名字
4.-v 指定包的版本号
5.-d 指定依赖于哪些包
6.-f 第二次打包时目录下如果有同名安装包存在,则覆盖它
7.–post-install 软件包安装完成之后所要运行的脚本;同–after-install

可能会出现的错误:

  • Need executable ‘rpmbuild’ to convert dir to rpm {:level=>:error}

解决办法:安装rpm-build

yum install rpm-build -y

你可能感兴趣的:(RPM打包,Linux,linux)