TechieMoe.com

Introduction:

A new version of Debian comes around only a couple of times a decade, so releases tend to be big news. The father of many popular distributions like Ubuntu, this massive project has plodded along with consistent and stable (if not timely) releases since the mid 1990s.

Much like fellow old hat Slackware, you can generally bet money that if a version makes it to the stable release branch, it's been thoroughly tested.

The downside to this of course is Debian is constantly in a battle against time. By the time a fully-tested set of programs is released (usually about every 2 years), the packages in the set are already out of date.

This has led to the proliferation of Debian offshoots such as Ubuntu, whose use the solid Debian base and augment it with a much more rapid release cycle at the cost of more thorough testing.

It's not all practical matters, however. Debian separates itself with its Social Contract and Free Software Guidelines, which ensure that all programs included in the official release are free to modify and redistribute. I'll get more into that later. First, let's dig into Debian 5.0 "Lenny."

Install:

I downloaded several versions of Lenny just to see the differences. As far as I could tell the installer is identical for both the full DVD and the "net-install" which weighs in at a svelte 150MB. If you have a decent net connection and you're not already downloading the DVD, the net-install disc is the way to go.

Even if you have the bandwidth for the DVD, the net-install disc gives you the opportunity to install a basic, bare-bones console system and add on as much or as little as you want, so it's a good choice for those of us who like to customize our systems.

Apparently with version 5, Debian has picked up on the Wubi installer introduced by Ubuntu. It could also be a coincidental separate project, but the end result is the same. When I inserted my Debian disc while running Windows XP, I was given the option to install it inside of Windows.

Booting from the disc gives you the option of two installers, the traditional text-based menus and a new graphical process similar to modern Linux distributions like Ubuntu and Fedora. I chose the graphical install. Interestingly, a button on the left of each screen allows you to take a screenshot, which is saved in /var/log/installer and accessible on your final system.

I had some strange behavior from X Windows in VirtualBox. It couldn't seem to decide on a resolution. Sometimes I would boot and get 800x600, other times it would be the less standard 720x400(?). Since the graphical tool was useless, I went command-line.

Normally the tool I use to fix resolutions is dpkg-reconfigure --xserver-xorg, but thanks to some recent changes that's no longer an option. Instead of a nice set of menus I could scroll through and pick my desired resolutions I had to learn a whole new set of command-line incantations using a program called xrandr.

This is a step backwards in usability as far as I'm concerned. If someone more knowledgeable than me has a way to get back the old configuration screens in dpkg-reconfigure, I'm all ears.

Apparently the settings I chose with xrandr were more "suggestions," because I still had issues with my display randomly changing size on reboot. I'm not sure if this was an issue with Debian or the display driver in VirtualBox.

Another peculiarity I ran into while running a virtual machine was a propensity of kernel failures. The "kerneloops" applet got quite the workout through my multiple tweaks and reboots in VirtualBox. For what it's worth, I didn't notice these problems when I installed Lenny on Rig 2.

I ran into a new screen during the install on my laptop regarding my Intel 3945 wireless card. I was expecting this. Ubuntu and Fedora have no issues including the freely-available firmware and drivers provided by Intel for this very popular and standard chipset, but Debian does.

Firmware is a sticking point with hard-line Debianites. In fact, it was part of the reason why Lenny was delayed for so long. As such most of the useful stuff needed to make certain pieces of hardware work are either relegated to the /non-free/ repository (which is not included on the discs) or left out entirely.

This meant I had to download them myself. It took some digging, but the package is called "firmware-iwlwifi" and it's in the non-free repository. Install it, log out and log back in and you should be fine.

I understand the philosophy behind having only "free as in speech" software on Debian proper. However I am not a philosopher; I'm a pragmatist. When a single-CD distribution like Ubuntu includes wireless firmware for my laptop and a 5-DVD distribution does not, there's something wrong.

Not surprisingly, multimedia codecs like MP3 and WMV did not work out of the box, but were available in the non-free repository. The same is true for 3D drivers for my Nvidia card.

The default install gives you Gnome, but in a fit of frustration while trying to remove some unneeded software (see below) I ended up dumping Gnome completely in favor of LXDE. This desktop is relatively new in comparison to heavweights like KDE and Gnome. It's not as pretty in some respects, but it gets the job done and doesn't require me to install a litany of applications I'll never use.

