(这是来自ask.puppetlabs.com的交叉帖子)
我正在使用Vagrant和Puppet设置一个centos6.4虚拟机。首先,我熟悉Debian linux,也是Puppet的新手,所以如果我错过了一些基本的东西,很抱歉……
我使用的是puppetlabs的mysql模块,安装的mysql的默认版本是5.1,但我想安装5.5。
从这篇文章中,看起来我需要从一些额外的repos中获取mysql5.5,
我的木偶文件看起来像这样:
forge "http://forge.puppetlabs.com"
mod 'puppetlabs/stdlib'
mod 'puppetlabs/apache'
mod 'puppetlabs/mysql'我添加了一个yumrepo声明
yumrepo {
'epel':
descr => 'Extra Packages for Enterprise Linux 6 - $basearch',
enabled => "1",
gpgcheck => "1",
failovermethod => 'priority',
gpgkey => "http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm",
;
'remi':
descr => 'Extra Packages for Enterprise Linux 6 - $basearch',
enabled => "1",
gpgcheck => "1",
failovermethod => 'priority',
gpgkey => "http://rpms.famillecollet.com/enterprise/remi-release-6.rpm",
;
}如果我将package_ensure与目标版本一起添加,
class { '::mysql::server':
package_ensure => "5.5.36-1.el6.remi",
}我可以看到puppet试图安装这个包,但是mysql5.1已经安装了,并且存在冲突的依赖项。我试着寻找一种好的方法,但对puppet还不够熟悉,还不知道要找什么。
谢谢你的帮助
发布于 2014-04-16 14:09:47
首先,要安装MySQL5.5,您必须删除MySQL5.1,添加以下行init.pp,而且epel repo不会在您的系统上安装5.5,您需要使用mysql的rpm安装它才能使用rpm安装它在int.pp文件中添加以下行
package { 'mysql-libs':
ensure => 'purged',
}
package { 'MySQL-server-5.5.8-1.rhel5.x86_64':
provider => 'rpm',
ensure => installed,
source => "/path_to_dir/MySQL-server-5.5.8-1.rhel5.x86_64.rpm",
require => Package['mysql-libs'],
}https://stackoverflow.com/questions/22051191
复制相似问题