linux-rpm定制化(fpm)

一. 引文:

 关于rpm定制化的描述,可参考:linux-定制化rpm(rpmbuild)-优快云博客

这里介绍fpm的方式。

二. fpm:

 fpm在rpmbuild基础上使用ruby做了封装,相比rpmbuild来说,更简单。

1. 安装:

gem install fpm


如报:异常系统ruby: yum remove ruby

移除原生ruby仓库,添加淘宝的
# gem sources --add https://gems.ruby-china.org/ --remove https://rubygems.org/

查看仓库:

# gem sources -l

*** CURRENT SOURCES ***

https://gems.ruby-china.org/

2. 使用案例:

将编译好的工具, 安装需要安装的目录结构存放至/fpm/下, 如这里的tomcat-maven(将tomcat和maven整合了),目录结构如下:

# cd /fpm/
# tree -d tomcat-maven/
tomcat-maven/
├── etc            
│   └── profile.d     #rpm部署过程中会在/etc/profile.d下存放对应文件
├── opt
│   ├── tomcat        #/opt/tomcat/
│   │   ├── bin
│   │   └── lib
│   └── xiao        #opt/xiao/template_tomcat_8.0
│       └── template_tomcat_8.0
│           ├── bin
│           ├── conf
│           ├── logs
│           ├── temp
│           └── webapps
└── usr
    └── local
        └── maven     #maven部署(/usr/local/maven)
            ├── bin
            ├── boot
            ├── conf
            │   └── logging
            └── lib
                └── ext

构建fpm:

/usr/local/bin/fpm -s dir -t rpm -n xiao-tomcat -v 8.0.36 -C /fpm/tomcat-maven/ --description xiao-sys-7 --license GPL --vendor XIAO_OPS-GROUP
 
# xiao-tomcat-8.0.36-1.x86_64.rpm

fpm常用参数:

-n 生成的package名字
-p 生成的package文件输出位置
-v 生成的package版本
-d 生成的package依赖于什么软件,通常为-d 'name' 或这 -d 'name > version'
-a 系统架构名称,如果是noarch则为'-a all' 或者 '-a native'
--description 软件包描述
--conflicts 与其他什么软件冲突
-C 打包的根路径,后面跟要打入rpm包文件的路径
-p 输出的安装包的目录,不想放在当前目录下就需要指定
-s 指定INPUT的数据类型
-t  指定output的数据类型
--vendor 供应商名称
--license 许可证名称
--pre-install     rpm包安装前执行的脚本
--post-install     rpm包安装后执行的脚本
--pre-uninstall     rpm包卸载前执行的脚本
--post-uninstall     rpm包卸载后执行的脚本

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值