Wednesday, March 18, 2009
As I wrote yesterday, I would really like to get my hands on a QNAP TS-209 II. It seems like an ideal home server; it has extremely low power consumption, and you can install Linux on it to tailor it to your own needs. With other NAS devices, it seems what you get is a (buggy) proprietary firmware with a limited array of services.
Waiting for the TS-209 to make it to the top of my gadget shopping list, I decided to make do with what I have. The revamped Dell Inspiron 2650 that was the subject of my very first post is a quadruple-boot machine these days (Windows XP, Ubuntu, Linux From Scratch and Gentoo). I decided to tailor the Gentoo installation to act as a test home server, since it's very customizable, and fun to tweak.
Gentoo is what I started out with when I was getting to know Linux. In Gentoo, you compile all of the software on your machine. It might take you a couple of days to compile all the packages needed to get a Gnome desktop, but once you do, it is compiled specifically for your processor type, and exactly with the features that you have selected. Gentoo is a lot of fun if you don't mind having all-night compile sessions on your computer once in a while, or pulling your hair over some bizarre error that you solve ten days later realizing it was due to some version inconsistency deep down in the dependency tree. After a while, the hair pulling was too much for me. Since I switched to Ubuntu on the machines I use routinely, the amount of time spent on maintenance has decreased dramatically. But for a project like this, when you want to learn how all the bits and pieces fit together, Gentoo is perfect.
I have come so far as to administer the system remotely via SSH, and it is very satisfying to be able to log in on my lunch break and see 'emerge -e world' chew away on the packages, optimizing the system for my old Celeron.
Before I sign off, I have to make a note that GNU Screen is probably one of the most overlooked packages there is. I had never heard of it until a few days ago, but it is that package that makes it possible to do what I just described - to detatch from a terminal session and attach to it at a later time. Be sure to check it out.