在多台服务器上安装rpm

我有一个rpm(redis),我需要安装在十几台服务器上。

EPEL中提供的redis版本太旧了(2.4.x)。 软件提供商不提供在线存储库,我可以下载。

我需要安装最新版本的2.6.x或2.8.x(最好是2.6.x)

我已经尝试了以下解决scheme。 每个人都有自己的问题。

  • 从源代码编译2.8.x(不缩放,不得不重复12次)

  • 从木偶伪造使用redis木偶模块

所有的puppet模块都没有logging,或者使用旧的redis url进行安装,因此被locking到旧版本。 唯一的清单,我必须工作,安装2.6.14的最高版本,已经打破了CentOS上的初始化脚本

  • 使用ruby安装,(对于3.x.beta以前的版本,没有gem)

我唯一能做的就是做我自己的回购,并find一个地方来承载它。 这就需要我在内部创build一个Web服务器或者ftp服务器,我真的不想这样做。

当然有一个更简单的方法来获取redis 2.6.x或2.8.x安装在多台机器不在那里? 那还能怎么办呢?

我设法通过使用rpmfind.net中的现有RPM来实现这个工作。

然后,我把它放在一个木偶清单。

# Define a class class redis_repo ($redis_url) { package {'redis': ensure => present, source => "${redis_repo::redis_url}", provider => 'rpm', } service {'redis': ensure => running, require => Package['redis'], status => true, #Change to false if running redis 2.6.x } } # Declare the class # modify this url to change the install version class { 'redis_repo': redis_url => 'ftp://rpmfind.net/linux/remi/enterprise/6/remi/x86_64/redis-2.8.6-1.el6.remi.x86_64.rpm' } 

只需在一台服务器上“制作”,就可以对其进行安装,分发,解压和“安装”。 或者,如果您想使用rpms,只需在一台服务器上构build您的rpm,然后分发并安装它。 无需创build和托pipe存储库。 这不像是你部署到1000台机器 – 不要花费更多的时间在自动化上,而只需要完成任务。