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