简介
fpm:对包的类型进行转换,从一种类型转换到另一种类型
1安装环境
fpm是ruby写的,系统环境需要rbuy
yum install -y ruby ruby-devel rubygems rpm-bu
ild
2 安装fpm
gem install fpm
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示例
[root@localhost test]# tar -xf tengine-2.1.2.tar.gz [root@localhost test]# cd tengine-2.1.2 [root@elkserver tengine-2.1.2]# ./configure --prefix=/tmp/nginx [root@elkserver tengine-2.1.2]# make [root@elkserver tengine-2.1.2]# mkdir /root/install/nginx [root@elkserver tengine-2.1.2]#make install DESTDIR=/root/install/nginx [root@elkserver tengine-2.1.2]# ls /root/install/nginx/ tmp [root@localhost test]# 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/ [root@elkserver ~]# rpm -qpl tengine-2.1.2-1.x86_64.rpm /opt/app/nginx/conf/browsers /opt/app/nginx/conf/fastcgi.conf /opt/app/nginx/conf/fastcgi.conf.default /opt/app/nginx/conf/fastcgi_params /opt/app/nginx/conf/fastcgi_params.default /opt/app/nginx/conf/koi-utf /opt/app/nginx/conf/koi-win /opt/app/nginx/conf/mime.types . . . .
6,安装
[root@elkserver ~]# rpm -ivh tengine-2.1.2-1.x86_64.rpm Preparing... ################################# [100%] Updating / installing... 1:tengine-2.1.2-1 ################################# [100%] [root@elkserver ~]# ls /opt/app/ nginx [root@elkserver ~]# ls /opt/app/nginx/ conf html include logs modules sbin
本文出自 “crazy_sir” 博客,请务必保留此出处http://douya.blog.51cto.com/6173221/1878549
原文地址:http://douya.blog.51cto.com/6173221/1878549