FPM功能簡單說就是將一種類型的包轉換成另一種類型。FPM的github:https://github.com/jordansissel/fpm 1.支持的源類型包: dir: 將目錄打包成所需要的類型,可以用於源碼編譯安裝的軟體包 rpm: 對rpm進行轉換 gem: 對rubygem包進行轉換 ...
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源:
[root@游戲測試 ~]# *** CURRENT SOURCES *** http://rubygems.org/ 添加國內源: [root@游戲測試 ~]# gem sources -a http://mirrors.aliyun.com/rubygems/ 移除國外源: [root@游戲測試 ~]#gem sources --remove http://rubygems.org/
4.安裝FPM工具:
[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.
解決方法
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... [root@游戲測試 ~]# gem -v 1.3.7
5.FPM常用參數:
-s:指定源類型 -t:指定目標類型,即想要製作為什麼包 -n:指定包的名字 -v:指定包的版本號 -C:指定打包的相對路徑 -d:指定依賴於哪些包 -f:第二次包時目錄下如果有同名安裝包存在,則覆蓋它 -p:輸出的安裝包的目錄,不想放在當前目錄下就需要指定 --post-install:軟體包安裝完成之後所要運行的腳本;同--offer-install --pre-install:軟體包安裝完成之前所要運行的腳本;同--before-install --post-uninstall:軟體包卸載完成之後所要運行的腳本;同--offer-remove --pre-uninstall:軟體包卸載完成之前所要運行的腳本;同—before-remove