FPM取巧
構建像含有spec文件的RPM這樣的操作系統包是非常有用的知識。不過,有些時候并不需要像真正的spec文件那么嚴格。畢竟sepc文件優化的是你的場景而非代碼庫創始者的場景。
有一個基于Ruby的名為FPM的工具可以直接從命令行生成適合構建的源代碼RPM包。
以在GitHub上獲得這個工具:https://github.com/jordansissel/fpm。
在Fedora上可以這樣安裝FPM:
Yum install rubygems
Yum install ruby
Yum install ruby-devel gcc
Gem install fpm
這樣就可以安裝一個包裝了FPM Ruby程序的shell腳本。
FPM有意思的一個地方是它可以生成不同類型的包,其中就有RPM和Debian所支持的類型。
這里有一個制作“Hello world”的shell腳本的簡單例子:
我們想要把shell腳本安裝在/usr/local/bin里,所以在主目錄下創建一個如下結構的目錄:
$HOME/hello/usr/local/bin/hello.sh
設置腳本可執行,然后打包:
這樣的結果是一個名為hello-world、版本為1的RPM包。
為了測試這個包,我們首先列出內容,然后安裝:
這個shell腳本現在應該被順利安裝到/usr/local/bin里了。
FPM是創建RPM、Debian還有其他種類包的一個非常便利的方法。有點投機取巧的感覺!