使用fpm生产rpm包

Posted on 2016-09-23 17:26  NooBkey  阅读(152)  评论(0)    收藏  举报

一、预先准备:
1、搭建环境nginx编译安装2、安装目录/application/nginx-1.6.2/
二、解决依赖安装
      yum -y install ruby rubygems ruby-devel
      gem sources -a 
http://ruby.taobao.org/
      gem sources --remove 
http://rubygems.org/
      gem install fpm

三、fpm打包命令参数介绍()
详细使用见fpm --help
常用参数如下
-s INPUT_TYPE 指定源类型
-t OUTPUT_TYPE 指定目标类型,即想要制作包的类型
-n NAME 指定包的名字
-v 指定包的版本
-C CHDIR 指定打包的路径
-d --depends DEPENDENCY 指定依赖包
-f FORCE 强制覆盖之前打的包
-p --package OUTPUT输出的安装包的目录,不想放在当前目录下就需要指定
--post-install 软件包安装完成之后要运行的脚本,和--after-install相同
--pre-install 软件包安装完成之前所要运行的脚本;同--before-install--post-uninstall 软件包卸载完成之后所要运行的脚本;同--after-remove
--post-uninstall 软件包卸载完成之前索要运行的脚本;同--before-remove
四、fpm打包实战1、由于编译nginx需要nginx用户,编译完成后要创建软连接,此步骤可通过脚本和fpm的--post-install 参数
[root@lnmp scripts]# cat nginx_rpm.sh 
#!/bin/sh
useradd nginx -M -s /sbin/nologin
ls /application/nginx-1.6.3/ /application/nginx

2、对编译好的nginx进行打包
fpm -s dir -t rpm -n nginx -v 1.6.2 -d 'pcre-devel,openssl-devel' --post-install /server/scripts/nginx_rpm.sh -f /application/nginx-1.6.2/(最好全路径,并且不要使用软连接)
3、重新开一个机器,全新机器即可,作为客户端,执行rpm -e openssl-devel pcre-devel操作
4、yum -y localinstall  nginx-1.6.2-1.x86_64.rpm在客户端执行

博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3