使用fpm命令制作rpm包并安装
2017-07-28 10:40
471 查看
原地址: http://www.cnblogs.com/aslongas/p/5708172.html
避免重复工作,将源码程序打包为rpm
使用yum发布项目,项目打包为rpm
将自己写好的程序打包为rpm,提供给用户下载
其他
以前打包rpm是一个非常复杂的一件事情,自从有了fpm,打包rpm就和tar打包文件一样简单
dir: 将目录打包成所需要的类型,可以用于源码编译安装的软件包
rpm: 对rpm进行转换
gem: 对rubygem包进行转换
python: 将Python模块打包成相应的类型
rpm: 转换为rpm包
deb: 转换为deb包
solaris: 转换为solaris包
puppet: 转换为puppet包
-s:指定源类型
-t:指定目标类型,即想要制作为什么包
-n:指定包的名字
-v:指定包的版本号
-C:指定打包的相对路径
-d:指定依赖于哪些包
-f:第二次包时目录下如果有同名安装包存在,则覆盖它;
-p:制作的rpm安装包存放路径,不想放在当前目录下就需要指定;
--post-install:软件包安装完成之后所要运行的脚本;同--offer-install
--pre-install:软件包安装完成之前所要运行的脚本;同--before-install
--post-uninstall:软件包卸载完成之后所要运行的脚本;同--offer-remove
--pre-uninstall:软件包卸载完成之前所要运行的脚本;同—before-remove
--prefix:制作好的rpm包默认安装路径;
# 安装ruby
yum -y install ruby rubygems ruby-devel
# 添加淘宝Ruby仓库
gem sources -a http://ruby.taobao.org/
# 移除原生的Ruby仓库
gem sources --remove http://rubygems.org/
# 安装fpm
gem install fpm
![](http://images2015.cnblogs.com/blog/734593/201607/734593-20160726164106372-1778598113.png)
![](http://images2015.cnblogs.com/blog/734593/201607/734593-20160726164857856-1556238378.png)
![](http://images2015.cnblogs.com/blog/734593/201607/734593-20160726165538247-185374075.png)
[root@vm172-31-16-2 open-falcon]# rpm -qa | grep falcon
falcon-agent-0.5.1.0-1.x86_64
[root@vm172-31-16-2 open-falcon]# rpm -e falcon-agent-0.5.1.0-1.x86_64
备注:如果制作的rpm包有多个目录结构,次级目录并不会被删除,目前还没找到更好的方法。
使用fpm命令制作rpm包并安装
工作中有如下情况需要将文件打包rpm:避免重复工作,将源码程序打包为rpm
使用yum发布项目,项目打包为rpm
将自己写好的程序打包为rpm,提供给用户下载
其他
以前打包rpm是一个非常复杂的一件事情,自从有了fpm,打包rpm就和tar打包文件一样简单
支持的源类型包:
dir: 将目录打包成所需要的类型,可以用于源码编译安装的软件包rpm: 对rpm进行转换
gem: 对rubygem包进行转换
python: 将Python模块打包成相应的类型
支持的目标类型包:
rpm: 转换为rpm包deb: 转换为deb包
solaris: 转换为solaris包
puppet: 转换为puppet包
FPM常用参数:
-s:指定源类型-t:指定目标类型,即想要制作为什么包
-n:指定包的名字
-v:指定包的版本号
-C:指定打包的相对路径
-d:指定依赖于哪些包
-f:第二次包时目录下如果有同名安装包存在,则覆盖它;
-p:制作的rpm安装包存放路径,不想放在当前目录下就需要指定;
--post-install:软件包安装完成之后所要运行的脚本;同--offer-install
--pre-install:软件包安装完成之前所要运行的脚本;同--before-install
--post-uninstall:软件包卸载完成之后所要运行的脚本;同--offer-remove
--pre-uninstall:软件包卸载完成之前所要运行的脚本;同—before-remove
--prefix:制作好的rpm包默认安装路径;
安装FPM
# 安装rubyyum -y install ruby rubygems ruby-devel
# 添加淘宝Ruby仓库
gem sources -a http://ruby.taobao.org/
# 移除原生的Ruby仓库
gem sources --remove http://rubygems.org/
# 安装fpm
gem install fpm
准备打包资源
![](http://images2015.cnblogs.com/blog/734593/201607/734593-20160726164106372-1778598113.png)
制作rpm包
![](http://images2015.cnblogs.com/blog/734593/201607/734593-20160726164857856-1556238378.png)
查看rpm包信息并安装
![](http://images2015.cnblogs.com/blog/734593/201607/734593-20160726165538247-185374075.png)
卸载rpm包
[root@vm172-31-16-2 open-falcon]# rpm -qa | grep falconfalcon-agent-0.5.1.0-1.x86_64
[root@vm172-31-16-2 open-falcon]# rpm -e falcon-agent-0.5.1.0-1.x86_64
备注:如果制作的rpm包有多个目录结构,次级目录并不会被删除,目前还没找到更好的方法。
相关文章推荐
- 使用ruby的fpm模块实现对二进制MySQL的RPM包制作,实现一键安装
- RPM包快速制作工具fpm的安装和使用
- Linux(centos)下安装卸载命令rpm,make install使用方法【转】
- rpm安装文件制作和使用
- [Linux]使用rpm命令安装软件包
- Linux(centos)下安装卸载命令rpm,make install使用方法
- 使用rpm命令强制安装mysql5.5.19, 并进行初始配置
- Linux(centos)下安装卸载命令rpm,make install使用方法【转】
- Linux学习之建立yum源、yum命令的使用及rpm包编译安装
- Centos6.5利用RubyGems的fpm制作zabbix_agent的rpm包,并使用ansible批量部署 推荐
- Linux(centos)下安装卸载命令rpm,make install使用方法【转】
- 由于CentOS的系统安装了epel-release-latest-7.noarch.rpm 导致在使用yum命令时出现Error: xz compression not available问题。
- rpm 命令|rpm 安装|rpm 卸载|rpm 使用|rpm 删除
- 使用rpm命令从CentOS系统盘安装计划任务程序crontab
- rpm 命令|rpm 安装|rpm 卸载|rpm 使用|rpm 删除
- rpm命令|rpm安装|rpm卸载|rpm使用|rpm删除 Linux 中 RPM 命令参数使用详解
- rpm制作工具fpm安装
- rpm制作工具fpm安装
- Linux(centos)下安装卸载命令rpm,make install使用方法
- 使用fpm来制作rpm包