DistributionWatch Review: Debian GNU/Linux 2.2

By: Michael Hall
Thursday, August 17, 2000 10:28:26 AM EST
URL: http://www.linuxplanet.com/linuxplanet/reviews/2204/1/

Slow Development, Instant Upgrade

I was listening to the GNOME press conference several hours late when the announcement came in over e-mail that Debian had finally declared version 2.2 (Potato) stable. Knowing there would be a stampede for the servers in short order I opened an xterm and typed apt-get update, watched the output to see if any of the source archives had changed, and then typed apt-get upgrade.

I was rewarded with a quick download and the installation of a shiny, new, fixed version of the mailx package. I went back to work on my newly stable Debian box. The Debian changelog for mailx mentioned that a security tweak had been made. I felt safer and stable. From frozen to full-blown Potato in the time it took to snag a package.

Pretty anticlimactic stuff, when it comes down to it, and therein lies one of the strengths of Debian GNU/Linux. The project moves forward at a seemingly ponderous pace, but a little time spent reading through the myriad developer and user lists reveals a disarmingly feverish quest for perfection. Its advocates often position it contra everybody else as a distribution wholly disinterested in the latest and greatest, and its deriders bring up just that fact when ticking off reasons they prefer to stick with what they have.

In all fairness, I've been running Potato as it develops for a while now. As bug fixes were made and packages added, I updated the system. As a result, the trickle of changes to the system offered little to notice, especially as the project entered into its final testing cycles.

