天天看點

fpm 制作rpm包

簡介

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:,如需轉載請自行聯系原作者

繼續閱讀