使用fpm管理软件打包
fpm and rpm
fpm是一款支持多平台的打包管理工具。支持的平台包括:rpm, deb, tar, solaris等。
fpm的目标:
-
无痛创建软件包
-
修改已有的软件包
-
抽取已有软件包中的脚本
安装
可以通过gem直接安装
gem install fpm
如果失败,需要确保rubygems和ruby-devel已经安装
# yum install rubygems ruby-devel -y
一个简单示例:打包squid
我们的squid安装在/opt/squid/目录下。
fpm -s dir -t rpm -n squid -v 0.1 --post-install /opt/squid/bin/initVar.sh /opt/squid/
运行后会在当前目录生成squid-0.1-1.rpm。
在创建rpm文件时,我们增加了一个参数–post-install,指定了当安装完成时执行的脚本,可以利用这个功能来完成软件初始化工作。类似的参数还有–pre-install/–post-uninstall/–pre-uninstall等。