nfpm 介绍

本文介绍了fpm和nfpm这两个工具,用于简化rpm和deb包的制作过程。fpm是基于ruby的,安装可能遇到ruby版本和gem源的问题,而nfpm是用golang编写的,可以直接运行二进制文件。通过一个nfpm.yaml配置文件,可以便捷地定义包内容和安装脚本,一条命令即可生成rpm和deb包。
摘要由CSDN通过智能技术生成

制作rpm包一般是编辑 spec 文件,然后通过rpm build 出来。但是对于一些简单的程序就显得略微繁琐,因此有一些替代工具应运而生。

fpm工具

fpm 工具是 ruby 脚本, gem install fpm 就可以安装。使用也很简单。但是系统自带的ruby都比较老,gem 墙内的镜像又略微有点麻烦,因此安装这一步就会困扰很多人。在此不再详细描述,感兴趣可以自行查找相关资料。

nfpm 工具

nfpm 工具是由 golang 编写的,因此下载二进制之后就可以直接运行,再配合一个yml文件就可以直接服用。

举例 nfpm.yaml

# nfpm example config file
#
# check https://nfpm.goreleaser.com/configuration for detailed usage
#
name: "redis_exporter"
arch: "noarch"
platform: "linux"
version: "v1.0.1"
section: "default"
priority: "extra"
maintainer: "maintainer"
description: |
  redis_exporter.
vendor: "vendor"
license: "MIT"
contents:
- src: ./redis-exporter.service
  dst: /etc/systemd/system/redis-exporter.service
- src: ./*
  dst: /usr/local/redis_exporter/
- src: ./nfpm.yaml
  dst: /usr/local/redis_exporter/nfpm.yaml 
  type: config
overrides:
  rpm:
    scripts:
      preinstall:  ./preinstall.sh
      postinstall: ./postinstall.sh
      postremove: ./postremove.sh
  deb:
    scripts:
      preinstall:  ./preinstall.sh
      postinstall: ./postinstall.sh
      postremove: ./postremove.sh

执行命令

```

mkdir -p ../rpm
nfpm package -p deb -t ../rpm

nfpm package -p rpm -t ../rpm

```

一条命令可以制作rpm和deb包

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值