FPM打包工具
FPM的作者是jordansissel
FPM的github:https://github.com/jordansissel/fpm
FPM功能简单说就是将一种类型的包转换成另一种类型。
FPM安装
fpm是ruby写的,因此系统环境需要ruby,且ruby版本号大于1.8.5。
安装ruby
yum install curl git rpm-build rpm-build-libs
curl -L get.rvm.io | bash -s stable
source /etc/profile.d/rvm.sh
rvm list known
rvm install 2.6
# 查看当前使用的rubygems仓库
gem sources list
# 添加淘宝的Rubygems仓库,外国的源慢,移除原生的Ruby仓库
gem sources –add https://ruby.taobao.org/ –remove http://rubygems.org/
# 安装fpm,gem从rubygem仓库安装软件类似yum从yum仓库安装软件。首先安装低版本的json,高版本的json需要ruby2.0以上,然后安装低版本的fpm,够用。
gem install json -v 1.8.3
gem install fpm -v 1.3.3
# 上面的2步安装仅适合CentOS6系统,CentOS7系统一步搞定,即gem install fpm
FPM参数
-s 指定源类型
-t 指定目标类型,即想要制作为什么包
-n 指定包的名字
-v 指定包的版本号
-C 指定打包的相对路径 Change directory to here before searching forfiles
-d 指定依赖于哪些包
-f 第二次打包时目录下如果有同名安装包存在,则覆盖它
-p 输出的安装包的目录,不想放在当前目录下就需要指定
–post-install 软件包安装完成之后所要运行的脚本;同–after-install
–pre-install 软件包安装完成之前所要运行的脚本;同–before-install
–post-uninstall 软件包卸载完成之后所要运行的脚本;同–after-remove
–pre-uninstall 软件包卸载完成之前所要运行的脚本;同–before-remove
#打包范例
fpm -f -s dir -t rpm -n midas-php -v ‘7.2.2’ -d ‘libmcrypt-devel,libxml2-devel,bzip2-devel,curl-devel,libjpeg-devel,libpng-devel,libxslt-devel,midas-imagemaick’ –iteration 1.el7 -f /home/dhph/servers/php-7.2.2/
默认安装在/home/dhph/servers/php-7.2.2/
rpm工具简介
1、查询系统已安装的rpm包
#rpm -qa
示例:
NTP-slave:/etc/zypp # rpm -qa | grep zypp
zypper-log-1.6.307-0.7.12
zypper-1.6.307-0.7.12
libzypp-9.34.0-0.7.15
2、查询系统中一个已知的文件属于哪个rpm包
# rpm -qf /绝对路径/file_name
示例:
NTP-slave:/etc/zypp # rpm -qf /etc/zypp/zypp.conf
libzypp-9.34.0-0.7.15
3、 查询已安装的软件包的相关文件的安装路径
# rpm -ql 软件名
示例:
NTP-slave:/etc/zypp # rpm -ql libzypp-9.34.0-0.7.15
/etc/logrotate.d/zypp-history.lr
/etc/zypp
/etc/zypp/repos.d
/etc/zypp/services.d
/etc/zypp/systemCheck
/etc/zypp/zypp.conf
/usr/bin/package-manager
/usr/bin/package-manager-su
…省略…
4、查询一个已安装软件包的信息
#rpm -qi 软件名
示例:
NTP-slave:/etc/zypp # rpm -qi libzypp-9.34.0-0.7.15
Name : libzypp Relocations: (not relocatable)
Version : 9.34.0 Vendor: SUSE LINUX Products GmbH, Nuernberg, Germany
Release : 0.7.15 Build Date: Wed May 29 23:20:00 2013
Install Date: Mon Dec 19 20:00:23 2016 Build Host: crick2
…省略…
NTP-slave:/etc/zypp # rpm -qc libzypp-9.34.0-0.7.15
/etc/logrotate.d/zypp-history.lr
/etc/zypp/systemCheck
/etc/zypp/zypp.conf