web-dev-qa-db-ja.com

Amazonec2インスタンスへのフォアマンのインストール

こんにちは、読んでいただきありがとうございます、

私は現在、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

誰かが同じ問題に遭遇しましたか?これを解決するにはどうすればよいですか?

事前に感謝し、これをすべて読んでくれてありがとう!

3
afriemann

Red Hat EnterpriseLinuxおよびそのクローンのパッケージはAmazonLinuxと互換性がありません。 Foremanをインストールする別の方法、またはできれば別のLinuxディストリビューションを見つける必要があります(Amazon Linuxには多くの問題があり、一般的にほとんど何にも適していません)。

1
Michael Hampton

フォアマンプロキシもインストールするフォアマンインストーラーを使用して、AmazonLinuxにフォアマンをインストールすることができました。

PuppetとforemanはRuby1.8を使用し、Amazonlinuxはデフォルトで2.0を使用するため

  • echo -e "[main]\nenabled = 0"> /etc/yum/pluginconf.d/priorities.conf
  • yum install Ruby18
  • yum install ruby​​gems18
  • 代替案--config Ruby => Ruby1.8を選択

次に、epel forにあるscl-utilsパッケージ(バージョン20120229)には、このファイル/ usr/bin/scl_sourceがありません。このバージョン20120927が必要です。ここで見つけました:

次に、パッケージipmitoolが必要です。 CentOSボックスでyumダウンローダーを使用してインストールしました

  • yum localinstallipmitool-1.8.15-2.el6.x86_64.rpm。

その後、foreman-installer-iは正常に終了しました。

1
user365399

最近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)を行うことを忘れないでください。そうすれば、すべてが機能するはずです。使用しないことを選択したため、フォアマンでこれを試しませんでしたが、可能であり、そうであれば、かなり同様に機能するはずです。

1
afriemann

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インスタンスでも同様のことを行う必要があると思います。

0
Niels Basjes