darkness

Tuesday, 19 September 2006

Impressions of Debian

darkness @ 12:50:23

I’m installing Debian Sarge on a fairly average x86 box: Pentium 4, Asus P5P800-VM motherboard, 1GB RAM, two SATA hard drives.

I went ahead and set myself up for a network boot/install using PXELINUX. I do Linux installs often enough that this could potentially save me some time. I took the pxelinux.cfg/default file from netboot.tar.gz and modified it for my purposes. The installer’s version of “expert mode” simply sets DEBCONF_PRIORITY to a lower value, which means you see all messages of that (lower) priority and above.

It netbooted pretty much fine. I had downloaded the netinst ISO and made it available locally via Apache, but it took me a while to figure out how to tell the installer to use my local mirror. The trick: when asked what country you’re in, in order to find a close mirror, scroll to the top and select something like “manually enter location.” I found this kind of unintuitive, but once I did find it the installer gladly used the extracted netinst files.

The initial problem I had with Sarge was that the Promise “RAID” (ha) controller in the system, a FastTrak TX2300, was apparently not supported by the installer’s older kernel. I fixed this by moving the SATA drives on to the motherboard’s controller. Then I removed the FastTrak (which I never asked to be installed in this system) and promptly throwing it into the pond behind my apartment. Promise sucks. Seriously.

The installer is text mode, mostly fast, and easy to use. It let me install onto LVM on software RAID (once I installed the necessary installer modules—and I find the concept of those little installer “plug-ins” pretty cool). One oddity: it kept telling me the partition table on one of my software RAID devices was invalid, and telling me to reboot before using it. Stupidly I did actually reboot, and still got the error. I guess I’m just supposed to ignore this because everything works now.

The install of the base system went quickly and I was then booting into Debian. One thing I noticed was a whole bunch of messages:

devfs_mk_dir: invalid argument.<4>devfs_mk_dev: could not append to parent for /disc

Some later searching finds Debian bug #320379 which says “yes, this is a problem; no, we’re not fixing it in stable.” It relates to devfs, I guess, which is now gone. I suppose they didn’t fix this in stable because it’s really only cosmetic… but I find myself kind of wishing they would have fixed it. It’s probably of some value to see some of the boot messages that precede this wash of errors.

Despite the fact that I had only the base system installed, the Debian boot process is still kind of noisy for my tastes. In Red Hat, you get single lines telling you what’s being started/stopped followed by OK or ERROR. With that it’s pretty easy to see at a glance if something didn’t work, and if you want to see what was on stdout/stderr you can find it in /var/log/messages. Debian appears to just let the programs run wild; for example, I’m treated to dhclient’s copyright/advertising message every time it gets run. I suppose all this noise is a matter of taste…

I still love what’s included in Debian’s minimal install, which is to say almost nothing. RH/FC’s minimal install can be rather large. I strongly suspect APT is still more powerful than yum, as evidenced by stuff like pinning (thanks phealy).

Comparing the installers is pretty much a wash: they ask a lot of the same stuff. I don’t care about graphical vs. text mode; I only started using graphical in RH because the text installer couldn’t do fun stuff like software RAID and LVM (at least, at the time; I don’t know what the status is today). Debian had that weird warning about no partition table on the software RAID device. Debian was nice enough to ask for parameters for kernel modules, and I don’t think RH/FC does that (though I suppose there’s almost certainly somewhere you can supply parameters). The Debian partitioning tool was nicer, letting me set things like nosuid,nodev at install time. It seemed faster and easier to navigate with the keyboard, too.

One thing that worries me slightly is an apparent lack of an easy “remote install” feature in Debian. Sometimes a server is far away from me, so I send someone else a RH or Fedora CD, have them type linux vnc at the boot: prompt, answer a few questions about language and testing the CDs, then have them read me the IP at the bottom of the screen. Then I can VNC in and complete the (graphical) installation. I didn’t see anything quite this easy from the Debian installer, but I did see something: there’s some kind of SSH server module in the installer. It probably would take a little more time to walk someone through selecting that and getting it going over the phone, but it should still be possible at least. Maybe this is easier in Etch.

When the post-boot configuration (the name of which I’ve already forgotten; was it base-config?) ran it was pretty easy to use. No option to set up an NTP server, unlike RH/FC, but that’s because there’s no NTP server installed by default. (Like I said: minimal is really minimal.) Setting up Exim was a little confusing. It gave me four or five choices, the two most promising being something like “Internet host, receive mail via SMTP” and “Local only: not on a network, no outbound.” The choices were confusing to me: I don’t want to receive mail from the Internet at large via SMTP, but I do need the box to be able to send out mail via SMTP (i.e., for the root alias). I ended up selecting the first option, “Internet host” or whatever, and happily found it defaulted to binding the SMTP server to 127.0.0.1, which was what I was looking for in the first place.

One final thing that bothered me about the installation was that there was no SSH server started by default. I said before that I liked how minimal the Debian minimal installation was. However I consider an SSH server to be a basic part of any system I install. Maybe there are lots of people out there that don’t want an SSH server on by default, I don’t know. As I mentioned before, I sometimes do remote installations, and I’d hate to have to walk someone through even more stuff after the system boots to disk just to get the ssh package installed. However, I’m betting that there’s some semi-easy way to tell the installer to include ssh in its base installation. (Of course, I’d also need to set a root password after the installation. If you have a shell, which the installer gives you, you can do this; but how easy is it? RH/FC asks you for a root password at install which I probably prefer.)

No Comments »

No comments yet.

RSS feed for comments on this post. TrackBack URL

Leave a comment

Powered by WordPress