linux下使用fpm封装制作rpm包

网友投稿 938 2022-09-20

linux下使用fpm封装制作rpm包

linux下使用fpm封装制作rpm包

一、说明:fpm的功能就是将一种类型的包转换成另一种类型

fpm支持的源类型包:

dir  :将目录打包成所需要的类型用于源码编译安装的软件包;

rpm:对rpm进行转换;

gem:对rubygem包进行转换;

python:将python模块打包成相应的类型

fpm支持的目标类型包:

rpm:转换为rpm包

deb:转换为deb包

solari:转换为solaris包

puppet:转换成pupper包

fpm常用参数:

-s:指定源类型;

-t:指定目标类型,即想要制作什么包;

-n:指定包的名字

-v:指定包的版本号

-c:    指定打包的相对路径

-d:指定依赖于哪些包;

-f:第二次包时目录下如果有同名安装包存在,则覆盖它;

-p:制作的rpm安装包存放路径,不指定就在当前目录下;

--post-install:软件包安装完成之后所要运行的脚本;

--post-uninstall:软件包卸载完成之后所要运行的脚本;

--pre-install:软件包安装完成之前所要运行的脚本;

--pre-uninstall:软件包卸载完成之前所要运行的脚本;

--prefix:制作好的rpm包默认安装路径

二、安装fpm

#yum install –y ruby rubygems  ruby-devel                     #安装fpm前需要先安装ruby,rubygem;

#移除原生的ruby仓库,添加淘宝的ruby仓库:

# gem sources --add --remove                                 added to sources                                  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                      #wget     #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/

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:用python写个模板引擎(python的模板)
下一篇:showmount -e 输出不正确记录,包含历史挂载client
相关文章

 发表评论

暂时没有评论,来抢沙发吧~