無法使用 PuppetLabs Yum 儲存庫在 Amazon Linux 上安裝 Facter 1.7.0
我已經使用安裝指南安裝了 Puppet,但似乎我只能從儲存庫安裝 Puppet 包
amzn-*
,即使我已經使用 PuppetLabs 提供的說明安裝了 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
我需要至少安裝 Facter 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 版本破壞了與 RHEL 6 的兼容性。
從該儲存庫安裝軟體包很可能會破壞您的 Puppet 和因子安裝。
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 ),這似乎也適用於某些人。
否則,您需要堅持使用 Amazon 提供的版本,或者當然停止使用 Amazon AMI 並切換到受支持的版本(這就是我要做的……)。