3

I've been managing 20-30~ cPanel based hosts over the past year with Puppet, Nagios and Munin for general monitoring / trending however a lot of the methods I've had to use to deploy / manage things such as configurations a pain.

For those of you who aren't familiar with cPanel - it adds a few things to yum exclude such as perl*, ruby* and so forth. This causes issues with me being able to bootstrap monitoring on a new server via Puppet (well via the Package type) due to a bunch of conflicts with installing via Yum.

Now I could create a custom RPM for everything and remove certain dependencies from the spec file however I would like to avoid this if possible. Does anyone have any proposed functional ways to manage this sort of environment?

Currently I install Puppet, Facter and Munin via RPM's and force install using --nodeps and such (since they're installed, just no the ones Yum wants). Nagios I installed manually from source at this time (likely will create RPM's however I want to tackle this general issue first).

3 Answers 3

2

Use cPanel's ruby instance -- /scripts/installruby -- from there you can install via gem or via source.

1

Well Munin can be installed via the WHM plugin installer at:

Main >> cPanel >> Manage Plugins

Just click 'Install and keep updated' and it will be installed.

Yum should be able to install packages with dependencies in the exclude= section of the yum.conf as long as they are in the RPM database and the proper version. cPanel systems are known to frequently get corrupt RPM databases. Try rebuilding it and then try your install again. Rebuild the RPM database:

Remove /var/lib/rpm/__db* files to clear stale locks from dead RPM processes:

cd /var/lib/rpm
rm __db*

Rebuild RPM database:

rpm --rebuilddb

Any difference?

If not, are the missing dependencies even installed? Check using:

rpm -qa

or:

rpm -qi [packagename]

cPanel installs ruby via RPM so this should be listed and should resolve the dependency when installing via yum. cPanel doesn't however install PHP so if this is a missing dependency then that's another issue.

1
  • It's the excludes cPanel adds causing the packages to fail miserably on the dependency portion (ex: Puppet needs some Ruby) and exits out. I think the only way to get a cPanel based server under full Puppet control is with some custom bootstrap scripts to install from source or custom RPM's (most ideal).
    – WinkyWolly
    Jun 7, 2010 at 13:45
1

The issue is with RPM auto depsolving. Unfortunately cPanel doesn't use RPM based packages / adds some things to the Yum excludes / installs some things in non-standard area's (as far as RHEL is concerned) causing issues with RPM/Yum depsolving.

The solution I found was building my own RPM and having it not auto depsolve.

Not the answer you're looking for? Browse other questions tagged .