RHEL6に人形を取り付ける

RHEL6に人形を取り付ける

RHEL6にpuppetをインストールすると、次のエラーが発生します。 Ruby gemをインストールしましたが、Ruby gemの依存関係に問題があります。この問題をどのように解決できますか?

[root@INFINI-ONE ~]# yum install puppet
Loaded plugins: product-id, subscription-manager
Updating Red Hat repositories.
core-0                                                   | 1.8 kB     00:00     
core-1                                                   | 1.8 kB     00:00     
core-2                                                   | 1.8 kB     00:00     
core-3                                                   | 1.8 kB     00:00     
core-4                                                   | 1.8 kB     00:00     
core-5                                                   | 1.8 kB     00:00     
puppetlabs-deps                                          | 1.9 kB     00:00     
puppetlabs-products                                      | 1.9 kB     00:00     
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package puppet.noarch 0:3.2.1-1.el6 will be installed

--> Processing Dependency: facter >= 1.6.11 for package: puppet-3.2.1-1.el6.noarch

--> Processing Dependency: hiera >= 1.0.0 for package: puppet-3.2.1-1.el6.noarch

--> Processing Dependency: ruby(selinux) for package: puppet-3.2.1-1.el6.noarch

--> Processing Dependency: ruby-augeas for package: puppet-3.2.1-1.el6.noarch

--> Processing Dependency: ruby-rgen for package: puppet-3.2.1-1.el6.noarch

--> Processing Dependency: ruby-shadow for package: puppet-3.2.1-1.el6.noarch

--> Running transaction check

---> Package facter.x86_64 1:1.7.1-1.el6 will be installed

---> Package hiera.noarch 0:1.2.1-1.el6 will be installed

--> Processing Dependency: rubygem-json for package: hiera-1.2.1-1.el6.noarch

---> Package puppet.noarch 0:3.2.1-1.el6 will be installed

--> Processing Dependency: ruby(selinux) for package: puppet-3.2.1-1.el6.noarch

---> Package ruby-augeas.x86_64 0:0.4.1-1.el6 will be installed

---> Package ruby-rgen.noarch 0:0.6.2-1.el6 will be installed

---> Package ruby-shadow.x86_64 0:1.4.1-13.el6 will be installed

--> Running transaction check

---> Package puppet.noarch 0:3.2.1-1.el6 will be installed

--> Processing Dependency: ruby(selinux) for package: puppet-3.2.1-1.el6.noarch

---> Package rubygem-json.x86_64 0:1.5.5-1.el6 will be installed

--> Processing Dependency: rubygems for package: rubygem-json-1.5.5-1.el6.x86_64

--> Finished Dependency Resolution

Error: Package: rubygem-json-1.5.5-1.el6.x86_64 (puppetlabs-deps)
           Requires: rubygems

Error: Package: puppet-3.2.1-1.el6.noarch (puppetlabs-products)
           Requires: ruby(selinux)

 You could try using --skip-broken to work around the problem

 You could try running: rpm -Va --nofiles --nodigest

[root@INFINI-ONE ~]# gem -v

2.0.3

ベストアンサー1

あなたが言及したRuby gemはgemパッケージマネージャを使ってインストールされていますか、それともこれらのgemの実際のRPMを使ってインストールされましたか?

私は彼らがすでにgemをインストールしていると思います。その場合、RPMはこれについて何も知らないため、これらのパッケージをインストールするためのRPM履歴がないため、このエラーが発生します。

次のようにインストールされたgemを一覧表示できます。

$ gem list

*** LOCAL GEMS ***

abstract (1.0.0)
actionmailer (3.0.10, 3.0.5)
actionpack (3.0.10, 3.0.5)
activemodel (3.0.10, 3.0.5)
activerecord (3.0.10, 3.0.5)
...

潜在的なソリューション

次のタイトルの投稿が見つかりました。Puppet 3.x, ruby​​gem パッケージが RHEL 6.4 で見つかりません。同じ問題について話し合ってください。この問題を解決するには、yum設定に追加のリポジトリを追加する必要があるようです。これを行うには、次のコマンドを使用できます。

yum-config-manager --enable rhel-6-server-optional-rpms

rvmを使用したプライベートRubyのインストール

不足しているパッケージがたくさんある場合、またはさまざまなgem用に独自のパッケージをリリースする必要がある場合は、RPMの使用を放棄し、次のようにRuby + Gemsインスタンスを直接構築することをお勧めします。右部屋。別の議論中です。ユアン・エルQ&A

また、ここでrvmの設定と使用に関するブログを作成しました。シェルとCGIスクリプトでRubyのrvmインストールを使用する方法

おすすめ記事