LinuxEye - Linux系统教程

LinuxEye - Linux系统教程

当前位置: 主页 > Linux教程 >

用FPM轻松制作RPM包

时间:2013-07-20 10:18来源:开源中国社区 编辑:lxcong 点击:
用自建的YUM仓库后,安装工具变的简便快速,而且方便统一管理软件的版本。啰嗦一下,自建的YUM仓库还可以结合cobbler,实现定制化的系统安装(关于系统安装,最近做了一个自动化安装
用自建的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:lxcong

转载请保留固定链接: https://linuxeye.com/Linux/1837.html

------分隔线----------------------------
标签:FPMrpm
栏目列表
推荐内容