工作中有如下情況需要將檔案打包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 支援的輸...