首頁 >運維 >linux運維 >fpm使用打包工具

fpm使用打包工具

大家讲道理
大家讲道理原創
2017-07-15 11:42:103080瀏覽
FPM工具
  
支援的來源類型套件
  dir 將目錄打包成所需的型別。可用於原始碼編譯安裝後的軟體包
  rpm 對rpm進行轉換
  gen 將rubygem套件轉換
  python 將python模組打包成對應的類型
  python 將python模組打包成對應的類型
  python 將python模組打包成對應的類型
  python 將python模組打包成對應的類型
支援的目標類型套件
  rpm 轉換成rpm套件
  deb 轉換成deb套件
  solaris 轉換成solaris套件
##upp  puppet 轉換成puppet套件 
##FPM安裝過程
 安裝ruby支援模組
  yum install ruby​​ ruby​​gems ruby​​-devel -y
添加阿里雲的rubygems倉庫,國外的源比較慢
  gem sources - a
移除來源生的ruby倉庫
  gem sources --remove
安裝fpm
#  gem install fpm -v 1.4.0
 
##錯誤:
ERROR:  Error installing fpm:
       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.建議打包實際路徑,打包軟連結時後面一定要有/ ,不加/ 指的是軟連結文件,加上/ 指目錄
 

#########

以上是fpm使用打包工具的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn