fpm 制作 rpm 包
支持的 源类型包
① dir : 将目录打包成所需要的类型, 可用于源码编译安装软件包 ② rpm : 对 rpm 包进行转换 ③ gem : 对 rubygem 包进行转换 ④ python : 将 python 模块打包成响应的类型
支持的 目标类型包
① rpm : 转换为 rpm 包 ② deb : 转换为 deb 包 ③ solaris : 转换为 solaris 包 ④ puppet : 转换为 puppet 模块
FPM 安装 及 使用帮助 : FPM 基于 ruby , 需要首先安装 ruby 环境.
ruby > 1.8.5 $ yum install ruby rubygems ruby-devel gcc make libffi-devel -y $ yum install rpm-build -y # fpm 依赖 rpmbuild $ gem sources list $ gem sources --remove https://rubygems.org/ $ gem sources --add https://ruby.taobao.org $ gem install fpm # for centos7 $ gem install json -v 1.8.3 # for centos6 $ gem install fpm -v 1.3.3 # for centos6 $ fpm --help -s 指定源类型 -t 指定目标类型,即想要制作为什么包 -n 指定包的名字 -v 指定包的版本号 -C 指定打包的相对路径 Change directory to here before searching forfiles -d 指定依赖于哪些包 -f 第二次打包时目录下如果有同名安装包存在,则覆盖它 -p 输出的安装包的目录,不想放在当前目录下就需要指定 --post-install 软件包安装完成之后所要运行的脚本;同--after-install --pre-install 软件包安装完成之前所要运行的脚本;同--before-install --post-uninstall 软件包卸载完成之后所要运行的脚本;同--after-remove --pre-uninstall 软件包卸载完成之前所要运行的脚本;同--before-remove --description
示例: 定制 nginx rpm 包
$ yum -y install pcre-devel openssl-devel libzip $ useradd nginx -M -s /sbin/nologin $ tar xf nginx_1.10.tar.gz $ cd nginx_1.10 $ ./configure --prefix=/opt/nginx --user=nginx --group=nginx --with-http_ssl_module --with-http_stub_status_module $ make && make install $ echo "nginx-1.10.2" > /opt/nginx/version $ vim /tmp/nginx_rpm.sh #!/bin/bash useradd nginx -M -s /sbin/nologin $ fpm -s dir -t rpm -n nginx -v 1.10.2 -d 'pcre-devel,openssl-devel,libzip' --post-install /tmp/nginx_rpm.sh -f /opt/nginx # 注意此处的 绝对路径. $ rpm -qpl nginx-1.6.2-1.x86_64.rpm # 查看软件包内容.
有用的命令.
$ yum provides *bin/prove
provides Find what package provides the given value
resolvedep Determine which package provides the given dependency
$ tar -tvf new.tgz # 查看包的内容, 不解压包.
$ make install DESTDIR=/tmp/installdir/
$ getent passwd root # 查看手否存在用户root
root:x:0:0:root:/root:/bin/bash
$ rpm -qp --scripts tengine-2.1.0-1.el6.x86_64.rpm # 查看 rpm 保存的脚本信息
fpm 制作 rpm 包的更多相关文章
- 利用fpm制作rpm包
使用fpm制作rpm包 安装如下 [root@web01 ~]# yum install -y gcc zlib zlib-devel wget http://ruby.taobao.org/mirr ...
- fpm制作rpm包
一.前言 在企业中我们有事安装软件包.部分都是源码安装,如nginx安装路径都已经固化了,但实际业务中,我们都是把软件包安装到固定目录下,不满足需要,这是其一.其二,编译安装很耗时,比如mysql,特 ...
- fpm 制作rpm包
使用fpm命令制作rpm包并安装 工作中有如下情况需要将文件打包rpm: 避免重复工作,将源码程序打包为rpm 使用yum发布项目,项目打包为rpm 将自己写好的程序打包为rpm,提供给用户下载 其他 ...
- Linux基于FPM制作RPM包(以Nginx为例)
1.搭建Epel Yum源 安装在线yum源 [root@localhost ~]# rpm -ivh epel-release-latest-.noarch.rpm //安装扩展源 [root@ ...
- linux制作RPM包
制作rpm包 1.制作流程1.1 前期工作 1)创建打包用的目录rpmbuild/{BUILD,SPECS,RPMS, SOURCES,SRPMS} 建议使用普通用户,在用户家目录中创建 2)确定好制 ...
- 制作RPM包
RPM包制作过程 1.1 前期工作 1)创建打包用的目录rpmbuild/{BUILD,SPECS,RPMS, SOURCES,SRPMS} 建议使用普通用户,在用户家目录中创建 2)确定好制作的对象 ...
- fpm工具来制作rpm包软件
第1章 rpm包的制作 1.1 fpm的概念介绍 FPM功能简单说就是将一种类型的包转换成另一种类型 1.1.1.支持的源类型 类型 说明 dir 将目录打包成所需要的类型,可以用于源码编译安装的 ...
- 速成制作rpm包
FPM 由于很多软件在安装时需要编译,这会浪费不少的时间,为了提升部署效率,于是就想到制作rpm包.通常rpm包的制作是使用rpmbuild命令来制作,但是你需要知道它的语法,比较繁琐.这就用到了FP ...
- FPM定制RPM包实践
1.1 快速部署方案 ✔ 问题:当领导给你 100 台已经安装好系统的服务器,然后让优化,让你提出一个快速部署方案. 解答: 1.tar 打包 先编译安装 打包-->分发-->解包(比如 ...
随机推荐
- 关于v-model、v-for、v-on的用法
展示Holle Vue window.onload = function(){ var box = new Vue({ el:'#div', ...
- 关于phpMyAdmin表数据不能编辑更改的问题
今天在使用phpMyAdmin更改表中的数据时, 发现表的前面没有编辑.复制.删除这些内容, 于是我很奇怪,上网查了查,终于找到了一个解决的办法, 原来是我的这个表没有主键,于是我点击表 的 结构 , ...
- Spring+SpringMvc+Mybatis 框架的搭建(二)
4.4 mybatis-config.xml 这部分可以配置也可以不配置. <?xml version="1.0" encoding="UTF-8" ?& ...
- PDO(数据访问抽象层)、pdo事务功能和预处理功能---2017-05-05
之前所学的数据访问都是用mysqli做成类来访问的,但是mysqli这个类只是针对mysql这个数据库的:那么如果访问其他类型的数据库呢? 那么这就用到了PDO(数据访问抽象层). 一.关于PDO基本 ...
- ST-2
1.第一个程序没有覆盖到下表为0的数.第二个程序找到的是x中第一个等于0的数的下标. 2.对于第一个程序:x = [2,3,5], y = 3 对于第二个程序:X = [2,0,6] 3.对于两个程序 ...
- 每个国家对应的语言Locale和国家代码对照表
DNN3支持多语言,希望下面的语言代码与对应国家能对你有所帮助 语言代码 国家/ 地区 "" (空字符串) 无变化的文化 af 公用荷兰语 af-ZA 公用荷兰语 - 南非 sq ...
- Java 7 Fork/Join 框架
在 Java7引入的诸多新特性中,Fork/Join 框架无疑是重要的一项.JSR166旨在标准化一个实质上可扩展的框架,以将并行计算的通用工具类组织成一个类似java.util中Collection ...
- springboot(二):web综合开发
上篇文章介绍了spring boot初级教程:spring boot(一):入门篇,方便大家快速入门.了解实践Spring boot特性:本篇文章接着上篇内容继续为大家介绍spring boot的其它 ...
- 安装mongodb后启动报错libstdc++
安装mongo后启动报错如下图 显然说是libstdc++.so文件版本的问题,这种一般都是gcc版本太低了 接着查询gcc的版本 strings /usr/lib/libstdc++.so.6 ...
- GO的初始简书(二)环境变量设置与说明
安装GO后你应该做的一些事~ 将自己需要开发的项目加入环境变量中的gopath中 GOPATH其实就一个工作目录 -----正在开发的项目 1首先在本地新建目录 go_work 2 vi ~/.b ...