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

rpm打包工具---FPM的更多相关文章
- 制做rpm包工具fpm安装
安装ruby模块 [root@c01 ~]# yum install ruby rubygems ruby-devel -y # 查看当前使用的rubygems仓库 [root@c01 ~]# gem ...
- 以libfuse为例介绍rpm打包工具rpmbuild的使用和SPEC文件的编写
一.rpmbuild命令的安装 yum install rpm-build 二.用法 rpmbuild -bb XXXX.spec或者rpmbuild -ba XXX.tar.gz 三.目录概述 rp ...
- rpm打包工具
http://fedoraproject.org/wiki/How_to_create_an_RPM_package # rpm --showrc|grep _topdir -14: _builddi ...
- 使用FPM打包工具打rpm包
使用FPM打包工具打rpm包 一:安装ruby环境和gem命令 fpm 是 ruby写的,因此系统环境需要ruby且版本必须大于1.8.5 # yum -y install ruby rubygems ...
- FPM打包工具 可以把源码包制定为rpm包 是自动化部署的环节
注意部FPM时的环境一定要跟生产环境的系统版本最好是保持一至,我第一次测试没通过,(我在CENTOS7和部属FPM打好的包在Centos6.x和安装,结果失败) 1:安装 FPM打包工具的依赖包: [ ...
- FPM打包工具
支持的源类型包: dir: 将目录打包成所需要的类型,可以用于源码编译安装的软件包 rpm: 对rpm进行转换 gem: 对rubygem包进行转换 python: 将Python模块打包成相应的类型 ...
- Rpm打包程序
1.Rpm打包程序1.1为什么要使用rpm打包1.编译安装软件,优点是可以定制化安装目录.按需开启功能等,缺点是需要查找并实验出适合的编译参数,诸如MySQL之类的软件编译耗时过长.2.yum安装软件 ...
- 【centos7常用技巧】RPM打包
一.RPM打包的目的 1.当目标机中不存在编译环境时,可以先在本地环境中编译打包,然后直接在目标机中用rpm -ivh *.rpm安装即可. 2.当需要在目标机中安装多个软件或者增加多个文件时,可以将 ...
- yum仓库,RPM打包
rpm命令: -qa 查看软件包是否被安装 -ivh 安装rpm包 -e 卸载包 -qpl 查看rpm包中有什么东西 -qi 查看软件的详细安装信息:安装路径 安装fpm #FPM是Ruby模块yu ...
随机推荐
- 获取NVIDIA显卡的温度
NVIDIA显卡在硬件上有温度传感器,可以感知显卡的运行环境.温度数据的获取,一般是通过调用NVIDIA的SDK的相关函数即可.SDK的下载的网址(https://developer.nvidia.c ...
- dojo CsvStore简介
dojox.data.CsvStore 作者:Jared Jurkiewicz 版本:V1.0 CsvStore是由dojo提供的简单的只读存储,并且是包含在dojox项目中的.CsvStore是读取 ...
- 中断处理程序不能使用printf的本质
vxworks 中断处理程序之所以不用printf,本质在于printf是将信息输出到标准输出设备(STDOUT)中, 整个标准输出设备是一个全局变量,由于有semTake操作,那么就会发生阻塞,vx ...
- (二十二)java小练习三
练习七:计算1-100的累加和 package demo; /** * 计算1-100的累加和 * @author tuzongxun */ public class Test16 { pu ...
- java.lang.IllegalStateException: Failed to load ApplicationContext
1.错误描述 七月 13, 2014 6:34:41 下午 org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBean ...
- input【type="checkbox"】标签与字体对齐
今天分享一个比较实用的技巧,在实际项目中我们会经常遇到表单的input标签多选和单选的问题,但是往往由于标签自身的样式和我们项目的风格很不搭调,就不能实现了,今天就来告诉大家怎么去实现吧. 第一种:利 ...
- 基于Spring Boot的RESTful API实践(一)
1. RESTful简述 REST是一种设计风格,是一组约束条件及原则,而遵循REST风格的架构就称为RESTful架构,资源是RESTful的核心,一个好的RESTful架构,通过URL就能很 ...
- C#图解教程 第二十四章 反射和特性
反射和特性 元数据和反射Type 类获取Type对象什么是特性应用特性预定义的保留的特性 Obsolete(废弃)特性Conditional特性调用者信息特性DebuggerStepThrough 特 ...
- TP5 数组分页
需要 use think\Page; 我这个是 Page是从tp3.2的移到5.0来用的,如果你的里面没有这个也可以移动过来 PHP代码: $page= $this->request->p ...
- AC自动机模板1(【洛谷3808】)
题面 题目背景 这是一道简单的AC自动机模版题. 用于检测正确性以及算法常数. 为了防止卡OJ,在保证正确的基础上只有两组数据,请不要恶意提交. 题目描述 给定n个模式串和1个文本串,求有多少个模式串 ...