制作RPM包

1支持的源类型包

*dir 将目录打包成所需要的类型,可以用于源码编译安装的软件包

rpm 对于rpm进行转换

gem 对于rubygem包进行转换

python 将python模块打包成相应的类型

2支持目标类型包

*rpm转换为rpm包  (主要支持红帽版本)

deb转换为deb包  (ubuntu )

solaris转换为solaris包

puppet转换为puppet包

3FPM常用参数

-s 指定源类型

-t 指定目标类型,即想要制作什么包

-n 指定包的名字

-v 指定包的版本号

-C 指定打包的相对路径

-d 指定依赖于哪些包

-f 第二次打包时目录下如果有同名安装包存在,则覆盖他

-p 制作的rpm安装包存放路径,不想放在当前目录下可以指定

--post-install 软件包安装完成之后所要运行的脚本(同--offer-install)

--pre-install 软件包安装完成之前所要运行的脚本(同--before-install)

4基于FPM制作RPM包

4.1搭建Epel Yum源

搭建epel源的方法有很多

最后/etc/yum.repos.d里面有

CentOS-Base.repo CentOS-Media.repo eple.repo eple-testing.repo

4.2安装ruby环境和gem命令FPM

 yum install -y ruby rubygems ruby-devel  (安装)

gem install rubygems-update-v 2.3.0    (升级)

gem update --sysyem  (升级rubygems版本)

gem sources -a http://mirrors.aliyun.com/rubygems/  (添加国内源)

gem sources --remove https://rubygems.org/  (移除国外源)

gem sources -l  (查看当前源)

gem install fpm  (安装FPM工具)

4.3打包Nginx生RPM包

vim nginx.sh  (rpm包安装之前脚本)

#!/bin/bash
useradd -M -s /sbin/nologin nginx
ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin
nginx

fpm -s dir -t rpm -n nginx -v 1.16.1 -d'pcre-devel,zlib-devel' -f --post-install /root/nginx.sh /usr/local/nginx    (生成RPM包)

原文地址:https://www.cnblogs.com/shinian12138/p/11545373.html