author:headsen chen

date: 2019-01-19  14:57:09

个人原创博客,转自请注明出处和作者,否则追究法律责任

1,安装依赖和语言包

yum -y install ruby rubygems ruby-devel gcc

2,添加阿里云的Rubygems仓库,外国的源慢

gem sources -a http://mirrors.aliyun.com/rubygems/

3,移除原生的Ruby仓库

gem sources --remove http://rubygems.org/

4,安装fpm

gem install fpm

此时报错:

[root@ops-rpmbuild01 ~]# gem install fpm
Building native extensions. This could take a while...
Building native extensions. This could take a while...
ERROR: Error installing fpm:
ruby-xz requires Ruby version >= 1.9.3.

5,解决办法是 先安装rvm,再把ruby版本提升至2.3.3

yum -y install curl
curl -L get.rvm.io | bash -s stable

curl -sSL https://rvm.io/mpapis.asc | gpg2 --import -
  curl -sSL https://rvm.io/pkuczynski.asc | gpg2 --import -

再次运行:

curl -L get.rvm.io | bash -s stable 

source /usr/local/rvm/scripts/rvm

检测rvm是否安装成功:
rvm -v

安装一个版本的ruby

rvm install 2.2.3

设置一个默认的ruby版本

rvm use 2.3.3

ruby --version

6,再次安装fpm

gem install fpm

7,fpm的参数

#    fpm -h #查看命令的帮助,下面对常用的参数进行简单的说明
# -s:指定源类型
# -t:指定目标类型
# -n:指定名字
# -v:指定版本号
# -C:指定打包的相对路径
# -d:指定依赖于哪些包
# -f:第二次打包时目录下如果有同名安装包存在,则覆盖它
# -p:输出的安装包的目录,不想放在当前目录下就需要指定
# --post-install 软件包安装完成之后所要运行的脚本;同--after-install
# --pre-install 软件包安装完成之前所要运行的脚本;同--before-install

8,通过源码包安装Nginx并 启动

 yum install  -y pcre-devel openssl-devel
rpm -qa pcre-devel openssl-devel
mkdir -p /home/oldboy/tools
cd /home/oldboy/tools
wget -q http://nginx.org/download/nginx-1.10.2.tar.gz
tar fx nginx-1.10.2.tar.gz
cd nginx-1.10.2
useradd www
./configure --user=www --group=www --prefix=/application/nginx-1.10.2 --with-http_stub_status_module --with-http_ssl_module
make && make install
ln -s /application/nginx-1.10.2 /application/nginx
/application/nginx/sbin/nginx
lsof -i:80

9,fpm打包实例

[root@localhost mnt]# fpm -s dir -t rpm -n nginx -v 1.0.0.2 -C /application/nginx-1.10.2 -f
Created package {:path=>"nginx-1.0.0.2-1.x86_64.rpm"}
[root@localhost mnt]# ls
install_after.sh nginx nginx-1.0.0.2-1.x86_64.rpm remove_after.sh

FPM打包工具使用的更多相关文章

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

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

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

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

  3. FPM打包工具

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

  4. centos6.5安装fpm打包工具

    FPM功能简单说就是将一种类型的包转换成另一种类型.FPM的github:https://github.com/jordansissel/fpm 1.支持的源类型包: dir: 将目录打包成所需要的类 ...

  5. fpm 打包工具安装调试

    https://github.com/jordansissel/fpm  官方git yum install ruby-devel gcc make rpm-build rubygems gem so ...

  6. rpm打包工具---FPM

    FPM的安装:fpm是由ruby gem仓库里面安装的所以要先装ruby.yum安装的ruby版本是1.8.7版本,使用gem命令会报错: >= 1.9.3,所以要安装一个比1.9.3版本高的 ...

  7. fpm打包神奇rpm包升级python2.7.16

    fpm打包神器参考文档:https://www.cnblogs.com/flintlovesam/p/6594635.html FPM的安装:安装ruby环境和gem命令: yum -y instal ...

  8. Linux-源码安装及FPM打包

    目录 源码安装 制作RPM包(使用FPM工具) 安装rpm后要执行的脚本(优化版) 源码安装 这里举例Nginx的源码安装,需要前往Nginx官网找到稳定版本源码安装包下载. ## 源码安装nginx ...

  9. 细说前端自动化打包工具--webpack

    背景 记得2004年的时候,互联网开发就是做网页,那时也没有前端和后端的区分,有时一个网站就是一些纯静态的html,通过链接组织在一起.用过Dreamweaver的都知道,做网页就像用word编辑文档 ...

随机推荐

  1. Ruby gem: Mac 系统下的安装与更新

    官方链接:https://rubygems.org/pages/download#formats 下载安装: 1.点击上面链接进入到官网,从顶部的链接下载压缩包: 2.解压缩到指定文件夹,并通过 “c ...

  2. css box-shadow添加阴影

    基础说明:     外阴影:box-shadow: X轴  Y轴  Rpx  color;     属性说明(顺序依次对应): 阴影的X轴(可以使用负值)    阴影的Y轴(可以使用负值)    阴影 ...

  3. kuser_cmpxchg_check 原子操作

    对于ARM体系结构,每一个由用户态到内核态的中断或异常处理路径都经过kuser_cmpxchg_check,kuser_cmpxchg_check中检查被中断的地址是否大于TASK_SIZE:TASK ...

  4. 【DL】几种参数优化方法的比较

    https://zhuanlan.zhihu.com/p/22252270 结尾的两张图不能更赞. PS:在用lstm做文本分类的时候,加了L2正则,把optim方法由之前的SGD换成Adam,效果提 ...

  5. MongoDB 之 Capped Collection

    MongoDB 支持 Capped Collection,一种固定大小的集合,当集合的大小达到指定大小时,新数据覆盖老数据,MongoDB Replica set 中的 oplog 就是 Capped ...

  6. 近5年常考Java面试题及答案整理(一)

    下列面试题都是在网上收集的,本人抱着学习的态度找了下参考答案,有不足的地方还请指正. 1.面向对象的特征有哪些方面? 抽象:将同类对象的共同特征提取出来构造类. 继承:基于基类创建新类. 封装:将数据 ...

  7. 自动换行后缩进怎么做(CSS)?(可用于 Li y 元素的排版)

    <style type="text/css">li{ width:100px; border:1px solid #ccc; padding-left:25px; te ...

  8. [转]好文章:Android的AlertDialog详解

    refer:http://www.2cto.com/kf/201205/131876.html AlertDialog的构造方法全部是Protected的,所以不能直接通过new一个AlertDial ...

  9. 协助CIO成功实施ITIL

    如今,企业在日渐复杂的IT基础架构和应用服务上所做出的投资越来越庞大.有数据显示,财富500强在IT上的平均开支已达到了3亿5千万美元. 为了清楚地认识IT投资所能带来的价值,企业应考虑改善服务管理流 ...

  10. Vim终极指南:所思即所得

    https://blog.csdn.net/dc_726/article/details/78981756