Friday, September 14, 2007

Ubuntu Server on Pentium II

For a Pentium II machine I recently revitalized, I wanted to install only the most essential software, so I started from the Ubuntu Server 6.06.1 CD. I did an expert install, since this particular motherboard, an Elitegroup (ECS) P6BX-A+ with Award BIOS, doesn't play nice with GRUB. Plus I planned on some little tweaks, like setting a static IP from the get-go and making a more server-like partitioning scheme.

NOTE: Unless you specify otherwise via the expert installer, Ubuntu disables login as root.

After completing the base installation, during which I opted to use all available repositories, I updated the package indices and installed the necessary packages for X, plus a window manager and other conveniences.
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install x-window-system-core xdm fluxbox xterm
Then I rebooted and was delighted to find the X server started without a single problem.

While installing additional packages, I discovered that it took an intolerably long time to connect to the repositories. Once I installed Firefox, I observed similar delays in loading pages. For some reason, disabling IPv6 (via about:config) got Firefox working, but apt-get remained sluggish. So I used traceroute in the hope of finding the cause.

Apart from the delay in passing through the gateway, which I also observed on my Debian box when I traced the same route for comparison, it wasn't resolving domain names. Instead of the expected output,
traceroute to (, 30 hops max, 40 byte packets
1 ( 1.931 ms 1.680 ms 1.782 ms
2 * * *
3 (NN.NN.NNN.NN) 8.599 ms 7.877 ms 9.530 ms
4 (NN.NN.NNN.NNN) 9.573 ms 8.122 ms 9.572 ms
5 (NN.NN.NNN.NNN) 10.248 ms 8.929 ms 9.522 ms
6 ( 10.724 ms 9.759 ms 9.519 ms
7 ( 9.838 ms 10.222 ms 9.526 ms
8 ( 12.028 ms 11.325 ms 11.952 ms
9 ( 14.310 ms 14.387 ms 14.187 ms
10 ( 13.551 ms 13.315 ms 14.142 ms
11 ( 17.783 ms 16.573 ms 17.901 ms
12 ( 18.032 ms 16.492 ms 16.894 ms
13 ( 16.672 ms 17.544 ms 16.504 ms
14 ( 94.043 ms 93.927 ms 93.544 ms
15 ( 93.777 ms 93.384 ms 93.506 ms
16 ( 92.104 ms 90.699 ms 91.123 ms
17 ( 93.688 ms 93.222 ms 94.142 ms
18 * * *
every line looked like lines 9-11 above: no FQDN, only an IP. That pointed to a DNS problem. So I opened resolv.conf and found that the resolver had been using my router as its name server—a less than ideal configuration, since my router is an entry-level Linksys. I merely changed resolv.conf to read
and restarted networking services:
sudo /etc/init.d/networking restart
and it worked flawlessly.

The server install achieved exactly what I envisioned for this box: low resource usage. Here's the process tree right now, with one user active.
│ ├─kacpid
│ ├─kblockd/0
│ ├─kgameportd
│ ├─khubd
│ ├─kseriod
│ └─2*[pdflush]
│ └─pstree
Yes, I'm writing this post in Firefox on the Ubuntu server with X forwarding to my laptop. Remember, this is a Pentium II at 450MHz, circa 1998. Legacy hardware has a place in modern computing—in the third bedroom, right beside my main Debian box.

No comments: