使用fpm製做rpm包

1、FPM工具安裝:
系統:centos7.3
Fpm工具依賴ruby模塊,首先安裝相關ruby依賴包,還須要安裝rpm-buildpython

yum -y install ruby rubygems ruby-devel rpm-build

而後添加阿里的ruby倉庫linux

gem sources -a https://gems.ruby-china.org/

移除ruby的原生倉庫apache

gem sources --remove https://rubygems.org/

查看ruby的倉庫列表,以下所示則表示成功centos

gem sources

CURRENT SOURCES tomcat

https://gems.ruby-china.org/
最後安裝fpm,安裝可能須要等待一段時間ruby

gem install fpm

安裝成功後,能夠使用fpm --help來查看fpm命令的使用幫助說明bash

fpm --help

2、fpm經常使用命令參數說明
-C #指定fpm去哪一個目錄查找打包的文件
-s #指定源的類型,如dir
-t #指定目標類型,如rpm包,或者deb包等
-n #指定包的名字
-v #指定包的版本號
-d #指定依賴包
-f #第二次製做rpm包若是存在同名,則覆蓋
-p #輸出rpm包的目錄
--prefix #指定安裝路徑
--after-install #包安裝後要運行的腳本
--before-install #包安裝前要運行的腳本
--after-remove #包卸載後要運行的腳本
--before-remove #包卸載前要運行的腳本ide

3、使用fpm製做tomcat包(簡單示例)
咱們先下載好最新的tomcat二進制包,解壓,路徑爲:
/mnt/zxt/usr/local/tomcat-8.5.28
進入/mnt/zxt/目錄,執行fpm命令工具

fpm -f -s dir -t rpm -n tomcat-8.5.28 -p /tmp/ --license 'BSD' -m 'zxt' --no-rpm-sign --verbose -v 0.2.2 --iteration 2.el6 -C /mnt/zxt/ --after-remove 'after_remove.sh'

而後咱們到到/tmp目錄下查看生成的rpm包
-rw-r--r-- 1 root root 9593026 Mar 5 15:53 tomcat-8.5.28-0.2.2-2.el6.x86_64.rpm
安裝這個tomcat包檢查下
#yum -y install tomcat-8.5.28-0.2.2-2.el6.x86_64.rpm
安裝完成後咱們看下/usr/local/目錄下面有沒有tomcat-8.5.28目錄ui

ls /usr/local/

aegis apr cloudmonitor include lib64 python3.bak src
apache apr-util etc jdk-8u131-linux-x64.gz libexec sbin tomcat-8.5.28
表示已經成功安裝,再卸載此包確認下tomcat-8.5.28目錄會不會被刪除

yum -y remove tomcat-8.5.28

發現tomcat-8.5.28目錄已經被刪除。after_remove.sh腳本以下:#!/bin/bashif ps -ef|grep tomcat-8.5.28 &>/dev/null;thenpid=$(ps -ef|grep tomcat-8.5.28|grep -v grep|awk {'print $2'})kill -9 $pidfirm -rf /usr/local/tomcat-8.5.28

相關文章
相關標籤/搜索