[nzlug] CentOS and the "joys" of rpm based systems

Daniel Lawson daniel at meta.net.nz
Sun Jan 20 21:05:07 NZDT 2008


> TBH, I wouldn't be using either in that environment, but doing all my package selection manually. Well, I actually go further than that and build from source for my production servers... of which only one is redhat.
>   


That's a bit gentoo-esque, isn't it? The idea that a package maintainer 
will add all the bells and whistles and make it impossible for you to 
not use them is a bit outdated.

Debian Woody (released 2002) used to have a bug where if you installed 
slapd, the openldap daemon package, it ended up pulling in X, due to a 
dependancy on an ODBC manager which had a GUI interface.  A bug, but 
I'll concede that it was caused by adding one of those "bells and 
whistles" which may have been better left unchecked, as I doubt many 
people use LDAP with an ODBC backend. However, I haven't hit any other 
troublesome unneeded or unwanted dependencies in Debian since then, and 
the same for Ubuntu. Or Redhat, for that matter. I'm sure it happens 
occasionally still, but it's not something I've hit in a problematic way 
for a long time.

Debian packagers go out of their way to modularise their packages in 
fact. You don't install "PHP" for example and get all the bells and 
whistles. Instead you install the base PHP package (cgi, modapache, cli, 
or any combination of the above), and then whichever modules you want as 
separate packages.  It's definitely false to claim that package managers 
will put extra stuff in there deliberately. Gentoo manages this with USE 
flags, FreeBSD via ports, and RedHat has a similar method to Debian.

> In a production environment, I don't trust anyone but myself to decide what software to load on my servers - especially not third party packagers who tend to add all possible bells and whistles. 
>   


In a production environment, I definitely don't trust whoever is doing 
the maintenance of a machine to keep up to date with not only upstream 
bug/security releases, but also to actively backport security fixes to a 
stable version that it turns out you can't move from.  I'm doing the 
maintenance today, but I might not be tommorrow, and I have some level 
of duty to make sure the systems I implement will work without needing 
my constant care and attention. I'm not saying I ignore these aspects, 
just that it's a far more efficient use of my time to not reinvent the 
wheel.


It's also worth noting that merely using apt, or yum, or whatever, 
doesn't mean you don't get a say in what's installed. I'm not as 
familiar with yum, but there are plenty of ways to circumvent unwanted 
and unneeded bad "dependancies" with apt. The simplest way is to create 
a dummy package which provides the dependancy, and will therefore keep 
your package management system happy. Debian even provides 
infrastructure for this with the equivs package


When it gets down to it, I don't have time to hand fetch packages from 
repositories, tracking through their dependancy tree. I did that with 
older versions of redhat, and I now manage far too many servers to make 
it palatable. I also don't have time to second guess the guys who do 
package management and bug tracking/patching/backporting *all the time*.

I'd much rather spend my workday doing new work, trying to clear out my 
blogroll, or hell, even replying to NZLUG emails... :)






More information about the NZLUG mailing list