rpm打包工具---FPM
FPM的安装:fpm是由ruby gem仓库里面安装的所以要先装ruby。yum安装的ruby版本是1.8.7版本,使用gem命令会报错: >= 1.9.3,所以要安装一个比1.9.3版本高的
1.官网下载https://cache.ruby-lang.org/pub/ruby/2.4/ruby-2.4.1.tar.gz
tar zxf ruby-2.4.1.tar.gz
./configure --prefix=/usr/local/ruby && make && make install
ruby --version
如果命令不生效在环境变量里面添加:PATH=$PATH:/usr/local/ruby/bin
2.gem命令是从rubygem仓库安装软件类似yum从yum仓库安装软件
查看当前源:
添加国内源:
gem sources -a http://mirrors.aliyun.com/rubygems/
移除国外源:
gem sources --remove https://rubygems.org/
安装FPM工具:
gem install fpm
sed -i 's#keepcache=0#keepcache=1#g' /etc/yum.conf //开启yum缓存
3.fpm打包实例
fpm -s dir -t rpm -n mongodb -v 3.0.6 --post-install /usr/local/mongodb/mongodb.sh -f /usr/local/mongodb/
Created package {:path=>"mongodb-3.0.6-1.x86_64.rpm"}
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
如果出现这种情况:--post-install:不要放在最后。
4.查看rpm安装信息
查看查看rpm包中的内容:
查看rpm执行的脚本:创建一些前提条件,复制启动脚本、、、
查看rpm包的依赖:比如nginx要'pcre-devel,openssl-devel'支持,就会显示出来,在打包的时候要加上 -d 'pcre-devel,openssl-devel'
然后就可以发到客户端rpm -ivh 是不是很方便呐(*^__^*) ……