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 是不是很方便呐(*^__^*) ……

rpm打包工具---FPM的更多相关文章

  1. 制做rpm包工具fpm安装

    安装ruby模块 [root@c01 ~]# yum install ruby rubygems ruby-devel -y # 查看当前使用的rubygems仓库 [root@c01 ~]# gem ...

  2. 以libfuse为例介绍rpm打包工具rpmbuild的使用和SPEC文件的编写

    一.rpmbuild命令的安装 yum install rpm-build 二.用法 rpmbuild -bb XXXX.spec或者rpmbuild -ba XXX.tar.gz 三.目录概述 rp ...

  3. rpm打包工具

    http://fedoraproject.org/wiki/How_to_create_an_RPM_package # rpm --showrc|grep _topdir -14: _builddi ...

  4. 使用FPM打包工具打rpm包

    使用FPM打包工具打rpm包 一:安装ruby环境和gem命令 fpm 是 ruby写的,因此系统环境需要ruby且版本必须大于1.8.5 # yum -y install ruby rubygems ...

  5. FPM打包工具 可以把源码包制定为rpm包 是自动化部署的环节

    注意部FPM时的环境一定要跟生产环境的系统版本最好是保持一至,我第一次测试没通过,(我在CENTOS7和部属FPM打好的包在Centos6.x和安装,结果失败) 1:安装 FPM打包工具的依赖包: [ ...

  6. FPM打包工具

    支持的源类型包: dir: 将目录打包成所需要的类型,可以用于源码编译安装的软件包 rpm: 对rpm进行转换 gem: 对rubygem包进行转换 python: 将Python模块打包成相应的类型 ...

  7. Rpm打包程序

    1.Rpm打包程序1.1为什么要使用rpm打包1.编译安装软件,优点是可以定制化安装目录.按需开启功能等,缺点是需要查找并实验出适合的编译参数,诸如MySQL之类的软件编译耗时过长.2.yum安装软件 ...

  8. 【centos7常用技巧】RPM打包

    一.RPM打包的目的 1.当目标机中不存在编译环境时,可以先在本地环境中编译打包,然后直接在目标机中用rpm -ivh *.rpm安装即可. 2.当需要在目标机中安装多个软件或者增加多个文件时,可以将 ...

  9. yum仓库,RPM打包

    rpm命令: -qa  查看软件包是否被安装 -ivh 安装rpm包 -e 卸载包 -qpl 查看rpm包中有什么东西 -qi 查看软件的详细安装信息:安装路径 安装fpm #FPM是Ruby模块yu ...

随机推荐

  1. DOS下串口通信程序来传送文件的源代码

    接收程序: #include <dos.h>#include <fstream.h>#include <conio.h>#include <stdio.h&g ...

  2. java发送邮件时遇到的坑

    之前用163邮箱发邮件时明明是成功的,但是使用中国移动自己的邮箱时,无论如何在linux服务器中都发送不成功,一开始报如下错误: javax.mail.MessagingException: Unkn ...

  3. HighCharts之2D堆条状图

    HighCharts之2D堆条状图 1.HighCharts之2D堆条状图源码 StackedBar.html: <!DOCTYPE html> <html> <head ...

  4. 序列化Json格式

    Json = JsonUtil.Serialize(new { code = 1, msg = "文件删除成功" }); public class JsonUtil     {   ...

  5. IIS易混概念小结

    IIS连接数 常识: 虚拟主机会限制IIS连接数,关于其含义,差不多每个主机供应商都有一套自己的说法,微软也没有给出很明确的解释: 含义: IIS服务器可以同时容纳客户请求的最高连接数,准确的说应该叫 ...

  6. 优先队列运用 TOJ 4123 Job Scheduling

    链接:http://acm.tju.edu.cn/toj/showp4123.html 4123.   Job Scheduling Time Limit: 1.0 Seconds   Memory ...

  7. Git资料整理

    一.Git知识 1. Git入门 2. Pro Git 3. 廖雪峰的官方网站 4. 下载地址 二.GitHub 三.Git客户端 1. TortoiseGit 下载地址 Git和TortoiseGi ...

  8. GitHub图形界面使用笔记

    GitHub图形界面使用笔记   学会了最简单的在GitHub上上传项目和展示项目,怕自己会忘记所以还是先记录下了来. GitHub 是一个共享虚拟主机服务,用于存放使用Git版本控制的软件代码和内容 ...

  9. RobotFramework下HttpLibrary库其它关键字

    关键字 使用描述 DELETE 向服务器端发送http delete请求,该请求接收一个参数[ url ],请求的方式和post请求非常类似,示例: DELETE /_utils/config.htm ...

  10. 使用myeclipse出现中文乱码的情况以及解决办法

    一:在jsp页面使用中文在浏览器中显示的时候出现乱码,解决问题的办法: 1)直接在<mete>标签中修改charset属性为"utf-8"或者为"gb2312 ...