制作puppet的rpm包

制作puppet的rpm包  2012-03-10 22:43:59

分类: LINUX

制作puppet的rpm包

当前puppet的最新版是:http://puppetlabs.com/downloads/puppet/puppet-2.7.6.tar.gz
facter的最新稳定版本是:http://puppetlabs.com/downloads/facter/facter-1.6.2.tar.gz

puppet-2.6.6.tar.gz中的conf/redhat/目录下包含了一个puppet.spec文件,经过简单的修改,就可又直接用来制作rpm包了。

我的当前环境是RHEL-5.7,x86_64。

1. 准备自己的打包环境

确认系统上有rpmbuild命令可用,没有的话,安装rpm-build包。
建议使用个人账号打包,这样需要先初始化一个自己的打包环境:
在自己的home目录建一个rpmbuld目录,

$cd ~
$mkdir rpmbuild
$mkdir rpmbuild/{SOURCES,SPECS,SRPMS,RPMS,BUILD}

然后,在自己的home目录下建一个.rpmmacros 文件,内容如下:
%_topdir    %(echo $HOME)/rpmbuild

对于这次要打包的puppet,puppet.spec中依赖一个rhel宏,你可以写在.rpmmacros文件里,也可以rpmbuild -D ‘rhle 5′这样在打包时指定。

假如写在.rpmmacros文件里,内容如下:
%rhel  5

另外,还有一个建议,假如你想打出来的包的名字是puppet-2.7.6-1.el5.noarch.rpm,那么,在这个文件里写添加一个宏dist
%dist  .el5

 

2.下载puppet包,还有puppet-2.7.6.tar.gz.asc,这个打src包时,需要。

3.修改puppet.spec文件,官方提供的这个包里的puppet.spec有个错误,搜索http_server,只有一行,将http_server改为http。

4.将这个puppet.spec复制到~/rpmbuild/SPECS下。

5.将修改过的puppet-2.7.6目录重新打包,将包复制到~/rpmbuild/SOURCES目录下。

6. 最后一步,开始打包:

$cd ~/rpmbuild/SPECS
假如~/.rpmmacros里已经写了rhel宏,那么这里就可以直接打包了:
$rpmbuild -ba puppet.spec

假如~/.rpmmacros里没有定义rhel宏,那么命令需要这样写:

$rpmbuild -D ‘rhel 5′ -ba puppet.spec

假如不出意外,打好的包会放在~/rpmbuild/RPMS/noarch目录下。

假如出错,一般是依赖关系的问题,缺少什么,就安装什么包(一般是xxx-devel包),然后重新打包就可以了。

打facter的rpm包与puppet的差不多,将facter-1.6.2.tar.gz解压后,将conf/redhat/facter.spec复制到~/rpmbuild/SPECS下,将facter-1.6.2.tar.gz复制到~/rpmbuild/SOURCES下,然后开始打包:

$cd ~/rpmbuild/SPECS
$rpmbuild -ba facter.spec

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值