如何在 CentOS 7 上安装 puppet

Jar*_*red 4 centos puppet

CentOS 7 带有 ruby​​ 2.0.0.353-20.el7。我正在尝试在那里安装 puppet,但遇到了错误。首先我运行:

rpm -ivh http://yum.puppetlabs.com/puppetlabs-release-el-7.noarch.rpm
rpm -ivh http://dl.fedoraproject.org/pub/epel/beta/7/x86_64/epel-release-7-1.noarch.rpm
Run Code Online (Sandbox Code Playgroud)

那些工作得很好。然后我遇到了这个问题:

[root@localhost /]# yum install puppet
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirror.beyondhosting.net
 * epel: mirrors.mit.edu
 * extras: mirror.tocici.com
 * updates: centos.chi.host-engine.com
Resolving Dependencies
--> Running transaction check
---> Package puppet.noarch 0:3.6.2-3.el7 will be installed
--> Processing Dependency: hiera >= 1.0.0 for package: puppet-3.6.2-3.el7.noarch
--> Processing Dependency: facter >= 1.6.6 for package: puppet-3.6.2-3.el7.noarch
--> Processing Dependency: rubygem(rgen) for package: puppet-3.6.2-3.el7.noarch
--> Processing Dependency: ruby(shadow) for package: puppet-3.6.2-3.el7.noarch
--> Processing Dependency: ruby(augeas) for package: puppet-3.6.2-3.el7.noarch
--> Running transaction check
---> Package facter.x86_64 1:2.2.0-1.el6 will be installed
--> Processing Dependency: pciutils for package: 1:facter-2.2.0-1.el6.x86_64
---> Package hiera.noarch 0:1.3.4-1.el7 will be installed
---> Package ruby-augeas.x86_64 0:0.5.0-1.el7 will be installed
---> Package ruby-shadow.x86_64 1:2.2.0-2.el6 will be installed
--> Processing Dependency: libruby.so.1.8()(64bit) for package: 1:ruby-shadow-2.2.0-2.el6.x86_64
---> Package rubygem-rgen.noarch 0:0.6.6-2.el7 will be installed
--> Running transaction check
---> Package pciutils.x86_64 0:3.2.1-4.el7 will be installed
---> Package ruby-shadow.x86_64 1:2.2.0-2.el6 will be installed
--> Processing Dependency: libruby.so.1.8()(64bit) for package: 1:ruby-shadow-2.2.0-2.el6.x86_64
--> Finished Dependency Resolution
Error: Package: 1:ruby-shadow-2.2.0-2.el6.x86_64 (puppetlabs-deps)
           Requires: libruby.so.1.8()(64bit)
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest
[root@localhost /]#
Run Code Online (Sandbox Code Playgroud)

看起来它需要ruby 1.8。Ruby 2.0 是默认安装的,看起来是最早可用的。我错过了什么?

Mic*_*ton 10

您似乎安装了 EL6 的 puppetlabs 存储库,然后将其删除并替换为 EL7 的存储库。但是 yum 仍然为 EL6 存储库缓存了数据。把它清理干净,然后再试一次。

yum clean all
Run Code Online (Sandbox Code Playgroud)