FPM工具 支持的源類型包 dir 將目錄打包成所需要的類型。可以用於源碼編譯安裝後的軟體包 rpm 對rpm進行轉換 gen 對rubygem包進行轉換 python 將python模塊打包成相應的類型 支持的目標類型包 rpm 轉換成rpm包 deb 轉換成deb包 solaris 轉換成sol ...
FPM工具 支持的源類型包 dir 將目錄打包成所需要的類型。可以用於源碼編譯安裝後的軟體包 rpm 對rpm進行轉換 gen 對rubygem包進行轉換 python 將python模塊打包成相應的類型 支持的目標類型包 rpm 轉換成rpm包 deb 轉換成deb包 solaris 轉換成solaris包 puppet 轉換成puppet包 FPM安裝過程 安裝ruby支持模塊 yum install ruby rubygems ruby-devel -y 添加阿裡雲的rubygems倉庫,國外的源比較慢 gem sources -a http://mirrors.aliyun.com/rubygems/ 移除源生的ruby倉庫 gem sources --remove http://rubygems.org/ 安裝fpm gem install fpm -v 1.4.0 錯誤: ERROR: Error installing fpm:
json requires Ruby version >= 1.9.3. 類似這種錯誤,很多網友推薦升級ruby,我也嘗試過,表示坑很多,並不推薦 實際上並不是fpm或者ruby的問題,而是因為系統內json預設版本過高,導致ruby 1.8.7無法支持,需要降低json版本 gem install json -v 1.8.3 安裝完json後再安裝fpm即可 另外,centos7.x中預設ruby版本就高,沒有此問題 fpm命令 常用參數: -s 指定source類型,如dir -t 制定目標類型,如rpm -n 指定包名字 -v 指定包的版本號 -C 指定打包的相對路徑 -d 指定依賴於哪些包 -f 第二次打包時目錄下如果有同名包,覆蓋 -p 輸出安裝包的目錄,不指定則為當前目錄 --post-install 軟體包安裝完成之後所要執行的腳本 同::--after-install --pre-install 軟體包安裝完成之前縮要執行的腳本 同: --before-install --post-uninstall 軟體包卸載完成之後所要執行的腳本 同::--after-remove --pre-uninstall 軟體包卸載完成之前縮要執行的腳本 同: --before-remove fpm命令其實是對rpmbuild命令進行封裝,其實低層還是rpmbuild命令,因此系統必須要有rpmbuild命令。 如果fpm命令無法運行,可以檢查rpm-build是否安裝 yum install rpm-build -y 打包命令示例: fpm -s dir -t rpm -n nginx -v 1.6.3 -d 'pcre-devel,openssl-devel' --post-install /home/root/scripts/nginx.sh /usr/local/nginx-1.6.3/ /usr/local/nginx-1.6.3/ 為nginx的安裝目錄 /home/root/scripts/nginx.sh 為nginx安裝後要執行的腳本,如創建用戶、創建軟鏈接等 註意事項: 1.打包路徑,推薦使用絕對路徑 2.推薦打包實際路徑,打包軟鏈接時後面一定要有 / ,不加 / 指的是軟鏈接文件,加 / 指目錄