The package list of this newest release is nothing if not an affirmation of the Debian way of doing things: on the eve of the release of Linux 2.4, Debian has shipped with the 2.2.16 kernel. As even the timid and leisurely are getting around to installing XFree86 4 (if their distribution hasn't already slipped it in somehow), Potato arrives with version 3.3.6. For different reasons, but equally indicative of the Debian approach to its developer community's belief in The Right Thing, KDE users will continue to rely on the unofficial (but solid) packaging of the environment's 1.1.2 release.

There are several reasons behind the slow uptake of "new stuff," in the project, but most advocates will point out that by sticking to what they've polished and tested, Debian can provide one of the most stable, secure, and solid distributions going.

Past releases haven't been without their faults, though, in areas outside of issues of stability. The 2.1 (Slink) release was often faulted for an installation only a geek could love during a time when ease of installation was the silver bullet that would deliver Linux to desktops everywhere, but the project seems to have heard that particular complaint this time around, even if they've avoided the graphical splash other distributions have shown.

Supported Platforms

One of the strengths of the distribution is the wide variety of platforms it supports:

  • ARM
  • PowerPC
  • SPARC
  • Intel x86
  • Alpha
  • Motorola 680x0

The ARM and PowerPC are the newest additions to the list, and they allow the distribution to run on iMacs and Netwinders. According to the release announcement, Debian is now able to run on more architectures than any other distribution.

Newer x86 chips are also well supported in this release: the Duron we used for this review ran without a hitch when we performed a fresh installation, which wasn't something we could claim with some of the last wave of 2.2-based distributions during some recent tests.

The release notes cover the differences in each of the architectures. Some ship with slightly different features, though all are compiled from the same source.

Getting Debian
Debian is available through several methods. CD images can be downloaded, FTP is available, several of the popular sites providing low-cost copies on CD have been accepting pre-orders for some time, and a collection of installation floppy images can be downloaded which, in concert with a working network connection, allow for a net-based installation.

Because the Debian organization itself is non-commercial, there are no differences in the content of the different distribution methods. Given the cash for the extra CDs aside from the one required for an installation, or the bandwidth to download whatever you want, the entire distribution is freely available.

The basic CD provides a fully functional distribution on its own, with most of the packages a working desktop machine or common server installation will require.

Because of Debian's stance on licensing issues, an archive is maintained to provide non-free software such as Netscape, which will install as a binary Debian package the same as any free software package. Software that runs athwart of US cryptography restrictions is available via the "non-US" archives as well. Though not technically part of Debian, the non-free packages are still part of the distribution's bug-tracking database, and receive support via the mailing lists, which form the bulk of support for Debian users.

What's New

Potato represents Debian's entry into the 2.2 series of kernels. When Slink was released, the 2.2 kernel was just entering release itself. The Debian team chose to stick with the 2.0 series rather than switch to the relatively untried kernel.

Several other packages have also been significantly upgraded. GNOME has jumped to 1.0.56, and Perl is at version 5.005.03. Some of the packages new to this release include the postfix mail transport agent, openssh, xmms, and zope.

The distribution has also increased its use of Pluggable Authentication Modules (PAM), and moved more toward the Linux Filesystem Hierarchy Standard. The release announcement also mentions improved international support, including core support for the Japanese Language.

Installing Debian
For this review, we installed Debian on a Duron 650 with 160MB of RAM and a 10GB hard drive using a botoable CD, and we also performed a network installation with a laptop running a Pentium 150 with 32 MB of RAM and a 1.2 GB hard drive.

We also installed a complete version of Slink and tested the upgrade against it. Since the installation hadn't been in place and under real-world use, it's not appropriate to make any claims about how well the automated update from 2.1 to 2.2 will proceed for the average user. It went smoothly for us. We had problems with a few packages that didn't manage to shut down the services they provided during the upgrade, which caused several packages to remain unconfigured, but the verbose output from the update procedure allowed those problems to be resolved in a few minutes. In fact, we believe that people who don't want to wait for a CD of the release and who happen to have a Slink disc set on hand will have no trouble installing a very basic Slink setup and simply using the apt-get distribution upgrade mechanism to have a working Potato in short order.

The Debian installer stands out from other current distributions because it remains text-based. There's no option for an X-based installation. This doesn't mean the installer is particularly difficult to work with, though: when users are presented with a choice, there's usually an accompanying paragraph or two of text explaining the options available.

Debian also doesn't have a specialized tool for disk partitioning, which is the second step in the installation process after selecting a keyboard type. If users need to repartition their drives, the installer invokes cfdisk--fdisk's friendlier variant. The installer does, however, provide some information about choices the user may wish to make in partitioning the drive and labelling the mount points of each of the partitions. Provided the user has read the installation manual, or is already even passingly familiar with the issues surrounding installing an operating system, this part of the installation is simple enough.

Once the drive is partitioned, swap space initialized, and the root partition mounted, the installer prompts for the source of the base system archives to be used to move the rest of the installation along. With a CD-based install, the defaults work.

The next phase involves making sure the machine can proceed with the installation. Kernel modules have to be selected, especially if a functioning network or PCMCIA card is required. The installation manual provided explains the necessity, though. During our installation on the laptop, the installer detected and installed our PCMCIA network card without a hitch.

Once the kernel modules are properly installed, the user has to set some network configuration options, including naming the machine, and providing information about their PPP or ethernet connection. The installation manual lapses briefly at this point, but if the user gathered the appropriate information from the system administrator (or knows it off the top of his/her head), it's simple enough to configure things properly. This step can also be skipped if a working connection to the network isn't required to complete installation.

Once the network is configured, the user selects the time zone, and the final of the preliminary installation is reached by allowing LILO to install the master boot record. The installer once again explains what's going on, and what the ramifications are of each of the choices. Once LILO has written the MBR, the user is prompted to take their boot floppy or CD from the machine, and the system is rebooted.

Some readers may be wondering about that, but we think it makes very good sense. There are several reasons LILO may fail to install the MBR correctly, and we liked the fact that if something went wrong we weren't faced with having sat through an entire download or installation before realizing the problem, which might require yet another installation.

We should also point at that the installer, though it proceeds in a linear fashion, allows users to select steps to complete from a menu at any point in the process. There's no suddenly and mysteriously non-functional 'back' button, and no back-tracking over four or five steps. If you messed something up and it's just now occurring to you, select the step from the menu and make the correction.

After the sytem restarts, the installation program reasserts itself and prompts the user for a root password and the creation of a non-privileged user account. Once again, the program included helpful text.

Selecting packages for the system is fairly streamlined. If they choose the 'easy' method, users can select pre-defined 'tasks,' that include specific lanuage support, commonly grouped packages (such as the GNOME desktop), and development options. If they prefer the hard route, the notorious dselect is waiting.

We didn't notice a middle ground between the two. The list of tasks is specific enough that users don't face downloading or installing too many unwanted pieces of software, but the only way to specify individual packages is via dselect.

dselect is probably most users' least favorite part of Debian, though we find ourselves using it often enough for tasks like cleaning out unused packages from a centralized interface. The program itself isn't particularly troubling, but it requires the investment of a few minutes' time to learn the navigational keystrokes required. It simply isn't as friendly as some of the selection tools other distributions bring to the table, which generally allow mouse navigation.

We went ahead with the 'easy' installation option, however, mainly to make sure it was just that, and it was: even though the dpkg program is working in the background, users are spared the sight of status messages.

Another key area in which Debian's installation differs from many others comes during the unpacking and configuration of the packages. The more common approach tends to be unpacking the archives and trusting the user to modify any configuration files they might need to change once the system is up and running. Debian, on the other hand, allows some basic options to be configured during installation.

This difference is a sore point with some, especially those already aware of the sorts of changes they're going to need to make to default configurations for a given package, and those at the other end of the spectrum who simply don't care to be bothered with configuring things they won't use.

We think Debian's approach is useful, though. The default choices are sane and secure if the user chooses them, and there's something to be said for the additional depth of understanding being made aware of these choices can impart. If nothing else, this method allows the user to jot down areas of potential concern for later on, since most of the time configuration choices are only offered when they'll affect the immediate usability of the package in question.

The big improvement this time around is in X configuration. Where Slink compelled users to use XF86Setup (which is simple enough) or xf86config (which puts people off despite its relatively clear instructions), Potato now has the anXious configuration tool, which asks most of the same questions as xf86config, but in a slightly less stark manner. It autodetects the machine's video card and allows users to pick the default window manager, which xterm-like programs they'd like installed, and whether they prefer to start with the xdm login at boot. It also handles monitor configuration. We found it to be about as usable as Red Hat's Xconfigurator, and with a few extra options that made it more useful as a general tool for control of the X environment.

Using Debian

There are a few key elements to using Debian that differ from other distributions. Most noticeable is the packaging system, which relies on several programs to oversee the process of adding and removing binary archives.

The most basic command is dpkg, which allows for installation and removal of individual packages much the same as RPM. We don't find ourselves using dpkg much, since we tend to maintain our system using apt-get, which is one of the programs we consider to be an outstanding feature of Debian.

Through apt-get, users can identify the locations of package archives on CD, the Internet, or network shares. When a package is installed via apt-get, if it has any dependencies, these are downloaded and installed alongside the desired package with minimal interaction from the user. In cases of complex environments, like GNOME or X11, this means there's very little hunting around to meet dependencies. Requesting the GNOME games package, for instance, will also cause the related GNOME libraries and other essential elements of the environment to be downloaded and installed transparently.

In addition to easing installation, apt-get provides a very simple means to updating the distribution as security and bug fixes are released. The single command line

apt-get update && apt-get upgrade

will cause apt-get to refresh its list of available packages from the providing archive and download and install any changes. Being command-line-based, system updates are easily scripted and scheduled.

By pointing apt-get at the archives of a different development branch of the Debian distribution, it's possible to upgrade the entire distribution with a pair of commands. Slink users who resisted upgrading to Potato will have an easy time making the switch, and Potato users who are ready to resume life on the cutting edge can simply direct apt-get to use the unstable (Woody) branch for downloads from now on. Two commands will obtain every package that's been upgraded to a new version since Potato was frozen.

Finally, the packaging system continues to provide the dselect program, which we mentioned earlier. Though dselect has a sometimes-puzzling interface, it does provide a good way to navigate the known Debian package structure. If a user selects a package for installation that has multiple dependencies, dselect provides a menu of packages that are not only required for successful installation and use, but a set of suggested packages that will enhance the installation. For instance, while downloading some pre-packaged themes for a window manager isn't mandatory, dselect at least reminds the user they're available and provides a quick opportunity to select them for download as well. This provides a more thorough tool than apt-get, which limits itself to including strict dependencies. dselect takes a little learning, but it often proves worth it, especially when you're after a listing of everything installed on the system.

Another area in which Debian differs from other distributions is in the day-to-day maintenance of system configuration. Debian users are likely going to need to be a little better with a text editor than their counterparts using other distributions, though linuxconf and some other tools are available. Debian hasn't placed an emphasis on point-n-click administration. There's no graphical network configuration tool, and some setup programs are a little obscure, though they often take the hassle out of relatively complex tasks.

eximconfig, for instance is the program used to configure the distribution's MTA, exim. Exim comes off as much less complex than sendmail, and eximconf makes it especially easy for dialup users to set up a working SMTP connection to their ISPs if they prefer to have a mail queue running on their machines. Combined with fetchmail's graphical tool and the simple ppp configuration program (or the even easier Wvdial), the most common hangups for new users struggling to get their Linux machine into a usable state are handled.

We should note that none of these tools originated with Debian: they've just taken the time to include them. While they may not be graphically splashy or particularly hand-holding, they don't require extreme motivation to work with, either.

It pays to take advantage of the configuration options occasionally offered during the installation of a new package, since they provide excellent roadmaps for potential pitfalls, and provide gentle reminders of security and functionality issues.

Reflective of Debian's overall tight integration of many disparate elements, the distribution has some excellent mechanisms for maintaining a usable menu structure under X. Part of the package structure includes entries for user menus. As a result, when X-related packages are installed on the system, entries in a centralized menu structure are added. Provided the user sticks with a Debian-configured window manager package, or at least preserves its system-wide configuration files when upgrading to an unpackaged version, the menus are maintained in synch with the packaging system. This is a nice usability touch, and it allows plenty of flexibility for users on the system, since the menu structure spans the disparate window managers. While the desktop environments GNOME and KDE handle much of this on their own, this feature allows a little fuller enjoyment of standalone window managers that aren't wrapped in a broader environment.

Issues

Debian has its challenges, and it's a definite change from many other distributions. If we have any real issues with it, they're items that are likely not going to change.

The developers running the distribution, for instance, are not interested in keeping it bleeding edge, so while your neighbor may soon be running XFree86 4.01 and a 2.4 kernel provided on an official basis by his distribution, if you want those things, you'll have to get them yourself. This was the case the last time around with the 2.2 series of kernels, but even though 2.036 was Debian's official kernel package, plenty of help and pointers for upgrading were provided... and honestly qualified with mention of the fact that life on the cutting edge isn't always necessary.

Preparing .deb packages for use under Debian is also a tricky proposition, which means independent packaging efforts don't seem as common as they do for distributions based on RPM. That makes straying from the official release a little less easy. Again, however, there are ways around that. KDE is packaged independently, Helix Code keeps a current set of frequently-updated GNOME packages (available via apt-get), and the unstable branch of development is a useful resource for pulling needed updates down on a case-by-case basis, as was the case when the 2.2 kernel was released.

Wrapping Up
Debian occupies an interesting niche in the Linux world. It may be the most thoroughly tested and polished distribution going, and its insistence on upholding the guiding principles of the project's Social Contract is bracing.

Beyond that, it's a solid and stable. The installation has improved in some key areas since the Slink release of over a year ago, noticably lowering the bar to entry. It remains a slightly more complex setup than other distributions, but it provides a useful way to get Linux running in a safe and stable manner. We think its packaging system is well-engineered, providing a level of convenience that sets a high standard.

The level of care taken to ensure the thousands of packages that comprise the distribution is impressive. Because so many pieces of software are part of the central repository, and because they're all so thoroughly tested against each other, experimenting with a package from the distribution is a pleasure. This centralization and comprehensiveness may slow the development cycle to a point where those who prefer a very current system will resist, but there's no denying that sticking to the stable branch of Debian will result in a well-integrated and stable machine.

While Debian isn't going to be for everybody, it provides a stable, well-supported platform with as much versatility as any other distribution, and often more stability.

We like Debian.

Copyright Jupitermedia Corp. All Rights Reserved.