|
DistributionWatch Review: Debian GNU/Linux 2.2
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
I was rewarded with a quick download and the installation of a shiny, new,
fixed version of the 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 PlatformsOne of the strengths of the distribution is the wide variety of platforms it supports:
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
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 NewPotato 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
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 DebianThere 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
Through
In addition to easing installation,
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
Finally, the packaging system continues to provide the 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.
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.
IssuesDebian 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
Wrapping Up
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.
|