無意中看到一張架構圖,遷出代碼使用本地FPM打包,看不懂FPM是什麼進階玩意,于是有了下文。
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiI9s2RkBnVHFmb1clWvB3MaVnRtp1XlBXe0xCM581dvRWYoNHLwEzX5xCMx8FesU2cfdGLwATMfRHLGZkRGZkRfJ3bs92YskmNhVTYykVNQJVMRhXVEF1X0hXZ0xiNx8VZ6l2cssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZuBnL0czN4QTNjBTO1ATNwEGZzMzNiZjZzcTZjV2NzYWZ4Y2LcBTMvwVMwgTMwIzLcd2bsJ2LcNXZnFWbp9CXt92Yu8GdjFTNuITavw1LcpDc0RHaiojIsJye.png)
簡單的說FPM就是将一種類型的包轉換到另外一種的類型。比如我們常說的将編譯安裝的包轉換到rpm包。
進一步的官方說明可參考:
<a href="https://docs.google.com/present/view?id=0Aa9liCTsAyzRZGNtd3dkOTRfMTdmczY2azlkcg&hl=en">https://docs.google.com/present/view?id=0Aa9liCTsAyzRZGNtd3dkOTRfMTdmczY2azlkcg&hl=en</a>
支援的源類型包有:rpm、npm、rubygem、ded、python、dir
支援的輸出類型有:rpm、ded、solaris、puppet
本例隻要介紹常用的rpm包制作方法,至于其它的功能可自行探索。
-s :指定源類型
-t :指定目标類型,即想要制作為什麼包
-n :指定包的名字
-v :指定包的版本号
-C :指定打包的相對路徑,即build directory
原文解釋為:Change directory to here before searching for files
-d --depends :指定依賴于哪些包
--post-install :軟體包安裝完成之後所要運作的腳本;和”--after-install” 意思一樣
--pre-install :軟體包安裝完成之前所要運作的腳本;和”--before-install” 意思一樣
--post-uninstall :軟體包解除安裝完成之後所要運作的腳本;和”--after-remove”意思一樣
--pre-uninstall:軟體包解除安裝完成之前所要運作的腳本;和”--before-remove”意思一樣
注意:website-1.0.3-1.x86_64.rpm生成的包名要每次不一樣才能進行rpm -Uvh 更新,不懂的,需要rpm基礎
第二台伺服器上,看看rpm包安裝的位置