centos6.5下安裝fpm打包工具

技術小阿哥發表於2017-11-26

FPM功能簡單說就是將一種型別的包轉換成另一種型別。

FPM的github:https://github.com/jordansissel/fpm 

1.支援的源型別包:

 dir: 將目錄打包成所需要的型別,可以用於原始碼編譯安裝的軟體包

 rpm: 對rpm進行轉換

 gem: 對rubygem包進行轉換

 python: 將Python模組打包成相應的型別


2.安裝ruby環境和gem命令: 這裡我會提前把開發包裝好

fpm 是 ruby寫的,因此係統環境需要ruby,且版本必須大於1.8.5

yum -y install ruby rubygems ruby-devel

1
2
3
4
5
6
7
[root@遊戲測試 ~]# rpm -qa | grep ruby
ruby-1.8.7.374-4.el6_6.x86_64
ruby-rdoc-1.8.7.374-4.el6_6.x86_64
ruby-devel-1.8.7.374-4.el6_6.x86_64
ruby-libs-1.8.7.374-4.el6_6.x86_64
ruby-irb-1.8.7.374-4.el6_6.x86_64
rubygems-1.3.7-5.el6.noarch

3.檢視當前ruby源:

1
2
3
[root@遊戲測試 ~]#
*** CURRENT SOURCES ***
http://rubygems.org/

新增國內源:

1
[root@遊戲測試 ~]# gem sources -a http://mirrors.aliyun.com/rubygems/


移除國外源:

1
[root@遊戲測試 ~]#gem sources --remove http://rubygems.org/


4.安裝FPM工具:

1
[root@遊戲測試 ~]#gem install fpm


遇到的錯誤

1
2
3
4
5
[root@遊戲測試 ~]#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.


解決方法

1
2
3
4
5
6
7
8
9
10
11
1.更新ruby
這個方法我試過了。因為更新ruby的坑比較大。所以不建議用這個方法
2.安裝舊版本的fpm
[root@遊戲測試 ~]# gem install fpm -v 1.4.0
Successfully installed clamp-0.6.5
Successfully installed fpm-1.4.0
2 gems installed
Installing ri documentation for clamp-0.6.5...
Installing ri documentation for fpm-1.4.0...
Installing RDoc documentation for clamp-0.6.5...
Installing RDoc documentation for fpm-1.4.0...
1
2
[root@遊戲測試 ~]# gem -v
1.3.7


5.FPM常用引數:

1
2
3
4
5
6
7
8
9
10
11
12
-s:指定源型別
-t:指定目標型別,即想要製作為什麼包
-n:指定包的名字
-v:指定包的版本號
-C:指定打包的相對路徑
-d:指定依賴於哪些包
-f:第二次包時目錄下如果有同名安裝包存在,則覆蓋它
-p:輸出的安裝包的目錄,不想放在當前目錄下就需要指定
--post-install:軟體包安裝完成之後所要執行的指令碼;同--offer-install
--pre-install:軟體包安裝完成之前所要執行的指令碼;同--before-install
--post-uninstall:軟體包解除安裝完成之後所要執行的指令碼;同--offer-remove
--pre-uninstall:軟體包解除安裝完成之前所要執行的指令碼;同—before-remove




本文轉自 shouhou2581314 51CTO部落格,原文連結:http://blog.51cto.com/thedream/1834192,如需轉載請自行聯絡原作者


相關文章