FPM定制RPM包
安装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/