使用fpm工具--定制rpm包

fpm定制rpm包

因为centos7的yum安装的ruby版本是2.0,不支持下载比较高版本的rubygem

安装依赖:
yum update -y

yum install ruby-devel ruby-rdoc gcc gcc-c++ rpm-build curl libyaml-devel unzip
得到rubygem的包并解压:
mkdir -p /home/tools && cd /home/tools

wget -c https://rubygems.org/rubygems/rubygems-2.6.12.zip

unzip rubygems-2.6.12.zip
移除原生的ruby仓库,添加国内仓库
gem sources --add https://gems.ruby-china.com/ --remove https://rubygems.org/
配好环境开始gem安装
cd /home/tools/rubygems-2.6.12 && ruby  setup.rb

gem install json_pure

gem install bundler -v 1.17.3

gem install ffi -v 1.9.18

gem install fpm
开始定制
fpm -s dir -t rpm -n nginx -v 1.10.2 --iteration 1 -C . -f --vendor 'aike@dtstack.com' --description 'tzk Nginx' --url 'www.dtstack.com' -m 'aike' -d "dtstack-nginx"  --after-install ./opt/dtstack/nginx/post-script.sh

 

-s: 指定原类型

-t: 指定目标类型

-n: 指定包名

-v: 指定包版本

-C: 指定打包的相对路径

-f: 第二次打包时如果目录下有同名的包,则强行覆盖

-m: 指名作者

-d: 指明依赖哪些包

--iteration: 包的迭代版本

--vendor: 包的发行者

--description: 描述包的信息

--url: Add a url for this package

--after-install: 软件包安装后执行的脚本(同--post-install)

--before-install: 软件包安装前执行的脚本(同--pre-install)

关于安装前、安装后执行的脚本:

  • 脚本的位置随便放在哪里,把路径写正确就行(绝对路径、相对路径皆可用)

  • **rpm -qp --scripts [rpm包名]:**查看定制好的rpm包的安装前、安装后的脚本

    • -q: 查询

      -p: 包名

      –scripts: 查看脚本内容


解压缩rpm包:

rpm2cpio nginx.rpm | cpio -idmv

rpm2cpio可以将rpm格式的文件转换成cpio格式

cpio是用来建立、还原备份档的工具程序

-d: 创建所需目录

-i: 使用Copy-in mode,从归档中复制出文件或者列出文件内容

-m: 创建文件时保留文件的修改时间

-v: 列出已处理文件的信息


  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值