使用nfpm制作rpm包
![fdd5fc74647c8f44a283b9705a6b8342.png](https://i-blog.csdnimg.cn/blog_migrate/cd1f845ae9be2399375002dfdd999d6a.png)
如果你经历过打
rpm
包的年代,你肯定对fpm
不陌生,今天给大家介绍一个使用golang
写的打deb
和rpm
包的工具,那就是nfpm
,为什么要推荐,是因为可以通过goreleaser
把程序直接输出rpm
或deb
包。
NFPM
什么是nfpm
NFPM is Not FPM - a simple deb and rpm packager written in Go
如何安装(centos上)
$ curl -sfL https://install.goreleaser.com/github.com/goreleaser/nfpm.sh | sh
如何使用(以官方demo演示)
> nfpm init> tree .├── bar├── foo├── foobar.conf├── hello.rpm├── nfpm.yaml└── scripts ├── postinstall.sh ├── postremove.sh ├── preinstall.sh └── preremove.sh3 directories, 7 files
查看生产的rpm包的信息
> rpm -qpi hello.rpmName : fooEpoch : 0Version : v1.0Release : 1Architecture: x86_64Install Date: (not installed)Group : Development/ToolsSize : 0License : MITSignature : (none)Source RPM : foo-v-1.src.rpmBuild Date : Sun 05 Jul 2020 09:44:09 PM CSTBuild Host : reviewboard.danke.lifeRelocations : (not relocatable)Packager : John Doe <john@example.com>Vendor : FooBarCorpURL : http://example.comSummary : FooBar is the great foo and bar software.Description :FooBar is the great foo and bar software. And this can be in multiple lines!
相关站点
nfpm官网[1]
nfpm的GitHub[2]
fpm的GitHub[3]
后记
fpm
是基于ruby
语言编写的,与fpm
不一样的点是,nfpm
是基于golang
语言的,当前nfpm
仅支持deb
和rpm
两个格式的包制作,相对fpm
还是弱了些,不过相对来说更简单(第一次接触的话,还是需要废点时间学习下)一些。
欢迎关注我的公众号“追马Linux”,原创技术文章第一时间推送。
![5320958f0a716be2bc293aca3e7cb92f.png](https://i-blog.csdnimg.cn/blog_migrate/0ad2e9e0002572d6b788f14a19fc9140.png)
引用链接
[1]
nfpm官网: https://nfpm.goreleaser.com/[2]
nfpm的GitHub: https://github.com/goreleaser/nfpm[3]
fpm的GitHub: https://github.com/jordansissel/fpm