It was thus said that the Great Jules Richardson once stated:
I just wish the concept of a package was more of a file-level thing, so that
you end of with a system just comprising the bits you really need and use -
coupled with some sort of common mechanism which can tell you when you're
trying to do something from a front-end script / GUI app for which you're
missing required modules / libraries / other apps of course. Possibly have the
ability for the system to automatically go fetch the needed bits from the 'net
too.
I just wish the concept of a package was more consistent and took into
account what you actually *have* installed. A month ago I configured a
server at work with MRTG [1]. It was failing form some mysterious reason
[2] and in order to figure out what was going on, I decided to hack the
source to one of the programs to provide more informative logging
information. I get the source, do the configure dance, and find I'm missing
the GD [3] development package (the GD binaries already installed).
This being a Fedora Core system, I can use 'yum'. Only I have to figure
out the magical incantation to get the GD development package installed.
Turned out to be 'yum install gd-devel'. So I do that.
And I ended up installing the X Windows Development system, which I
neither want, nor use, on this headless Linux server buried deep in our data
center.
WHY Fedora Core thought I needed the X Windows Development system for GD
is beyond me (since X isn't even *installed* on the server. Oh, and yum
"helpfully" updated a score of packages that have updated since I last ran
yum some twenty minutes before or something silly like that).
-spc (Oh, and heaven forbid you don't upgrade every hour, since (in my
opintion) both Fedora Core and Gentoo seem to move their
repositories whenever the mood strikes them [4])
[1] Multi Router Traffic Grapher. Okay program to monitor bandwith
usage in various routers, but configuration is a bitch. Cacti
is a *much* nicer program to use.
[2] It turned out that when the system was installed, the various MRTG
scripts were already installed in "/etc/cron.d/mrtg", *even though
it wasn't configured and did nothing!* Not knowing this, I added an
MRTG cronjob via "crontab -e" (which uses
/var/spool/cron/crontab/root in this case). So now I had two (2)
MRTGs running, overwriting the log files.
Sometimes these package managers are "too" helpful.
[3] Not sure what GD stands for, but it's a library that allows one to
create GIFs/JPEGs/PNGs programmically (create a canvas, draw to it,
then write the canvas to a file with the specified format). It's
used quite often by CGI programs to draw graphics. GD itself does
not use X Windows.
[4] Me, bitter? Naaaaaaahhhhh ...