你的位置:首页 > 网海拾贝

用FPM轻松制作RPM包

2016-11-08 浏览:(6774) 网海拾贝 评论(0)

用自建的YUM仓库后,安装工具变的简便快速,而且方便统一管理软件的版本。啰嗦一下,自建的YUM仓库还可以结合cobbler,实现定制化的系统安装(关于系统安装,最近做了一个自动化安装系统的平台,使用cobbler提供的接口,这个以后发博补充一下)。总而言之,由于自建YUM仓库的推行,便有大量RPM包的制作的任务,经同事推荐,尝试了一下FRM制作RPM包,比起编写SPEC文件,确实方便多了。

安装FPM

yum -y install ruby ruby-devel rubygems # FPM是Ruby模块
gem sources -a http://ruby.taobao.org/ # 添加淘宝的Ruby仓库
gem sources --remove http://rubygems.org/ # 移除原生的Ruby仓库

# 安装fpm

gem install fpm

官方的示例打包nodejs

wget http://nodejs.org/dist/v0.10.12/node-v0.10.12.tar.gz  #下载nodejs源码包
tar zxvf node-v0.10.12.tar.gz -C /dev/shm/ # 解压
cd /dev/shm/node-v0.10.12/ # 进入源码目录
./configure --prefix=/usr --dest-cpu=x64 --dest-os=linux # 指定配置参数
make
mkdir /dev/shm/node-root 
make  install DESTDIR=/dev/shm/node-root # 指定安装路径
fpm -f -s dir -t rpm -n nodejs --epoch 0 -v 0.10.12 --iteration 1.el6 -C /dev/shm/node-root -p /root/ -d 'openssl >= 0.9.8' -d 'libstdc++ >= 4.4.3' --verbose --category 'Development/Languages' --description 'Node.js real-time applications' --url 'nodejs.org' --license 'BSD' -m 'lxcong' --no-rpm-sign usr/bin usr/lib usr/share # 生成RPM 注意usr/bin usr/lib usr/share 这些就是需要打包的数据目录
rpm -qpi /root/nodejs-0.10.12-1.el6.x86_64.rpm # 查看RPM包信息

参数含义

-s 指定INPUT的数据类型

-t 指定需要制作成什么包,可选项有(deb, rpm, solaris, etc)

-n 包名

--iteration  也就是rpm包里面的release

-C 就是打包的相对路径,类似于buildroot。譬如-C /dev/shm/node-root/  而打包机器的数据包路径是/dev/shm/node-root/usr/bin/node  那安装这个rpm包后,在本地的数据就是/usr/bin/node

from:http://my.oschina.net/lxcong/blog/143855

  • 发表评论
  • 查看评论
【暂无评论!】

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。