(这是来自ask.puppetlabs.com)的交叉帖子
我正在使用Vagrant和Puppet设置centos6.4 VM。首先,我熟悉Debian linux,也是Puppet的新手,很抱歉,如果我遗漏了一些基本的东西......
我正在使用puppetlabs的mysql模块,安装的mysql的默认版本是5.1,但我想安装5.5。
从这篇文章看,我看起来需要从一些额外的回购中获取mysql5.5,
我的Puppetfile看起来像:
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并且存在冲突的依赖项。我已经尝试过寻找一种好的方法,但对傀儡还不熟悉,还不知道该找什么。
感谢您的帮助
答案 0 :(得分:0)
首先安装mysql 5.5你已经删除mysql 5.1添加以下行init.pp而且epel repo不会在你的系统上安装5.5你需要用rpm安装它用mysql来安装它用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'],
}