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#slid…
使用fpm命令制作rpm包并安装 工作中有如下情况需要将文件打包rpm: 避免重复工作,将源码程序打包为rpm 使用yum发布项目,项目打包为rpm 将自己写好的程序打包为rpm,提供给用户下载 其他 以前打包rpm是一个非常复杂的一件事情,自从有了fpm,打包rpm就和tar打包文件一样简单 支持的源类型包: dir: 将目录打包成所需要的类型,可以用于源码编译安装的软件包 rpm: 对rpm进行转换 gem: 对rubygem包进行转换 python: 将Python模块打包成相应的类型 支…
RPM包制作过程 1.1 前期工作 1)创建打包用的目录rpmbuild/{BUILD,SPECS,RPMS, SOURCES,SRPMS} 建议使用普通用户,在用户家目录中创建 2)确定好制作的对象,是源码包编译打包还只是一些库文件打包 3)编写SPEC文件 4)开始制作 1.2 RPM制作过程 1)读取并解析 filename.spec 文件 2)运行 %prep 部分来将源代码解包到一个临时目录,并应用所有的补丁程序. 3)运行 %build 部分来编译代码. 4)运行 %install…
使用fpm制作rpm包 安装如下 [root@web01 ~]# yum install -y gcc zlib zlib-devel wget http://ruby.taobao.org/mirrors/ruby/ruby-1.8.7-p358.tar.gz wget http://files.rubyforge.vm.bytemark.co.uk/rubygems/rubygems-1.8.24.tgz wget http://dl.fedoraproject.org/pub/epel/6…
fpm定制化RPM包之nginx rpm包的制作 1.安装ruby模块 # yum -y install ruby rubygems ruby-devel 2.添加阿里云的Rubygems仓库,国外资源会影响下载速度 gem sources -a http://mirrors.aliyun.com/rubygems/ http://mirrors.aliyun.com/rubygems/ added to sources 移除原生的ruby仓库 gem sources --remove http…
一.前言 在企业中我们有事安装软件包.部分都是源码安装,如nginx安装路径都已经固化了,但实际业务中,我们都是把软件包安装到固定目录下,不满足需要,这是其一.其二,编译安装很耗时,比如mysql,特别是一些公司推行自动化,编译安装也不方便,容易出错.这是rpm包就很有用,废话少说,开始制作rpm包之旅吧. 二.rpm制作工具-fpm FPM功能简单说就是将一种类型的包转换成另一种类型.对!就是简单易懂,不废话. 三.fpm软件的参数介绍 1.支持的源类型包 dir 将目录打包成所需要的类型,可…
第1章 rpm包的制作 1.1 fpm的概念介绍 FPM功能简单说就是将一种类型的包转换成另一种类型 1.1.1.支持的源类型 类型 说明 dir   将目录打包成所需要的类型,可以用于源码编译安装的软件包 rpm   对rpm进行转换 gem   对rubygem包进行转换 python 将python模块打包成相应的类型 1.1.2 支持的目标类型包 类型 说明 rpm    转换为rpm包 deb    转换为deb包 solaris 转换为solaris包 puppet 转换为puppe…
FPM 由于很多软件在安装时需要编译,这会浪费不少的时间,为了提升部署效率,于是就想到制作rpm包.通常rpm包的制作是使用rpmbuild命令来制作,但是你需要知道它的语法,比较繁琐.这就用到了FPM.FPM功能简单说就是将一种类型的包转换成另一种类型.FPM是Ruby模块,其实打包时也是调用rpmbuild命令. 支持的源类型包: dir 将目录打包成所需要的类型,可以用于源码编译安装的软件包 rpm 对rpm进行转换 gem 对rubygem包进行转换 python 将python模块打包…
制作rpm包 1.制作流程1.1 前期工作 1)创建打包用的目录rpmbuild/{BUILD,SPECS,RPMS, SOURCES,SRPMS} 建议使用普通用户,在用户家目录中创建 2)确定好制作的对象,是源码包编译打包还只是一些库文件打包 3)编写SPEC文件 4)开始制作 1.2 RPM制作过程 1)读取并解析 filename.spec 文件 2)运行 %prep 部分来将源代码解包到一个临时目录,并应用所有的补丁程序. 3)运行 %build 部分来编译代码. 4)运行 %inst…
FPM简介 fpm是生成rpm包的工具.rpm包的制作,采用fpm工具完成,FPM非常易用,此命令可以把rpm包的安装.卸载做得更加优雅,在安装前可以做一些准备工作,安装后可以做一些收尾工作,在卸载前也可以做一些准备,比如检测一下相应的服务是否停止了,在卸载软件再做一些扫尾的工作,只要把这些定义成一个个脚本,fpm中指定相应的选项即可轻松实现.FPM的github: https://github.com/jordansissel/fpm FPM安装 gem sources –a http://m…
由于项目需要,需要自行制作rpm包.比较全面的可以参考如下链接: http://blog.chinaunix.net/uid-23069658-id-3944462.html 大致框架如下: 1,安装rpmdevtools sudo yum install rpmdevtools​ 2,生成rpm制作过程中需要的几个目录,了解一下几个目录的含义,如源码位置,rpm包位置 rpmdev-setuptree​ 3,主要的工作是spec文件的编写,如下命令生成spec文件的模板,可以百度一下各个参数的…
本文由秀依林枫提供友情赞助,首发于烂泥行天下 公司服务器比较多,需要把apache源码包制作成rpm包,然后放到公司内网yum源上进行下载安装.apache的rpm包安装方式比源码安装方式比较快,这能节约不少的时间. 有关内网yum源的搭建,可以参考<烂泥:yum的使用及配置>这篇文章. 一.安装rpm-build 查阅相关资料得知,要把源码包制作成rpm包需要使用rpm打包工具rpm-build. rpm-build通过rpmbuild命令根据本地源码包,通过spec文件中的规则就可以把源码…
制作RPM包的过程,简单的说,就是为制作过程提供一个“工作车间”,即一个目录,里面需要包含以下几个子目录: BUILD        ————编译相关源码包时的工作目录: RPMS         ————生成的二进制格式的RPM包存放的位置: SOURCES ————程序的源码文件及其其他辅助文件的存放位置: SPCES        ————spec文件的存放位置: SRPMS      ————生成的SRC格式的RPM包存放位置: 如果用户目录主目录下没有类似目录结构,可以通过一个工具软件…
一步步制作RPM包 来源 http://blog.51cto.com/laoguang/1103628 一.RPM制作步骤 我们在企业中有的软件基本都是编译的,我们每次安装都得编译,那怎么办呢?那就根据我们的需求制作RPM安装包吧.先来说说基本布骤: 1.Planning what you want             计划做什么rpm包.软件的?库的? 2.Gathering the software to package  收集原材料,即收集源码包 3.Patch the softwar…
支持的 源类型包 ① dir : 将目录打包成所需要的类型, 可用于源码编译安装软件包 ② rpm : 对 rpm 包进行转换 ③ gem : 对 rubygem 包进行转换 ④ python : 将 python 模块打包成响应的类型 支持的 目标类型包 ① rpm : 转换为 rpm 包 ② deb : 转换为 deb 包 ③ solaris : 转换为 solaris 包 ④ puppet : 转换为 puppet 模块 FPM 安装 及 使用帮助 : FPM 基于 ruby , 需要首先…
1.搭建Epel  Yum源  安装在线yum源 [root@localhost ~]# rpm -ivh epel-release-latest-.noarch.rpm //安装扩展源 [root@localhost yum.repos.d]# ls a epel-release-latest-.noarch.rpm epel-testing.repo Centos-.repo epel.repo 或 [root@localhost ~]# ls /etc/yum.repos.d/ backu…
中小型规模网站集群架构:yum仓库搭建 : 矮哥linux运维群:93324526 编译的三条命令的规则 ./configure 就是在本地创建了一个Makefile文件 (也就是指定一下各种配置参数) make 就是在执行Makefile这个文件里的内容.生成文件在源码包 make install 把make生成的文件 移动到指定的目录下面 没指定就默认/usr/local rpm制作与yum仓库搭建,点此处 超链已经有了nginx的搭建 LNMP的搭建 1.Nginx-1.10.2搭建 #1…
fpm打包神器参考文档:https://www.cnblogs.com/flintlovesam/p/6594635.html FPM的安装:安装ruby环境和gem命令: yum -y install ruby rubygems ruby-devel 查看当前源: [root@localhost~]# gem source list *** CURRENT SOURCES *** https://rubygems.org/ 添加国内源: [root@localhost~]# gem sourc…
打包编译好的命令,即可直接安装使用 #使用yum可解决依赖问题 [root@localhost ~]# yum -y localinstall *.rpm 一.使用fpm工具直接打包. Fpm安装 fpm是ruby写的,系统环境需要ruby,且ruby版本大于1.8.5 [root@localhost ~]# yum -y install ruby rubygems ruby-devel 查看当前rubygem仓库 [root@localhost ~]# gem sources list 安装f…
平时我们开发机器可能使用的是mac 系统,但是部署机器kennel是linux,默认会有一个操作系统的问题, 我们可以在打包的时候指定os版本信息 参考 --rpm-os linux 参考例子 一个构建node-exporter rpm 包的例子 fpm -s dir -t rpm -n node-exporter --rpm-os linux -v v1.4-centos7 \ ./binary/node-exporter=/usr/bin/ \ ./centos7/node-exporter…
在编译生成rpm包时,报错 ERROR 0001: file '***' contains a standard rpath '/usr/lib64'这是由于代码理由hardcode导致,解决问题有两种办法:一种是打包的时候忽略这个错误QA_RPATHS=0x0001 rpmbuild -ba php-5.6.30.spec还一种是There are two ways to get around this. The first is to comment out the /usr/lib/rpm…
1. 下载 .src.rpm包.例:https://repos.fedorapeople.org/repos/openstack/EOL/openstack-grizzly/epel-6/openstack-quantum-2013.1.4-4.el6.src.rpm 2. 使用" rpm -ivh "解压源码包.例:rpm -ivh openstack-quantum-2013.1.4-4.el6.src.rpm  (--root=xxx 指定路径)解压的结果放在 /root/rpm…
目录 一.简介 二.具体操作 一.简介 可以将编译完成的服务打成rpm包放到私有仓库了,用于自定义的各种软件进行安装部署配置. 二.具体操作 1.安装软件,这个命令将构建rpm包 yum -y install rpm-build 2.开始初始化,如下命令必定报错,他会在当前生成一个文件夹 rpmbuild -ba nginx.spec 文件夹内容如下 ls rpmbuild 将源码tar包复制到SOURCES目录 cp nginx-1.8.0.tar.gz rpmbuild/SOURCES/ 3…
1.安装ruby环境 [root@oldboy /]# yum install -y ruby ruby-devel rubygems gem install fpm gem sources --add https://mirrors.tuna.tsinghua.edu.cn/rubygems/ --remove https://rubygems.org/ gem sources -l gem install fpm fpm -s dir -t rpm -n cosmo -v 8.0 1.txt…
一.RPM介绍 RPM 前是Red Hat Package Manager 的缩写,本意是Red Hat 软件包管理,顾名思义是Red Hat 贡献出来的软件包管理:现在应为RPM Package Manager的缩写.在Fedora.Redhat.Mandriva.SuSE.YellowDog等主流发行版本,以及在这些版本基础上二次开发出来的发行版采用: RPM包中除了包括程序运行时所需要的文件,也有其它的文件:一个RPM包中的应用程序,有时除了自身所带的附加文件保证其正常以外,还需要其它特定…
1.1 快速部署方案 ✔ 问题:当领导给你 100 台已经安装好系统的服务器,然后让优化,让你提出一个快速部署方案. 解答: 1.tar 打包 先编译安装 打包-->分发-->解包(比如 mysql 打包后直接就可以使用 2.SaltStack,puppet,ansible 3.定制 rpm yum 仓库 yum 安装 4.openstack 虚拟机镜像和 docker 容器分发 1.2 回顾下安装软件的三种方式: 1.编译安装软件,优点是可以定制化安装目录.按需开启功能等,缺点是需要查找并实…
1.安装rpm-build # yum install rpm-build 2.创建制作RPM包目录 # cat /root/.rpmmacros %_topdir /root/rpmbuild %_prefix /usr/local/app/%{name}-%{version # cd /root/rpmbuild # mkdir -pv {BUILD,BUILDROOT,RPMS,SOURCES,SPECS,SRPMS}目录意义: BUILD 源码解压后存放目录 RPMS 制作完成后RPM包…
RPM包的制作 前言 按照其软件包的格式来划分,常见的Linux发行版主要可以分为两类,类ReadHat系列和类Debian系列,这两类系统分别提供了自己的软件包管理系统和相应的工具. 类RedHat系统中软件包的后缀是rpm,提供了同名的rpm命令来安装.卸载.升级rpm软件包: 类Debian系统中软件包的后缀是deb,同样提供了dpkg命令来对后缀是deb rpm的全称是Redhat Package Manager,常见的使用rpm软件包的系统主要有Fedora.CentOS.openSU…
作者:firefoxbug 时间:July 18, 2014 rpm包命名规范 对于rpm包的命名符合如下规范. %{NAME}-%{VERSION}-%{RELEASE}.%{ARCH}.rpm NAME: rpm包名字 VERSION: rpm包版本号(主版本号.次版本号.测试号) RELEASE: rpm包编译发布次数(第几次编译发布) ARCH: cpu架构(比如i386和x86_64,i386兼容x86_64,noarch的代表一些列脚本) 比如nginx-1.4.0-24.x86.r…
rpm包的制作真几把烦,制作php的rpm花了我3天时间,因为是根据线上环境来做的,依赖的第三方库太多,本来想把所有的第三方库做进php包,后来发现在rpmbuild -bb的时候非常耗时,而且乱七八糟的错满天飞,好不容易全部解决了第一次成功第二次又不行了,因此决定能用yum安装的就用yum安装,没有的才用源码. 1.安装rpm-build和rpmdevtools yum install rpmdevtools rpm-build 2.生成制作rpm包的必备目录,没有安装rpmdevtools则…