fpm 制作rpm包

简介:

简介


fpm:对包的类型进行转换,从一种类型转换到另一种类型


1安装环境


fpm是ruby写的,系统环境需要rbuy

 

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


2 安装fpm

1
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示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
[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,安装

1
2
3
4
5
6
7
8
[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_charles 51CTO博客,原文链接http://blog.51cto.com/douya/1878549:,如需转载请自行联系原作者



相关文章
|
安全 Linux 网络安全
openssh8.2制作rpm包
虚机openssh升级打补丁
openssh8.2制作rpm包
|
C语言
手动制作rpm包
制作RPM包的过程,简单的说,就是为制作过程提供一个“工作车间”,即一个目录,里面需要包含以下几个子目录:           BUILD        ————编译相关源码包时的工作目录;           RPMS         ————生成的二进制格式的RPM包存放的位置;     ...
1442 0
|
应用服务中间件 Linux Shell
Linux FPM制作RMP包
一.FPM的介绍: 1.FPM项目地址:("https://github.com/jordansissel/fpm") 2.FPM是一个打包工具[ruby的一个模块] 二.
1147 0
|
应用服务中间件 nginx
|
JSON 应用服务中间件 nginx
|
应用服务中间件 nginx BI
|
应用服务中间件 Linux nginx
|
应用服务中间件 C语言