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
[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源:
12345678[root@游戲測試 ~]
#
*** CURRENT SOURCES ***
http:
//rubygems
.org/
添加國內源:
[root@游戲測試 ~]
# gem sources -a http://mirrors.aliyun.com/rubygems/
移除國外源:
[root@游戲測試 ~]
#gem sources --remove http://rubygems.org/
4.安裝FPM工具:
12345678[root@游戲測試 ~]
#gem install fpm
遇到的錯誤
[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.
解決方法
123456789101112131.更新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...
[root@游戲測試 ~]
# gem -v
1.3.7
5.FPM常用參數:
123456789101112-s:指定源類型
-t:指定目標類型,即想要制作為什麼包
-n:指定包的名字
-
v
:指定包的版本號
-C:指定打包的相對路徑
-d:指定依賴於哪些包
-f:第二次包時目錄下如果有同名安裝包存在,則覆蓋它
-p:輸出的安裝包的目錄,不想放在當前目錄下就需要指定
--post-
install
:軟件包安裝完成之後所要運行的腳本;同--offer-
install
--pre-
install
:軟件包安裝完成之前所要運行的腳本;同--before-
install
--post-uninstall:軟件包卸載完成之後所要運行的腳本;同--offer-remove
--pre-uninstall:軟件包卸載完成之前所要運行的腳本;同—before-remove
http://xxxxxx/Linuxjc/1156079.html TechArticle