安装ruby和fpm
安装ruby
1
| yum -y install ruby rubygems ruby-devel gcc rpm-build
|
ruby仓库
添加阿里云ruby仓库,移除原生ruby仓库
1
| gem sources -a https://gems.ruby-china.org/ --remove https://rubygems.org/
|
如果安装fpm出现如下错误
1 2
| ERROR: While executing gem ... (OpenSSL::SSL::SSLError) hostname "upyun.gems.ruby-china.org" does not match the server certificate
|
解决方法,使用http协议
1 2
| gem sources --remove https://gems.ruby-china.org/ gem sources -a http://gems.ruby-china.org/
|
参考ruby文档
如果提示ruby版本低,需要安装高版本ruby,无提示则忽略以下内容
1 2 3 4
| curl -sSL https://rvm.io/mpapis.asc | gpg2 --import curl -L get.rvm.io | bash -s stable source /etc/profile.d/rvm.sh rvm install 1.9.3
|
安装fpm
制作rpm包
pureftp为例
创建目录
配置pureftp
1
| ./configure --prefix=/usr/local/pureftpd
|
编译安装
1
| make && make install DESTDIR=/tmp/pureftpd
|
打包rpm
1 2
| fpm -s dir -t rpm -n pureftp -v 1.0.43 -C /tmp/pureftpd/ --post-install /tmp/pureftpd/usr/local/pureftpd/share/pureftp_post.sh Created package {:path=>"pureftp-1.0.43-1.x86_64.rpm"}
|
fpm参数
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| -s:指定源类型 • dir: 将目录打包成所需要的类型,可以用于源码编译安装的软件包 • rpm: 对rpm进行转换 • gem: 对rubygem包进行转换 • python: 将Python模块打包成相应的类型 • …… -t:指定目标类型,即想要制作为什么包(deb, rpm, solaris, etc) -n:指定包的名字 -v:指定包的版本号 -C:指定打包的相对路径 -d:指定依赖于哪些包 -d 'name' or -d 'name > version' or -d 'name,name' -f:第二次包时目录下如果有同名安装包存在,则覆盖它 -p:输出的安装包的目录,不想放在当前目录下就需要指定 --prefix: 默认安装目录 --post-install:软件包安装完成之后所要运行的脚本;同--offer-install --pre-install:软件包安装完成之前所要运行的脚本;同--before-install --post-uninstall:软件包卸载完成之后所要运行的脚本;同--offer-remove --pre-uninstall:软件包卸载完成之前所要运行的脚本;同—before-remove
|
上一篇:tar结合openssl加密压缩
下一篇:php添加扩展