使用FPM打包工具打rpm包
使用FPM打包工具打rpm包
一:安装ruby环境和gem命令
fpm 是 ruby写的,因此系统环境需要ruby且版本必须大于1.8.5
# yum -y install ruby rubygems ruby-devel
查看当前ruby源
# gem source -l
添加国内源
# gem sources -a http://mirrors.aliyun.com/rubygems/
删除国外源
# gem sources --remove https://rubygems.org/
安装fpm 可能要失败
gem source -u #更新源或者 不行就 -c
# gem install fpm
我这里解决方法安装旧版本的fpm
# gem install fpm -v 1.4.
# gem -v

二:打包 以git-2.9.4.tar.gz打包为例子:
# tar xf git-2.9..tar.gz # cd git-2.9.
# make prefix=/tmp/installdir/Data/apps/git all
# make prefix=/tmp/installdir/Data/apps/git install
#!/bin/bash
/bin/cp -a /usr/bin/git /usr/bin/git.1.7. > /dev/null
/bin/rm -f /usr/bin/git
/bin/ln -s /Data/apps/git/bin/git /usr/bin/git
exit
#!/bin/bash
unlink /usr/bin/git
/bin/mv /usr/bin/git.1.7. /usr/bin/git > /dev/null
/bin/rm -rf /Data/apps/git
exit
fpm -s dir -t rpm -n hdf-git-client -v 2.9. -C /tmp/installdir/ --description 'git for haodf.com' --post-install /tmp/installtarget/install_after.sh --post-uninstall /tmp/installtarget/remove_after.sh -p /root/
-s:指定源类型:
dir: 将目录打包成所需要的类型,可以用于源码编译安装的软件包
rpm: 对rpm进行转换
gem: 对rubygem包进行转换
python: 将Python模块打包成相应的类型
-t:指定目标类型,即想要制作为什么包
-n:指定包的名字 -v:指定包的版本号
-C:指定打包的相对路径
-d:指定依赖于哪些包,格式为-d 'name'
-f:第二次包时目录下如果有同名安装包存在,则覆盖它
-p:输出的安装包的目录,不想放在当前目录下就需要指定
--post-install:软件包安装完成之后所要运行的脚本;同--offer-install
--pre-install:软件包安装完成之前所要运行的脚本; 同--before-install
--post-uninstall:软件包卸载完成之后所要运行的脚本;同--offer-remove
--pre-uninstall:软件包卸载完成之前所要运行的脚本; 同—before-remove
使用FPM打包工具打rpm包的更多相关文章
- FPM打包工具 可以把源码包制定为rpm包 是自动化部署的环节
注意部FPM时的环境一定要跟生产环境的系统版本最好是保持一至,我第一次测试没通过,(我在CENTOS7和部属FPM打好的包在Centos6.x和安装,结果失败) 1:安装 FPM打包工具的依赖包: [ ...
- centos6上使用fpm打python2.7 rpm包并兼容python2.6
centos6上使用fpm打python2.7 rpm包并兼容python2.6 作者 运维小兵_加油 关注 2016.09.22 00:28 字数 501 阅读 45评论 0喜欢 1 工作中我们常常 ...
- FPM打包工具
支持的源类型包: dir: 将目录打包成所需要的类型,可以用于源码编译安装的软件包 rpm: 对rpm进行转换 gem: 对rubygem包进行转换 python: 将Python模块打包成相应的类型 ...
- FPM打包工具使用
author:headsen chen date: 2019-01-19 14:57:09 个人原创博客,转自请注明出处和作者,否则追究法律责任 1,安装依赖和语言包 yum -y install ...
- centos6.5安装fpm打包工具
FPM功能简单说就是将一种类型的包转换成另一种类型.FPM的github:https://github.com/jordansissel/fpm 1.支持的源类型包: dir: 将目录打包成所需要的类 ...
- fpm 打包工具安装调试
https://github.com/jordansissel/fpm 官方git yum install ruby-devel gcc make rpm-build rubygems gem so ...
- 速成制作rpm包
FPM 由于很多软件在安装时需要编译,这会浪费不少的时间,为了提升部署效率,于是就想到制作rpm包.通常rpm包的制作是使用rpmbuild命令来制作,但是你需要知道它的语法,比较繁琐.这就用到了FP ...
- FPM定制RPM包实践
1.1 快速部署方案 ✔ 问题:当领导给你 100 台已经安装好系统的服务器,然后让优化,让你提出一个快速部署方案. 解答: 1.tar 打包 先编译安装 打包-->分发-->解包(比如 ...
- fpm制作rpm包
一.前言 在企业中我们有事安装软件包.部分都是源码安装,如nginx安装路径都已经固化了,但实际业务中,我们都是把软件包安装到固定目录下,不满足需要,这是其一.其二,编译安装很耗时,比如mysql,特 ...
随机推荐
- zabbix--3.0--3
使用JMX监控jvm vim /usr/local/tomcat/bin/catalina.sh 添加如下内容 CATALINA_OPTS="$CATALINA_OPTS -Dcom ...
- H5公共样式,用于所有H5开发页面
@charset "UTF-8"; /* H5公共样式,用于所有H5开发页面*/ html { font-family: "Microsoft Yahei", ...
- Redis支持的数据类型及相应操作命令:String(字符串),Hash(哈希),List(列表),Set(集合)及zset(sorted set:有序集合)
help 命令,3种形式: help 命令 形式 help @<group> 比如:help @generic.help @string.help @hash.help @list.hel ...
- openstack常见问题
openstack通过kolla-ansible添加一个计算节点,并部署后,发现控制节点上无法发现新加的计算节点, 在控制节点的 nova_scheduler.nova_api容器上执行发现计算节点 ...
- hadoop本地集群搭建
网络配置 1.永久性配置CentOS网络 vi /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 TYPE=Ethernet ONBOOT=y ...
- php格式化数字:位数不足前面加0补足
<?php $var=sprintf("%02d", 2);//生成2位数,不足前面补0 echo $var;//结果为02 ?> 參考:https://blog.cs ...
- 【转】python:让源码更安全之将py编译成so
python:让源码更安全之将py编译成so 应用场景 Python是一种面向对象的解释型计算机程序设计语言,具有丰富和强大的库,使用其开发产品快速高效. python的解释特性是将py编译为独有的二 ...
- RedHat7安装vmware虚拟机启动报错
提示错误如下: Kernel Headers for version 3.10.0-229.14.1.el7.x86_64 were not found.If you.... 安装kernel dev ...
- CENTOS 7 64BIT,MYSQL5.7安装与配置
配置MYSQL YUM源 wget -P ./ http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm ######## ...
- Linux命令之shutdown
shutdown命令安全地将系统关机. 有些用户会使用直接断掉电源的方式来关闭linux,这是十分危险的.因为linux与windows不同,其后台运行着许多进程,所以强制关机可能会导致进程的数据丢失 ...