linux fpm rpm,linux下使用fpm封装制作rpm包

这篇博客记录了在 CentOS 上安装 FPM(Fast Package Manager)的过程,包括解决 Ruby 版本过低、依赖库缺失等问题。首先,通过更新 Ruby 和相关依赖库如 ffi 和 json,然后解决 zlib 开发头文件缺失的问题,最终成功安装 FPM。此过程涉及的命令包括 gem 安装、配置、编译和安装 Ruby,以及安装 zlib-devel。
摘要由CSDN通过智能技术生成

# gem sources --add http://gems.ruby-china.com/ --remove http://rubygems.org/

http://rubygems.org/ removed from sources

[root@jump ~]# gem sources -l

*** CURRENT SOURCES ***

[root@jump ~]# gem install fpm

ERROR: Error installing fpm:

ffi requires Ruby version >= 1.9.      #安装出现这种错误,请先安装ffi,json,同时也是ruby版本太低的缘故了;

#gem install json –v 1.8.0

#gem install ffi  -v 1.9.18

#tar xf ruby-2.5.3.tar.gz

#cd ruby-2.5.3

#./configure –prefix=/usr/local/ruby

#make && make install

#echo “export PATH=$PATH:/usr/local/ruby/bin” >>/etc/profile

#source /etc/profile

[root@jump ruby-2.5.3]# gem install fpm                    #安装fpm时出现如下错误,

ERROR: Loading command: install (LoadError)

cannot load such file -- zlib

ERROR: While executing gem ... (NoMethodError)

undefined method `invoke_with_build_args' for nil:NilClass

查过资料,是因为没有安装zlib-devel的缘故

安装zlib-devel

#yum install –y zlib-devel

#cd ruby-2.5.3/ext/zlib

#ruby ./extconf.rb     #当这一步出现如下错误:make: *** No rule to make target `/include/ruby.h', needed by `zlib.o'. Stop.请进行这一步操作:

#vim  ruby-2.5.3/ext/zlib/Makefile

#zlib.o: $(top_srcdir)/include/ruby.h #把这一行替换成下面一行

zlib.o: ../../include/ruby.h

#make  && make install

#gem install fpm

Fetching: stud-0.0.23.gem (100%)

Successfully installed stud-0.0.23

Fetching: cabin-0.9.0.gem (100%)

Successfully installed cabin-0.9.0

Fetching: clamp-1.0.1.gem (100%)

Successfully installed clamp-1.0.1

Fetching: mustache-0.99.8.gem (100%)

Successfully installed mustache-0.99.8

Fetching: insist-1.0.0.gem (100%)

Successfully installed insist-1.0.0

Fetching: dotenv-2.5.0.gem (100%)

Successfully installed dotenv-2.5.0

Fetching: pleaserun-0.0.30.gem (100%)

Successfully installed pleaserun-0.0.30

Fetching: ffi-1.9.25.gem (100%)

Building native extensions. This could take a while...

Successfully installed ffi-1.9.25

Fetching: io-like-0.3.0.gem (100%)

Successfully installed io-like-0.3.0

Fetching: ruby-xz-0.2.3.gem (100%)

Successfully installed ruby-xz-0.2.3

Fetching: childprocess-0.9.0.gem (100%)

Successfully installed childprocess-0.9.0

Fetching: arr-pm-0.0.10.gem (100%)

Successfully installed arr-pm-0.0.10

Fetching: backports-3.11.4.gem (100%)

Successfully installed backports-3.11.4

Fetching: json-1.8.6.gem (100%)

Building native extensions. This could take a while...

Successfully installed json-1.8.6

Successfully installed fpm-1.10.2

Parsing documentation for stud-0.0.23

Installing ri documentation for stud-0.0.23

Parsing documentation for cabin-0.9.0

Installing ri documentation for cabin-0.9.0

Parsing documentation for clamp-1.0.1

Installing ri documentation for clamp-1.0.1

Parsing documentation for mustache-0.99.8

Installing ri documentation for mustache-0.99.8

Parsing documentation for insist-1.0.0

Installing ri documentation for insist-1.0.0

Parsing documentation for dotenv-2.5.0

Installing ri documentation for dotenv-2.5.0

Parsing documentation for pleaserun-0.0.30

Installing ri documentation for pleaserun-0.0.30

Parsing documentation for ffi-1.9.25

Installing ri documentation for ffi-1.9.25

Parsing documentation for io-like-0.3.0

Installing ri documentation for io-like-0.3.0

Parsing documentation for ruby-xz-0.2.3

Installing ri documentation for ruby-xz-0.2.3

Parsing documentation for childprocess-0.9.0

Installing ri documentation for childprocess-0.9.0

Parsing documentation for arr-pm-0.0.10

Installing ri documentation for arr-pm-0.0.10

Parsing documentation for backports-3.11.4

Installing ri documentation for backports-3.11.4

Parsing documentation for json-1.8.6

Installing ri documentation for json-1.8.6

Parsing documentation for fpm-1.10.2

Installing ri documentation for fpm-1.10.2

Done installing documentation for stud, cabin, clamp, mustache, insist, dotenv, pleaserun, ffi, io-like, ruby-xz, childprocess, arr-pm, backports, json, fpm after 28 seconds

15 gems installed

至此fpm安装成功了;

三、打包:

# fpm -s dir -t rpm -n nginx -v 1.14.1 -d 'pcre-devel,openssl-devel' --post-install /server/scripts/nginx_rpm.sh -f /application/nginx-1.14.1/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值