簡介
fpm:對包的類型進行轉換,從一種類型轉換到另一種類型
1安裝環境
fpm是ruby寫的,系統環境需要rbuy
<code>yum </code><code>install</code> <code>-y ruby ruby-devel rubygems rpm-build</code>
2 安裝fpm
<code>gem </code><code>install</code> <code>fpm</code>
3.常用文法
常用指令:
-a 系統架構名稱,如果是noarch則為'-a all' 或者 '-a native'
-s:指定源類型
-t:指定目标類型,即想要制作為什麼包
-n:指定包的名字
-v:指定包的版本号
-C:指定打包的相對路徑
-d:指定依賴于哪些包
-f:第二次包時目錄下如果有同名安裝包存在,則覆寫它;
-p:制作的rpm安裝包存放路徑,不想放在目前目錄下就需要指定;
--description 軟體包描述
--conflicts 與其他什麼軟體沖突
--post-install:軟體包安裝完成之後所要運作的腳本;同--offer-install
--pre-install:軟體包安裝完成之前所要運作的腳本;同--before-install
--post-uninstall:軟體包解除安裝完成之後所要運作的腳本;同--offer-remove
--pre-uninstall:軟體包解除安裝完成之前所要運作的腳本;同—before-remove
--prefix:制作好的rpm包預設安裝路徑;
詳情:fpm -h
4支援的目标類型包:
rpm: 轉換為rpm包
deb: 轉換為deb包
solaris: 轉換為solaris包
puppet: 轉換為puppet包
5示例
<code>[root@localhost </code><code>test</code><code>]</code><code># tar -xf tengine-2.1.2.tar.gz</code>
<code>[root@localhost </code><code>test</code><code>]</code><code># cd tengine-2.1.2</code>
<code>[root@elkserver tengine-2.1.2]</code><code># ./configure --prefix=/tmp/nginx </code>
<code>[root@elkserver tengine-2.1.2]</code><code># make</code>
<code>[root@elkserver tengine-2.1.2]</code><code># mkdir /root/install/nginx </code>
<code>[root@elkserver tengine-2.1.2]</code><code>#make install DESTDIR=/root/install/nginx</code>
<code>[root@elkserver tengine-2.1.2]</code><code># ls /root/install/nginx/</code>
<code>tmp</code>
<code>[root@localhost </code><code>test</code><code>]</code><code># fpm -s dir -t rpm -n tengine -v 2.1.2 -p /root/ --description "build rpm package " -C /root/install/nginx/tmp/ --prefix /opt/app/</code>
<code>[root@elkserver ~]</code><code># rpm -qpl tengine-2.1.2-1.x86_64.rpm </code>
<code>/opt/app/nginx/conf/browsers</code>
<code>/opt/app/nginx/conf/fastcgi</code><code>.conf</code>
<code>/opt/app/nginx/conf/fastcgi</code><code>.conf.default</code>
<code>/opt/app/nginx/conf/fastcgi_params</code>
<code>/opt/app/nginx/conf/fastcgi_params</code><code>.default</code>
<code>/opt/app/nginx/conf/koi-utf</code>
<code>/opt/app/nginx/conf/koi-win</code>
<code>/opt/app/nginx/conf/mime</code><code>.types</code>
<code>.</code>
6,安裝
<code>[root@elkserver ~]</code><code># rpm -ivh tengine-2.1.2-1.x86_64.rpm </code>
<code>Preparing... </code><code>################################# [100%]</code>
<code>Updating / installing...</code>
<code> </code><code>1:tengine-2.1.2-1 </code><code>################################# [100%]</code>
<code>[root@elkserver ~]</code><code># ls /opt/app/</code>
<code>nginx</code>
<code>[root@elkserver ~]</code><code># ls /opt/app/nginx/</code>
<code>conf html include logs modules sbin</code>
<code></code>
本文轉自crazy_charles 51CTO部落格,原文連結http://blog.51cto.com/douya/1878549:,如需轉載請自行聯系原作者