Software Selection:

As long as you're not looking for commercial drivers and firmware or MP3 playback, you'll find pretty much everything and the kitchen sink on the Debian discs. Even if you didn't take the time to download (or buy) all 5 DVDs or all 31 CDROMs, the first DVD has quite a bit of software on it.

Once you have an internet connection, all the missing parts can be downloaded. The trick (for those of you using wireless) is how to get that connection. In my case I was forced to physically hook up to the network with ethernet and download the proper firmware for my wireless card.

The default install gives you a Gnome desktop with a basic assortment of programs (Iceweasel aka Firefox, Pidgin, OpenOffice, GIMP). This is true for both the full DVD and the "net-install" CD. Inkscape and Epiphany were also included. I was happy to see that the version of Cheese installed worked with my webcam.

Curiously, Java (GCJ) was installed by default but NOT the GNU C Compiler. Usually it's the other way around. Installing the "build-essential" package remedied that. However unlike Ubuntu's "build-essential" I had to manually select the kernel header files. This usually allows me to install my Nvidia drivers.

I ended up having to use the version of the Nvidia drivers in the repository (173) rather than the newer ones available from Nvidia (180) because of a mismatch between the version of GCC I had installed and the one used to build the kernel.

I've not run into this issue before, but I'm all ears if anyone has suggestions. Although the repository method is cleaner, I would prefer to have the latest and greatest driver.

A helpful reader clued me in to a solution for this. Before executing the Nvidia install script, if you set the CC environment variable to the proper verison of GCC it will execute without incident. The command is:

export CC=gcc-4.1

One program I hadn't noticed before was "System Profiler and Benchmark." It kind of reminds me of the Apple System Profiler, in that it gives stats on your hardware and attached devices.

It also has benchmark tests that it will run on the fly and give you results with comparisons to other machines. I have no idea what 12.646 on the FPU Raytracing test means, but apparently it's good.

On the subject of software packages, allow me to use Debian as an example for a pet peeve of mine: odd interdependencies. This is not something unique to Debian, but it came up when I attempted to remove the Epiphany web browser using Synaptic. Epiphany wanted me to remove the "gnome" package.

Now, this is more than likely just a meta-package with no real system impact however the interlinking of software that keeps me from fully customizing my desktop annoys me greatly. I've had similar difficulty removing Evolution mail. I do not want or need a fat-client email program. However should I choose to remove it, it tries to take the entire GNOME desktop with it.

Remember when people complained that you couldn't get rid of Internet Explorer on Microsoft Windows 98? I feel just as frustrated at bizarre dependencies like this.

Even if Evolution is so tied into the system internals it can't be jarred loose, why oh why can't I pick and choose which of the Gnome Games I want to keep without having to remove all of them? Just once I'd like to be able to remove GTali or Chess and still have Mahjongg and Sudoku. Is this too much to ask?

I don't know if KDE is much better because honestly I haven't used it regularly in years. Dependencies should be based on practical concerns rather than the opinion of the developer that these apps should "go together." It's one thing to say XXX app relies on YYY library, so you can't remove the library.

It's something entirely different to say that Gnome Chess relies on Gnome Mahjongg because the package maintainers simply don't want to handle separate entries in the repository.

Conclusion:

The idea of a "universal operating system" that runs on just about any piece of hardware on the planet and is 100% modifiable, redistributable, and free of charge is a good one.

Perhaps one day in the future there will no longer be a need for proprietary codecs, drivers, or firmware and Debian will be able to power all of the above with no outside help. Until that time I am forced to do more work to get my system running, while offshoots such as Ubuntu go the extra mile to include firmware and drivers for my hardware in the default install.

My overall opinion of Debian is helped by the fact that with an internet connection most my complaints can be addressed. Debian is a very old distribution and they have some of the largest repositories of software in the Linux world.

My only real complaint about them is that the thing that makes Debian "free" (their democratic, standards-enforcting, rule-following process) is also what slows them down and prevents the OS from being truly "universal."

I've been using Lenny for several days now and with all its warts, it's still a solid OS with a rich online presence and large repositories. It just isn't as convenient to me as some of its children, and in the end I use my computer to get things done.