无法在Amazon Linux上使用PuppetLabs Yum存储库安装Facter 1.7.0

我已经使用安装指南安装了Puppet,但是似乎我只能从amzn-* repos安装Puppet包,即使我已经使用amzn-* 提供的说明安装了PuppetLabs EL6 Yum存储库。

 [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 

我需要安装至lessFacter 1.7.0,以便包括修复 ,以确定osfmamily正确。

如何在Amazon Linux(2014.09.2)上安装Facter 1.7.0?

由于优先级设置,软件包没有显示为更新。
你可以通过以下方式解决

 echo -e "[main]\nenabled = 0" > /etc/yum/pluginconf.d/priorities.conf 

但是,通过将Ruby升级到版本2.0,Amazon已经破坏了与RHEL 6的兼容性。
从该存储库安装软件包很可能会破坏您的Puppet和Facter安装。
https://docs.puppetlabs.com/guides/install_puppet/install_el.html#supported-versions

此信息适用于RHEL本身,以及任何与其保持二进制兼容性的分发版,包括但不限于CentOS,Scientific Linux,Oracle Linux和Ascendos。

随着这一变化,亚马逊AMI不再被视为受支持的版本。
这并不意味着Amazon AMI不是一个支持的平台,只是这些软件包不兼容!
你最好的select是使用rubygems安装facter,也可能是puppet(也在这里build议: https : //tickets.puppetlabs.com/browse/PUP-2132 )。
你也可以尝试恢复你的系统ruby的默认版本回到1.8( https://tickets.puppetlabs.com/browse/PUP-2132#comment-108357 )似乎也在为一些人工作。

否则,您需要坚持使用Amazon提供的版本,或者停止使用Amazon AMI并切换到受支持的版本(这是我所要做的…)。