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/

 

posted @ 2017-09-25 11:10  Peterer~王勇  阅读(198)  评论(0编辑  收藏  举报