安装FPM

FPM是ruby写的打包工具,ruby版本要大于1.8.5

#安装ruby环境和gem包管理器
[root@test88 ~]# yum install -y ruby rubygems ruby-devel #查看并替换rubygem仓库
[root@test88 ~]# gem sources list
[root@test88 ~]# gem source --add http://gems.ruby-china.org/ --remove http://rubygems.org/ #安装fpm CentOS6,由于ruby版本不够,故安装低版本json和fpm
[root@test88 ~]# gem install json -v 1.8.3
[root@test88 ~]# gem install fpm -v 1.3.3
#CentOS7
[root@test88 ~]# gem install fpm

FPM基本参数

	1. -s 指定源类型
2. -t 指定目标类型,即想要制作为什么包
3. -n 指定包的名字
4. -v 指定包的版本号
5. -C 指定打包的相对路径 Change directory to here before searching forfiles
6. -d 指定依赖于哪些包
7. -f 第二次打包时目录下如果有同名安装包存在,则覆盖它
8. -p 输出的安装包的目录,不想放在当前目录下就需要指定
9. --post-install 软件包安装完成之后所要运行的脚本;同--after-install
10. --pre-install 软件包安装完成之前所要运行的脚本;同--before-install
11. --post-uninstall 软件包卸载完成之后所要运行的脚本;同--after-remove
12. --pre-uninstall 软件包卸载完成之前所要运行的脚本;同--before-remove

实例:定制NginxRPM包

#1.编写脚本
[root@test88 ~]# mkdir /server/scripts -p
[root@test88 ~]# cd /server/scripts/
[root@test88 ~]# vim nginx_rpm.sh
#!/bin/bash
id nginx > /dev/null 2>&1
if [ $? -ne 0 ];then
useradd nginx -s /sbin/nologin -M
ln -s /application/nginx-1.6.3/ /application/nginx #2.进行打包
[root@test88 scripts]# fpm -s dir -t rpm -n nginx -v 1.6.3 -d 'pcre-devel,openssl-devel' --post-install /server/scripts/nginx_rpm.sh -f /application/nginx-1.6.3/
05-07 15:18