我已经使用设置指南但似乎我只能从amzn-*
存储库安装 Puppet 包,尽管我已经使用PuppetLabs 提供的说明。
[ec2-user@ip-172-31-1-239 ~]$ rpm -qa | grep facter
facter-1.6.18-7.25.amzn1.noarch
[ec2-user@ip-172-31-1-239 ~]$ sudo yum upgrade facter
Loaded plugins: priorities, update-motd, upgrade-helper
1048 packages excluded due to repository priority protections
No packages marked for update
我需要至少安装 Facter 1.7.0,以便修复包括osfmamily
正确确定。
如何在 Amazon Linux(2014.09.2)上安装 Facter 1.7.0?
答案1
这些软件包没有显示为更新很可能是因为优先级设置。
您可以通过以下方式修复此问题:
echo -e "[main]\nenabled = 0" > /etc/yum/pluginconf.d/priorities.conf
但是,Amazon 将 Ruby 升级到 2.0 版,从而破坏了与 RHEL 6 的兼容性。
从该存储库安装软件包很可能会破坏您的 Puppet 和 facter 安装。
https://docs.puppetlabs.com/guides/install_puppet/install_el.html#supported-versions:
此信息适用于 RHEL 本身,以及与其保持二进制兼容性的任何发行版,包括但不限于 CentOS、Scientific Linux、Oracle Linux 和 Ascendos。
有了这一变化,Amazon AMI 就不再被视为受支持的版本了。
这并不意味着 Amazon AMI 不是一个受支持的平台,只是那些软件包不兼容!
最好的办法是使用 rubygems 安装 facter 和 puppet(也建议使用:https://tickets.puppetlabs.com/browse/PUP-2132)。
您还可以尝试将系统 ruby 默认版本恢复为 1.8(https://tickets.puppetlabs.com/browse/PUP-2132#comment-108357) 似乎对某些人也有效。
否则,您将需要坚持使用亚马逊提供的版本,或者当然停止使用亚马逊 AMI 并切换到受支持的版本(这是我要做的事情......)。