使用fpm命令製作rpm包並安裝

2021-08-04 11:47:13 字數 1223 閱讀 8557

工作中有如下情況需要將檔案打包rpm:

避免重複工作,將原始碼程式打包為rpm

使用yum發布專案,專案打包為rpm其他

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

-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包預設安裝路徑;

# 安裝ruby

yum -y install ruby rubygems ruby-devel

# 新增**ruby倉庫

gem sources -a

# 移除原生的ruby倉庫

gem sources --remove

# 安裝fpm

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

利用fpm製作rpm包

使用fpm製作rpm包 安裝如下 製作rpm包,需要提前編譯好原始碼,這裡是將整個目錄打包成rpm包的 幫助資訊 n 生成的package名字 p 生成的package檔案輸出位置 v 生成的package版本 d,depends 生成的package依賴於什麼軟體,通常為 d name 或這 d ...

基於FPM製作RPM包

1 搭建epel yum源 root localhost rpm ivh epel release latest 7.noarch.rpm 安裝擴充套件源 root localhost yum.repos.d ls a epel release latest 7.noarch.rpm epel te...

使用FPM封裝RPM包

無意中看到一張架構圖,遷出 使用本地fpm打包,看不懂fpm是什麼高階玩意,於是有了下文。簡單的說fpm就是將一種型別的包轉換到另外一種的型別。比如我們常說的將編譯安裝的包轉換到rpm包。進一步的官方說明可參考 支援的源型別包有 rpm npm rubygem ded python dir 支援的輸...