Or, you can get into a distro that handles all this for you.... Check out debian. With a few commands you can view the entire universe of software available for debian users (And it's quite extensive), figure out which one you want to install, download and install it.
Most packages come configured for the average user, so no compiling and/or configuring is required....
For instance, not too long ago I wanted to install a caching name server. Just did a command 'apt-get install bind', and that was it.
apt-get brought down the bind server, installed it, and made sure the appropriate /etc/init/rc?.d entries were created, and any
required configuration files in /etc/xxxxxx. The hardest part was creating my local domain records so my private network
also has name resolution....
If you don't happen to know which package you need, you can use dselect, which is a curses based program that shows you
the entire catalog of packages available, and allows you to search for things, see synopsis of packages, etc, etc.
The other nice thing is you can build your own packages (kernel packages are a very nice feature). You build a kernel-package,
and install it just like a normal debian package (say 2.2.19-mypatches). Then when debian releases a newer kernel with your
features already built in (like 2.2.20 with Promise ATA-100/133 drivers), you can just do an 'apt-get install kernel-image-2.2.20),
and it will bring down the new kernel, move your kernel to old, update lilo, and set everything up for you.....
If you want sophisticated package management and accurate dependency checks, then debian is for you.
Debian homepage