FPM的安装
yum install -y rubygems ruby-devel rubygems-devel rpm-build
gem list
gem source --list
gem source --addd https://ruby.taobao.org
gem source --remove http://rubygems.org
gem install json -v 1.8.3 -V
gem install fpm -v 1.4.0 -V
FPM常用参数
-s:指定源类型
-t:指定目标类型,即想要制作为什么包
-n:指定包的名字
-v:指定包的版本号
-C:指定打包的相对路径
-d:指定依赖于哪些包
-f:第二次包时目录下如果有同名安装包存在,则覆盖它
-p:输出的安装包的目录,不想放在当前目录下就需要指定
–post-install:软件包安装完成之后所要运行的脚本;同–offer-install
–pre-install:软件包安装完成之前所要运行的脚本;同–before-install
–post-uninstall:软件包卸载完成之后所要运行的脚本;同–offer-remove
–pre-uninstall:软件包卸载完成之前所要运行的脚本;同—before-remove
know errors
1.Need executable ‘rpmbuild’ to convert dir to rpm {:level=>:error}
solution:
[root@localhost]# yum install -y rpm-build
EX:
fpm -s dir -t rpm -n nginx -v 1.10.1 \
--post-install /root/ngpost.sh \
-f /usr/local/nginx
-d 'zlib-devel,pcre-devel,openssl-devel' \
no value for epoch is set, defaulting to nil {:level=>:warn}
no value for epoch is set, defaulting to nil {:level=>:warn}
Created package {:path=>"nginx-1.10.1-1.x86_64.rpm"}
ll
-rw-r--r--. 1 root root 2475253 11月 30 20:24 nginx-1.10.1-1.x86_64.rpm