[puppet] Installation on Red Hat Enterprise Linux

Ran into a bit of a problem initially installing ‘puppet’, the configuration management tool on RedHat. The installation was pretty straight forward, but if you are not using RedHat on a daily bases you may get thrown off.

I was aware enough to at least have EPEL installed on the system as indicated on EPEL Wiki :

rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm

but afterwards I ran into the following problem trying to install puppet:

# yum install puppet
Loaded plugins: rhnplugin, security
This system is not registered with RHN.
RHN support will be disabled.
Setting up Install Process
Parsing package install arguments
Resolving Dependencies
--> Running transaction check
---> Package puppet.noarch 0:0.25.5-1.el5 set to be updated
--> Processing Dependency: facter >= 1.5 for package: puppet
--> Processing Dependency: ruby-augeas for package: puppet
--> Processing Dependency: ruby-shadow for package: puppet
--> Processing Dependency: libselinux-ruby for package: puppet
--> Running transaction check
---> Package puppet.noarch 0:0.25.5-1.el5 set to be updated
--> Processing Dependency: libselinux-ruby for package: puppet
---> Package facter.noarch 0:1.5.9-1.el5 set to be updated
---> Package ruby-augeas.x86_64 0:0.4.1-1.el5 set to be updated
--> Processing Dependency: augeas-libs >= 0.8.0 for package: ruby-augeas
--> Processing Dependency: libaugeas.so.0(AUGEAS_0.10.0)(64bit) for package: ruby-augeas
--> Processing Dependency: libaugeas.so.0(AUGEAS_0.1.0)(64bit) for package: ruby-augeas
--> Processing Dependency: libaugeas.so.0(AUGEAS_0.8.0)(64bit) for package: ruby-augeas
--> Processing Dependency: libaugeas.so.0(AUGEAS_0.12.0)(64bit) for package: ruby-augeas
--> Processing Dependency: libaugeas.so.0(AUGEAS_0.11.0)(64bit) for package: ruby-augeas
--> Processing Dependency: libaugeas.so.0()(64bit) for package: ruby-augeas
---> Package ruby-shadow.x86_64 0:1.4.1-7.el5 set to be updated
--> Running transaction check
---> Package puppet.noarch 0:0.25.5-1.el5 set to be updated
--> Processing Dependency: libselinux-ruby for package: puppet
---> Package augeas-libs.x86_64 0:0.8.1-2.el5 set to be updated
--> Finished Dependency Resolution
puppet-0.25.5-1.el5.noarch from epel has depsolving problems
  --> Missing Dependency: libselinux-ruby is needed by package puppet-0.25.5-1.el5.noarch (epel)
Error: Missing Dependency: libselinux-ruby is needed by package puppet-0.25.5-1.el5.noarch (epel)

There were two issues preventing the installation of puppet with my RHEL system:

  1. My system was not registered with the RHN, as indicated in the output above. This is necessary because:
  2. My system was not subscribed to the “Optional” channel.

Bullet #2 was hinted at on the EPEL wiki:

NOTE: You need to also enable the ‘optional’ repository to use EPEL packages as they depend on packages in that repository.

However, I overlooked this minor detail and was scratching my head for a second. Afterwards, I simply registered the system via the command line using rhn_register, then logged into the RHN website and added the following channel for my system:

[X] RHEL Optional Productivity Apps

That was all. And ‘yum install puppet’ happily complied.

# yum install puppet
Loaded plugins: rhnplugin, security
Setting up Install Process
Parsing package install arguments
Resolving Dependencies
--> Running transaction check
---> Package puppet.noarch 0:0.25.5-1.el5 set to be updated
--> Processing Dependency: facter >= 1.5 for package: puppet
--> Processing Dependency: ruby-augeas for package: puppet
--> Processing Dependency: ruby-shadow for package: puppet
--> Processing Dependency: libselinux-ruby for package: puppet
--> Running transaction check
...edited...
Dependencies Resolved

==========================================================================================================================
 Package                        Arch                Version                       Repository                         Size
==========================================================================================================================
Installing:
 puppet                         noarch              0.25.5-1.el5                  epel                              784 k
Updating:
 libselinux                     i386                1.33.4-5.7.el5                rhel-x86_64-server-5               77 k
 libselinux                     x86_64              1.33.4-5.7.el5                rhel-x86_64-server-5               78 k
 libselinux-devel               i386                1.33.4-5.7.el5                rhel-x86_64-server-5              144 k
 libselinux-devel               x86_64              1.33.4-5.7.el5                rhel-x86_64-server-5              149 k
 libselinux-python              x86_64              1.33.4-5.7.el5                rhel-x86_64-server-5               74 k
 libselinux-utils               x86_64              1.33.4-5.7.el5                rhel-x86_64-server-5               56 k
Installing for dependencies:
 augeas-libs                    x86_64              0.8.1-2.el5                   epel                              329 k
 facter                         noarch              1.5.9-1.el5                   epel                               61 k
 libselinux-ruby                x86_64              1.33.4-5.7.el5                rhel-x86_64-server-5               61 k
 ruby-augeas                    x86_64              0.4.1-1.el5                   epel                               21 k
 ruby-shadow                    x86_64              1.4.1-7.el5                   epel                              9.6 k

Transaction Summary
==========================================================================================================================
Install      6 Package(s)
Update       6 Package(s)
Remove       0 Package(s)
...edited...
Installed: puppet.noarch 0:0.25.5-1.el5
Dependency Installed: augeas-libs.x86_64 0:0.8.1-2.el5 facter.noarch 0:1.5.9-1.el5 libselinux-ruby.x86_64 0:1.33.4-5.7.el5 ruby-augeas.x86_64 0:0.4.1-1.el5 ruby-shadow.x86_64 0:1.4.1-7.el5
Updated: libselinux.i386 0:1.33.4-5.7.el5 libselinux.x86_64 0:1.33.4-5.7.el5 libselinux-devel.i386 0:1.33.4-5.7.el5 libselinux-devel.x86_64 0:1.33.4-5.7.el5 libselinux-python.x86_64 0:1.33.4-5.7.el5 libselinux-utils.x86_64 0:1.33.4-5.7.el5
Complete!

Worked like a charm!

# puppet --version
0.25.5

# facter
...edited...
kernelmajversion => 2.6
kernelrelease => 2.6.18-128.el5
kernelversion => 2.6.18
lsbdistcodename => Tikanga
lsbdistdescription => Red Hat Enterprise Linux Server release 5.3 (Tikanga)
lsbdistid => RedHatEnterpriseServer
lsbdistrelease => 5.3
lsbmajdistrelease => 5
...edited...

As a side note: It may be a good idea to also install ‘RDoc::usage’ provided by the package ‘ruby-rdoc’. If not you may run into the following problem trying to get help with “puppet –help”:

# puppet --help
No help available unless you have RDoc::usage installed

Just install the ‘ruby-rdoc’ package by performing:

# yum install ruby-rdoc
Advertisements
This entry was posted in *Nix. Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s