fpm来制作rpm包
转自 http://blog.halfss.com/blog/2013/02/26/fpmbao-guan-li/
另查看 http://my.oschina.net/lxcong/blog/143855
fpm包管理
1简介
fpm:对包的类型进行转换,从一种类型转换到另一种类型
#包作者整理了PPT:
https://docs.google.com/presentation/d/11TOsLeg58w7GCt6i7y1VIQWnUYotsx0MzGMJ_dWUJNo/present#slide=id.i0
目前源类型支持:
dir:二进制包
rpm:redhat系列的包
gem:ruby的包 #fpm就是用ruby写的,也是gem中的一个包
python:python的模块
目标类型:
- rpm
- deb
- solaris
- puppet
2安装
2.1安装环境
fpm是ruby写的,系统环境需要rbuy
#ruby版本要大于1.8.5
在centos5上默认的源的ruby版本为1.8.5,
需添加一下源:
rpm -ivh http://yum.puppetlabs.com/el/5/products/x86_64/puppetlabs-release-5-6.noarch.rpm
该源中的ruby版本为1.8.7
$ gem sources --remove https://rubygems.org/
$ gem sources -a https://ruby.taobao.org/
$ gem sources -l
yum install -y ruby ruby-devel rubygems rpm-build
2.2安装fpm
gem install fpm
3使用
3.1常用语法
常用命令: fpm -s 源类型 -t 目标类型 [options] 常用的options: -n 生成的package名字 -p 生成的package文件输出位置 -v 生成的package版本 -d 生成的package依赖于什么软件,通常为-d 'name' 或这 -d 'name > version' -a 系统架构名称,如果是noarch则为'-a all' 或者 '-a native' --description 软件包描述 --conflicts 与其他什么软件冲突 详情:fpm -h
3.2示例
[root@localhost test]# tar -xf libiconv-1.13.1.tar.gz [root@localhost test]# cd libiconv-1.13.1 [root@localhost libiconv-1.13.1]# ./configure --prefix=/usr [root@localhost libiconv-1.13.1]# make [root@localhost libiconv-1.13.1]# mkdir /tmp/libiconv-1.13.1 [root@localhost libiconv-1.13.1]# make install DESTDIR=/tmp/libiconv-1.13.1 [root@localhost libiconv-1.13.1]# ls /tmp/libiconv-1.13.1/ usr [root@localhost rpm_test]# ls [root@localhost rpm_test]# fpm -s dir -t rpm -n libiconv -v 1.13.1 -C /tmp/libiconv-1.13.1 usr [root@localhost rpm_test]# ls libiconv-1.13.1-1.x86_64.rpm [root@localhost rpm_test]# rpm -qpl libiconv-1.13.1-1.x86_64.rpm /usr/bin/iconv /usr/include/iconv.h /usr/include/libcharset.h …….
参考:
http://waydee.blog.51cto.com/4677242/834002
http://blog.sina.com.cn/s/blog_704836f40101fscj.html
http://www.ducea.com/2011/08/31/build-your-own-packages-easily-with-fpm/
fpm来制作rpm包的更多相关文章
- fpm 制作rpm包
使用fpm命令制作rpm包并安装 工作中有如下情况需要将文件打包rpm: 避免重复工作,将源码程序打包为rpm 使用yum发布项目,项目打包为rpm 将自己写好的程序打包为rpm,提供给用户下载 其他 ...
- 制作RPM包
RPM包制作过程 1.1 前期工作 1)创建打包用的目录rpmbuild/{BUILD,SPECS,RPMS, SOURCES,SRPMS} 建议使用普通用户,在用户家目录中创建 2)确定好制作的对象 ...
- 利用fpm制作rpm包
使用fpm制作rpm包 安装如下 [root@web01 ~]# yum install -y gcc zlib zlib-devel wget http://ruby.taobao.org/mirr ...
- fpm定制化RPM包之nginx rpm包的制作
fpm定制化RPM包之nginx rpm包的制作 1.安装ruby模块 # yum -y install ruby rubygems ruby-devel 2.添加阿里云的Rubygems仓库,国外资 ...
- fpm制作rpm包
一.前言 在企业中我们有事安装软件包.部分都是源码安装,如nginx安装路径都已经固化了,但实际业务中,我们都是把软件包安装到固定目录下,不满足需要,这是其一.其二,编译安装很耗时,比如mysql,特 ...
- fpm工具来制作rpm包软件
第1章 rpm包的制作 1.1 fpm的概念介绍 FPM功能简单说就是将一种类型的包转换成另一种类型 1.1.1.支持的源类型 类型 说明 dir 将目录打包成所需要的类型,可以用于源码编译安装的 ...
- 速成制作rpm包
FPM 由于很多软件在安装时需要编译,这会浪费不少的时间,为了提升部署效率,于是就想到制作rpm包.通常rpm包的制作是使用rpmbuild命令来制作,但是你需要知道它的语法,比较繁琐.这就用到了FP ...
- linux制作RPM包
制作rpm包 1.制作流程1.1 前期工作 1)创建打包用的目录rpmbuild/{BUILD,SPECS,RPMS, SOURCES,SRPMS} 建议使用普通用户,在用户家目录中创建 2)确定好制 ...
- FPM简介(定制rpm包)
FPM简介 fpm是生成rpm包的工具.rpm包的制作,采用fpm工具完成,FPM非常易用,此命令可以把rpm包的安装.卸载做得更加优雅,在安装前可以做一些准备工作,安装后可以做一些收尾工作,在卸载前 ...
随机推荐
- 超级有用的9个PHP代码片段
在开发网站.app或博客时,代码片段可以真正地为你节省时间.今天,我们就来分享一下我收集的一些超级有用的PHP代码片段.一起来看一看吧! 1.创建数据URI 数据URI在嵌入图像到HTML / CSS ...
- PIVOT 用于将列值旋转为列名
PIVOT 用于将列值旋转为列名(即行转列),在 SQL Server 2000可以用聚合函数配合CASE语句实现 PIVOT 的一般语法是:PIVOT(聚合函数(列) FOR 列 in (…) )A ...
- android ListView详解继承ListActivity
[转]http://www.cnblogs.com/allin/archive/2010/05/11/1732200.html 在android开发中ListView是比较常用的组件,它以列表的形式展 ...
- OpenStack,ceph
· Hypervisor或Container项目 · 基础设施即服务(IaaS) · 平台即服务 (PaaS) · 配置管理工具 · 储存服务 (Storage) 在虚拟层类别中,KVM收获了48%的 ...
- JavaScript判断字符串的字符长度(中文占两个字符)
判断方法 //判断字符串中的字符 中文算两个字符 function chkstrlen(str) { ; ; i < str.length; i++) { ) //如果是汉字,则字符串长度加2 ...
- c signal
信号是Linux编程中非常重要的部分,本文将详细介绍信号机制的基本概念.Linux对信号机制的大致实现方法.如何使用信号,以及有关信号的几个系统调用. 信号机制是进程之间相互传递消息的一种方法,信号全 ...
- 判断webkit中的js引擎是否是v8
<html><head></head><body><script type="text/javascript"> if ...
- 用Js的eval解析JSON中的注意点
在JS中将JSON的字符串解析成JSON数据格式,一般有两种方式: 1.一种为使用eval()函数. 2. 使用Function对象来进行返回解析. 使用eval函数来解析,并且使用jquery的ea ...
- [Stanford 2011] Ordinary Calculator(By myself)
说明: 前面的RPN计算器是按照stanford课程做的,是后缀表达式的计算.现在这个计算器是自己做的.这个是一般的计算器,即中缀表达式的计算,而且把计算过程也显示在屏幕上, 设计方法: 在Model ...
- [LeetCode]题解(python):100 Same Tree
题目来源 https://leetcode.com/problems/same-tree/ Given two binary trees, write a function to check if t ...