fpm 制作rpm包


  • 使用fpm命令制作rpm包並安裝

工作中有如下情況需要將文件打包rpm:

  1. 避免重復工作,將源碼程序打包為rpm
  2. 使用yum發布項目,項目打包為rpm
  3. 將自己寫好的程序打包為rpm,提供給用戶下載
  4. 其他

以前打包rpm是一個非常復雜的一件事情,自從有了fpm,打包rpm就和tar打包文件一樣簡單

支持的源類型包:

  •  dir: 將目錄打包成所需要的類型,可以用於源碼編譯安裝的軟件包
  •  rpm: 對rpm進行轉換
  •  gem: 對rubygem包進行轉換
  •  python: 將Python模塊打包成相應的類型

支持的目標類型包:

    • rpm: 轉換為rpm包
    • deb: 轉換為deb包
    • solaris: 轉換為solaris包
    • puppet: 轉換為puppet包

FPM常用參數:

-s:指定源類型

-t:指定目標類型,即想要制作為什么包

-n:指定包的名字

-v:指定包的版本號

-C:指定打包的相對路徑

-d:指定依賴於哪些包

-f:第二次包時目錄下如果有同名安裝包存在,則覆蓋它;

-p:制作的rpm安裝包存放路徑,不想放在當前目錄下就需要指定;

--post-install:軟件包安裝完成之后所要運行的腳本;同--offer-install

--pre-install:軟件包安裝完成之前所要運行的腳本;同--before-install

--post-uninstall:軟件包卸載完成之后所要運行的腳本;同--offer-remove

--pre-uninstall:軟件包卸載完成之前所要運行的腳本;同—before-remove
--prefix:制作好的rpm包默認安裝路徑;

安裝FPM

# 安裝ruby

   yum -y install ruby rubygems ruby-devel
  # 添加淘寶Ruby倉庫
  gem sources -a http://ruby.taobao.org/
  # 移除原生的Ruby倉庫
  gem sources --remove http://rubygems.org/
  # 安裝fpm
  gem install fpm

准備打包資源

制作rpm包

查看rpm包信息並安裝

 

卸載rpm包

[root@vm172-31-16-2 open-falcon]# rpm -qa | grep falcon
falcon-agent-0.5.1.0-1.x86_64
[root@vm172-31-16-2 open-falcon]# rpm -e falcon-agent-0.5.1.0-1.x86_64

備注:如果制作的rpm包有多個目錄結構,次級目錄並不會被刪除,目前還沒找到更好的方法。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM