Take any installation and install what you need. Then, every time you use something, go find the sourcecode, compile it and replace the binary stuff you installed from your distro. Doing that will teach you about what you're using and how it works.
bcnu, Mikem
I don't do third world languages. So no, I don't do Java.
Modify this to - any time you put something *new* on, get the code. There are dependencies between package versions and glibc on all distributions, which if ignored will ruin your installation.