こんにちは、読んでいただきありがとうございます、
私は現在、ec2インスタンスのパペットサービスをセットアップしている途中で、フォアマンを試してみることにしました(ノード証明書の管理と自動乗客セットアップは素晴らしいようです)。
残念ながら、インストールで問題が発生しています。私は新鮮な「AmazonLinuxAMI x86_64PV」を使用しています:
[root@hostname ~]# uname -a
Linux hostname 3.10.35-43.137.amzn1.x86_64 #1 SMP Wed Apr 2 09:36:59 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
そして、以下を試しました:
Sudo yum -y update
Sudo yum -y install http://yum.theforeman.org/releases/1.1/el6/x86_64/foreman-release.rpm
Sudo yum -y install foreman-installer
その結果:
Error: Package: rubygem-foreman_api-0.1.11-1.el6.noarch (foreman)
Requires: rubygem(rest-client) >= 1.6.1
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest
提案は役に立たないようです(--skip-brokenは、フォアマン/パペット以外のすべての依存関係をインストールします)。私は結局 ここ そしてリポジトリをインストールしようとしました(古いものを削除した後)
Sudo yum -y remove epel-release
Sudo yum -y install http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
もう一度、私が試したこと:
Sudo -y update
Sudo -y install foreman-installer
同じエラーが発生します。以前の更新なしでインストールすることは可能であり(yumは公開鍵について文句を言いますが)、次のエラーが発生します。
[ec2-user@hostname ~]$ foreman-installer
/usr/share/Ruby/vendor_Ruby/2.0/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- highline/import (LoadError)
from /usr/share/Ruby/vendor_Ruby/2.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from /usr/sbin/foreman-installer:3:in `<main>'
乗客をセットアップしようとしたときに同様の問題が発生し、最終的に降伏しました。これは競合するRubyバージョンが原因で発生すると思います。したがって:
[root@hostname puppet]# Ruby --version
Ruby 2.0.0p451 (2014-02-24 revision 45167) [x86_64-linux]
[root@hostname puppet]# gem --version
2.0.14
[root@hostname puppet]# ls /usr/bin | grep Ruby
ruby
Ruby1.8
Ruby2.0
[root@hostname puppet]# ls /usr/bin | grep gem
gem
gem2.0
誰かが同じ問題に遭遇しましたか?これを解決するにはどうすればよいですか?
事前に感謝し、これをすべて読んでくれてありがとう!
Red Hat EnterpriseLinuxおよびそのクローンのパッケージはAmazonLinuxと互換性がありません。 Foremanをインストールする別の方法、またはできれば別のLinuxディストリビューションを見つける必要があります(Amazon Linuxには多くの問題があり、一般的にほとんど何にも適していません)。
フォアマンプロキシもインストールするフォアマンインストーラーを使用して、AmazonLinuxにフォアマンをインストールすることができました。
PuppetとforemanはRuby1.8を使用し、Amazonlinuxはデフォルトで2.0を使用するため
次に、epel forにあるscl-utilsパッケージ(バージョン20120229)には、このファイル/ usr/bin/scl_sourceがありません。このバージョン20120927が必要です。ここで見つけました:
yum localinstall scl-utils-20120927-27.el6_6.i686.rpm
次に、パッケージipmitoolが必要です。 CentOSボックスでyumダウンローダーを使用してインストールしました
その後、foreman-installer-iは正常に終了しました。
最近Amazonでpuppetを使って多くの時間を過ごしたので、これを更新したいと思いました。
Amazon linuxのpuppetバージョンは明らかにデフォルトのRuby2.0インストールと互換性がないため、不足しているRuby1.8のものをインストールし、正しいファイルにリンクする必要があります。これでうまくいくはずです:
インストールの準備:
if ! yum repolist | grep -q puppetlabs;
then
echo "..enabling puppet repository.."
# https://tickets.puppetlabs.com/browse/PUP-2132
echo -e "[main]\nenabled = 0" > /etc/yum/pluginconf.d/priorities.conf
rpm --quiet -ivh http://yum.puppetlabs.com/el/6/products/x86_64/puppetlabs-release-6-10.noarch.rpm
fi
echo "..updating.."
yum -y --quiet clean all
yum -y --quiet update
if readlink /etc/alternatives/Ruby | grep -q "Ruby2\.0"
then
echo "..making Ruby1.8 default.."
ln -sf /usr/bin/Ruby1.8 /etc/alternatives/Ruby
fi
if readlink /etc/alternatives/gem | grep -q "gem2\.0"
then
echo "..making gem1.8 default.."
ln -sf /usr/bin/gem1.8 /etc/alternatives/gem
fi
そして、Apacheでpuppetをインストールするには:
PACKAGE="puppet"
#PACKAGE="puppet-server"
echo "..installing "$PACKAGE" and requirements.."
yum -y --quiet install "$PACKAGE" rubygem18-json
そして最後に乗客:
echo "..installing passenger and requirements.."
yum -y install httpd httpd-devel mod_ssl Ruby18-devel rubygems gcc gcc-c++ curl-devel openssl-devel zlib-devel
gem install rack passenger
passenger-install-Apache2-module --auto
通常の作業(Apacheのconfig.ruとvhost config)を行うことを忘れないでください。そうすれば、すべてが機能するはずです。使用しないことを選択したため、フォアマンでこれを試しませんでしたが、可能であり、そうであれば、かなり同様に機能するはずです。
CentOS6システムでも同じエラーが発生しました。職長のインストールガイドで説明されているように、追加のリポジトリをインストールする必要があることがわかりました。
http://theforeman.org/manuals/1.5/index.html#3.3.1RPMPackages
すべてのRHELおよび派生物には、Red Hat Software Collections(RHSCL)1.0または再構築が必要です。 CentOSのソフトウェアコレクション。 RHSCLは、RHELのお客様が個別のリポジトリまたは子チャネルとして利用できます。 CentOSのソフトウェアコレクションの詳細については、こちらをご覧ください。ScientificLinuxの場合は、こちらをご覧ください。
AWSインスタンスでも同様のことを行う必要があると思います。