FPM的安裝:fpm是由ruby gem倉庫裏面安裝的因此要先裝ruby。yum安裝的ruby版本是1.8.7版本,使用gem命令會報錯: >= 1.9.3,因此要安裝一個比1.9.3版本高的nginx
1.官網下載https://cache.ruby-lang.org/pub/ruby/2.4/ruby-2.4.1.tar.gzmongodb
tar zxf ruby-2.4.1.tar.gz 緩存
./configure --prefix=/usr/local/ruby && make && make install ruby
ruby --version 工具
若是命令不生效在環境變量裏面添加:PATH=$PATH:/usr/local/ruby/binpost
2.gem命令是從rubygem倉庫安裝軟件相似yum從yum倉庫安裝軟件spa
查看當前源:blog
添加國內源:ssl
gem sources -a http://mirrors.aliyun.com/rubygems/rem
移除國外源:
gem sources --remove https://rubygems.org/
安裝FPM工具:
gem install fpm
sed -i 's#keepcache=0#keepcache=1#g' /etc/yum.conf //開啓yum緩存
3.fpm打包實例
fpm -s dir -t rpm -n mongodb -v 3.0.6 --post-install /usr/local/mongodb/mongodb.sh -f /usr/local/mongodb/
Created package {:path=>"mongodb-3.0.6-1.x86_64.rpm"}
FPM經常使用參數:
-s:指定源類型
-t:指定目標類型,即想要製做爲何包
-n:指定包的名字
-v:指定包的版本號
-C:指定打包的相對路徑
-d:指定依賴於哪些包
-f:第二次包時目錄下若是有同名安裝包存在,則覆蓋它
-p:輸出的安裝包的目錄,不想放在當前目錄下就須要指定
--post-install:軟件包安裝完成以後所要運行的腳本;同--offer-install
--pre-install:軟件包安裝完成以前所要運行的腳本;同--before-install
--post-uninstall:軟件包卸載完成以後所要運行的腳本;同--offer-remove
--pre-uninstall:軟件包卸載完成以前所要運行的腳本;同—before-remove
若是出現這種狀況:--post-install:不要放在最後。
4.查看rpm安裝信息
查看查看rpm包中的內容:
查看rpm執行的腳本:建立一些前提條件,複製啓動腳本、、、
查看rpm包的依賴:好比nginx要'pcre-devel,openssl-devel'支持,就會顯示出來,在打包的時候要加上 -d 'pcre-devel,openssl-devel'
而後就能夠發到客戶端rpm -ivh 是否是很方便吶(*^__^*) ……