||Mention the word "Debian" in a group of Linux users and emotions are immediately stirred up. One of the largest volunteer cooperative projects in software history continues to attract attention of media, selfless effort of some of the world's best software developers and endless end user debates. No matter what your Debian feelings and experiences are like, there is no doubt that the Debian project has made an enormous impact on the history of modern software development. Alexander Antoniades looks at the Debian's latest stable version 3.0r1 and describes his own observations in this user review for DistroWatch.
|A d v e r t i s e m e n t
|While most reviews tend to focus on the installation and initial impressions of various distributions, I thought it might be of interest for readers to hear about the past couple of months dabbling in the meta-distribution known as Debian.|
Among versions of Linux, Debian is fairly unique, unlike most distributions it isn't backed by any for profit venture and instead is an all volunteer organization. There is no for profit company, or business plan behind Debian, it is a wide ranging project along the lines of GNU. Aside from the main distribution which I ran for this review, Debian also provides the basis for a number of other Linux distributions, such as Lindows, Xandros, Libranet, and Knoppix.
The linchpin of Debian is a combination package management system and distribution network called forth by the mighty apt-get command. What makes this network so exceptional is that the dpkg-deb files which make up Debian packages contain information on their underlying dependencies so installing a package from the Debian network will call up all of its dependent packages. As an example, installing a KDE application would make sure that KDE, X windows, and everything underneath was already installed on the system, and if the prerequisite packages weren't already installed than the packages would automatically be downloaded and installed from the Debian network.
Screenshot 1: Kneel before the mighty apt-get!
|The first decision you need to make in relation to Debian is how to install. As I mentioned in the introduction, Debian is at the root of a number of other easier to use distributions, some of which are downloadable from the Internet. Alternately there are boot floppies which are just enough to get a net connection and grab the majority of the installation from the Debian network, or there is a multi-CD distribution of the latest stable version of Debian, 3.0r1 (better known as Woody), which is 6 CDs. I chose the middle road, a ?mini-CD? ISO file made by lordsuch.com, which contains enough to build a minimalist system, and then draws the rest from your closest deb repository.|
Much has been made about how hard Debian is to install and since OSNews already devoted an entire article just to this issue, I'll be brief in my comments. I've installed a couple of times now with different distributions, and while the Debian installation wasn't the easiest, it's not particularly hard. The biggest problem I found was from the multiple choice entries in the installation process, because it doesn't lead you down a single path like most installation and it's easy to get confused. All I can say is if you get to the end of the install process and you haven't had to select where to download software from, you'll probably have to restart. If you do get to the point where you can successfully retrieve software from an on line Debian archive, you're in good shape.
One of the first thing you'll notice after successfully installing Debian Woody is the, ehm, maturity of the software inside the distribution. While many distributions tend to ship with the latest version of their respective desktop environments, Debian Woody ships with slightly aged KDE 2.2 and Gnome 1.4. This is one of the main knocks against Debian, that their standards for security and stability are a little too strict. The party line is that the stable branch of Debian contains only truly tested, secure software, and that those interested in more modern software should opt for the more experimental branches of the Debian project.
At any given time the Debian project has three different categories of releases - stable, testing, and unstable. At the time of this article these releases are named Woody (stable) and Sarge (testing), while the unstable release will for ever forth be known as Sid. If these names sound familiar it's because they are from Toy Story, this connection part of the influence of one time Debian leader, Bruce Perens, who worked at Pixar. In time the testing release, Sarge, will be classified as stable and released, then a new Testing release will be born, presumably from the same stable of names.
|As I said earlier, the main appeal of Debian to most people is the power of the dpkg-deb package distribution system. In practice this is primarily accessed through the command apt-get (i.e. apt-get install evolution) but can be accessed through a number of other interfaces as well. While apt-get is the main interface, there are two other components installed as part of the base Debian system: the more powerful, but less friendly dpkg which can extract and remove packages irregardless of dependencies, and the cryptic dselect which lists all the packages available both on your system and the network. In addition there is a number of helper utilities, such as apt-spy which clocks all the Debian mirrors and optimizes your sources list for the fastest mirror near you. There are a number of third party interfaces for dpkg including KPackage for KDE, Synaptic for Gnome, and Aptitude for text mode, each of which makes browsing, installing and removing the 8000+ archives in the Debian network a piece of cake.
Screenshot 2: What distribution is complete without an exhaustive exploration of anarchism?
Does this mean that Debian completely eliminates the Linux disease known as ?Dependency Hell?? Well... most of the time. When you install a dpkg-deb file (*.deb), the Debian system ensures that the prerequisite dependencies are successfully resolved and any necessary libraries and subsystems are available as part of the installation process. However, a couple of problems arise in different areas, some due to the structure of Debian, and some more symptomatic of the state of the Linux environment.
The first problem I encountered had to do with unofficial Debian repositories. Remember how I talked earlier about the age of some of the software in the main Debian repositories, for example even in the unstable release, the newest version of KDE is still 2.2? (Editor's note: the KDE packages in the Debian's unstable branch has been updated to version 3.1 since the article was written). Does this mean you can't install a newer version of KDE? Not at all, you just have to expand your sources list to point to ?unofficial? Debian repositories. Using unofficial repositories you can get pretty much all the newest software: Mozilla 1.2.1, OpenOffice.org 1.0.2, KDE 3.1, even Gnome 2, within the Debian package system. These unofficial repositories can take your system in whole new directions, especially if you use the always convenient apt-get dist-upgrade command which grabs all available updated packages.
In one case I was trying to update KDE from multiple sources and somehow, while trying to get it to work, I ended up with conflicting KDE packages. This sent me into a circular spiral of installation hell. Whenever you issue the apt-get command, any previously unresolved packages are taken care of first; unfortunately in this case apt-get would just get confused and would stall when it came across the conflicting packages, effectively freezing my system from any sort of maintenance. I was finally able to fix the situation, by using dpkg to surgically remove the offending package and then successfully upgraded to KDE 3.1.
|Nonetheless, the error message you get when you run into problems with Debian can be most frustrating. In many situations you'll see the message that program x (usually the program you want) is available, but won't be installed. In these cases the package is more than likely available in the Debian database, but is in a different category than what you're accessing, or has prerequisites that you can't meet. For example, when you install Woody, you're polling the stable area for updates, but the package you're trying to download may be in unstable, which by definition, you've excluded. More often than not though the problem is the underlying libraries, since Debian will only go so far to resolve dependency problems by default.
I ran into this problem when I tried the get the latest version of AirSnort to run on my system. I was having trouble running it, so I wanted to get the latest version of wireless-tools package. Apt-get only got me an older version from the stable repository, but I saw there was an up-to-date version in Debian unstable, so I downloaded the .deb file from the Debian web site. Trying to install that brought up the complaint that libc6 was out of date, so I grabbed an updated libc6 and crammed it in there. Needless to say this broke quite a lot, and my old friend apt-get was of little help in this situation since it could only pull from a large database of programs that relied on the original libc6, and the default settings are such that broken packages aren't automatically downgraded.
I eventually fixed it, but the lesson is that updating your system piecemeal, one .deb at a time, can be risky. Actually, the Debian system itself can be almost organic in its ability to make your system work. Often when I ran into problems updating the programs rerunning apt-get with either the dist-upgrade or install -f parameter was often able work out all the kinks in my system.
One last caveat is this sometimes fragile web of libraries and programs can be tricky when performing selective upgrades. Meta packages, like the group of packages that make up KDE, will only allow themselves to be managed all at once, so you can't just remove one game in the kdegames package - you have to remove them all, and then reinstall all the games individually. Also removing core components of the operating system (such as X Windows) via the usual Debian methods will, by default, remove all programs that rely on them. There are a number of settings for fine tuning package update policies, but setting them up is a little trickier than a simple apt-get.
|Enough with the packages already!|
|So what's it like using Debian? Well, my initial experience with KDE 2.2 wasn't too bad, but Gnome 1.4 was pretty much the same as it has been with every distribution I've tried it on and that's one of confusion and frustration. Nonetheless, KDE 2.2 was surprisingly usable and worked well, and even had anti-aliased fonts, but shortcomings in KDE 2.2, such as Kmail not supporting SMTP authentication limited its usefulness.|
After installing some applications, I downloaded the newest kernel from kernel.org, and recompiled to get support for some of the specific hardware on my system. By default Woody comes with a stripped down 2.2 kernel, although there is an option for full featured 2.4.18. The Debian network does have source-packages, including a number of kernels, but still being a novice at this I opted to get a kernel package from kernel.org. One oddity in the default 2.2 Kernel is that APM support is installed but disabled by default; to enable it, a kernel argument has be added in lilo. Over the course of this review I installed a new hard drive and reinstalled using the 2.4.18bf Kernel (don't ask me what bf stands for) and I'm happy to report that it supported all my hardware including APM without arguments.
Once I had all my hardware set up I embarked on updating my software. First up was a repository at Ole Miss to get the latest version of OpenOffice.org. One thing I haven't touched on so far is Debian's fanatical devotion to free software. In order for programs to be included in the main Debian repository' a program must qualify as "free software" as defined by the Debian Free Software Guidelines. Debian has official repositories for other types of software, but they're labeled non-free and contrib. Openoffice.org currently has its own network of Debian repositories and since it has proprietary components, it is not part of the main Debian repository, but it is inching its way forward in the contrib section of unstable.
The only version of Mozilla in all of Debian at the time I installed it was 1.0. Luckily I was able to find a third party repository that had Mozilla 1.2.1 (along with Xfree86 4.2) and apt-get it. Like OpenOffice.org, it was subsequently added into unstable. Before that, getting a newer version of Mozilla on Debian involved breaking with the Debian package system and installing Mozilla from the .gz file. This is the biggest problem when Debian sources become too out of date - regardless of how technically brilliant Debian's package system is, it won't do much good if you have to circumvent it to install the latest software. Of course there is another alternative - a tool called alien that can convert other package formats into .deb files, but has been reported to cause trouble with some complex packages.
|The Kindness of Strangers|
|As I said before in spite of Debian's aged reputation there are many repositories for most of the latest programs including repositories for KDE 3.1 and Gnome2. While KDE maintains a semi-official Debian repository for the latest release of the KDE, there have been a number of other repositories for the latest release candidates or betas. Gnome doesn't have as much activity as far as I could find, but there is a Brazilian maintainer who maintains a version of Gnome2 that runs on Woody. Of course the further you stray off the official Debian path the greater the likelihood of running into uncharted territory and my foray was no exception.
After adding four repositories and changing the priority on the main repository to testing (which effectively changed the release I was running from Woody to Sarge), I was moving forward at a light speed updating left and right, grabbing whatever updates were around. Unfortunately at one point all the fonts in the OpenOffice.org interface became invisible.
I thought it was an OpenOffice.org problem, so I looked around and found what I thought was a bug, and wrote to the Debian-OpenOffice.org mailing list. One of the maintainers was nice enough to help me out, even when it was revealed that I was running a mixed source system. It turned out that the conflict was due to a newer version of the libfreetype library. While I was able to manually downgrade the offending library, this in turn broke Gnome2. By tweaking the /etc/apt/preferences file I was able to get my system to downgrade Gnome back to old 1.4, then removed the Gnome2 repository from my sources list, and returned it to stable.
Of course this little incident underscores the dangers of playing fast and loose with non-standard repositories and software not designated as 'stable'. That said, part of the beauty of Debian is that upgrading and downgrading can be relatively painless once you know what you're doing.
Screenshot 3: Most programs are installed in a neutral "Debian" submenu on both Gnome and KDE. Unfortunately the icon challenged nature of Linux persists in Debian as well.
|To Infinity and Beyond!|
|As you may have garnered, I've been conducting this review as a desktop user. I haven't used Debian as a server at this point, but I suspect many of the same issues apply. There are however two looming enhancements on the desktop front that should improve things in the near future. One is the recently announced Debian Desktop project which aspires to make Debian friendlier to the casual user. Another long needed improvement is a new install program for Debian which should make installing Debian less of an obstacle.
As many have said in the past, correctly in my opinion, the biggest strength of Debian is the dpkg-deb system and the wealth of software it contains. For me, this brought up two big advantages that Debian has over most other distributions.
One is the massive catalog of software; my best experience with Debian has been browsing over the thousands of pieces of software in KPackage, finding one that looked interesting and trying it out. Debian really makes the wealth of free software accessible from your system. There are packages for everything, from Linux Gazette issues to hundreds of great utilities like guttenbrowser and etherape.
For me, this was where a number of smaller, but friendlier distributions broke down, because large part of choosing Linux is the breadth of software and drivers that is available, and limiting these choices makes choosing Linux a whole different equation. I don't doubt that there are more Red Hat RPM packages overall and needless to say you can't apt-get Oracle9, but the fact that Debian has a built-in distribution system, gives it a convenience that's hard to match. For example, I was reading the addaboy.com review of Ark Linux, saw a game called xbill in a screen shot, typed apt-get install xbill in Konsole, and twenty seconds later I was playing it.
The other big plus of the dpkg-deb system is maintainability. Theoretically once you install Debian you'll be able to endlessly upgrade your system. While I haven't seen many articles dealing with Linux upgrades, Debian can theoretically be apt-get dist-upgraded forever, including the complete change over to GCC 3.2 and beyond. And using the dynamic package system, installing, configuring and removing packages is automated enough that even radically reconfiguring a system, say from workstation to server, can be a straightforward task.
|With great power comes great responsibility|
|While Debian does have a number of tools to ease the pain of system configuration, it still has a pretty steep learning curve. Many of the Debian utilities are great and most offer advice before asking any complex questions, but they are mostly low level and nothing close to the ease of use type of tools that come with distributions like Mandrake. One utility that is worth its weight in gold is modconf which allows you to play with Kernel Modules one the fly, poking them in and out at will, seeing what fits and what doesn't. All these tools notwithstanding, you'll need a general knowledge of your computer, and a fundamental understanding of Linux, if you expect to get the most out of Debian.
There's also a whole new level of complication brought on by the Debian project itself. Like many Linux initiatives it goes out of its way to be friendly, but despite its best efforts, it is still pretty hard to understand. The usual culprits, out of date documents, use of mailing lists and IRC to disseminate the latest information, the multilingual nature of most Linux projects and an ever pervasive RTFM attitude, make understanding the peculiarities of Debian a time consuming process.
Then there's the issue of the software in the official repositories as opposed to using unofficial repositories, such as the ones I was trying to use throughout this review. If I had only used the stable or unstable repositories this review would have been quite different. What I have been doing with the unofficial repositories is frowned upon in some circles, but without them Debian wouldn't be nearly as popular.
Strictly working with Debian's definitions and pulling software only from their repositories, there's stable, which is old, testing, which is mainly identical and only slightly newer than stable, and unstable, which by definition is, well, unstable. The reasoning has been for a while that Debian was going to undergo a massive shift to GCC 3.2, but with so many complete backports of major packages to Woody, one could ask why not update some of these other packages in the interim?
|One step forward...|
|Judging by some of the history it seems as if Debian's progress is like Zeno's parable of Achilles and the hare going forward by a half of the previous step for infinity never reaching the end. In researching more about Debian I came across one or two disgruntled former project members who eventually gave up due to this very conundrum. Indeed this is one of the biggest questions about Debian today, how many people are truly running Debian as opposed to those running a loose conglomeration of software using the Debian distribution system?
The awful truth is that if you want to run the latest software, or anything close to it, currently you have two choices on Debian: run Woody and use the wealth of unofficial backports or run unstable and churn through the frequent changes. This means that currently, there's next to no incentive to run Sarge, which will ultimately become the next release, since it's the worst of both worlds, old software, incompatible in some instances with the backports.
This will likely change in time as newer packages make their ways into Sarge, but right now that's the case. While I thought this was due to Debian's being overly diligent with security and stability, it was pointed out to me that there is an issue with the glibc (the one I hosed earlier in this review) due to Sun's contract that conflicts with Debian's software guidelines and developers are trying to work this out. Unfortunately, until they do, there won't be any updated versions of this core Linux library added to Sarge. Anyone wanting to know more about this should check out this week's Debian News.
Compounding this problem is that Woody will never officially get significant upgrades of ANY of its packages, unless they're found to have memory leaks or major security flaws. That means that Woody will never officially see a version of Mozilla newer than 1.0, or any version of OpenOffice.org. This system seems to sometimes run against the actual software projects by ignoring the fixes they make, in favor of the original code the developers themselves sometimes regard as broken. What's surprising is that Debian doesn't even update to the bug fix releases like Mozilla 1.0.2.
Obviously one huge caveat in any criticism of Debian is that it is a volunteer project and should be judged as such. I can only complain so much, while I haven't contributed to it in any meaningful way. Debian tends to fall into the altruistic/open source/social experiment end of the Linux spectrum, and anyone who can't deal with the problems that this approach entails should either help improve it or look elsewhere.
Ultimately I've come to appreciate Debian has to offer. I hope to continue making Debian work for me and that I can contribute to the project in some form as I learn more in the future. For me the key strengths I outlined earlier make it compelling for someone like myself that's looking for a way to learn about the operating system and experience the diversity of software that Linux has to offer.
Another compelling reason not touched on as often is that Debian is completely, unequivocally free and as the recent troubles at Mandrake have shown, the market for distributions is a tough one and no one can say how many will survive. It's not inconceivable that most, if not all, of the larger distributions will follow the lead of companies like Xandros and Lindows effectively making their licensing and availability closer to Windows than Linux, even though the underlying foundation is still free. In my opinion, Debian plays an important role in the Linux ecosystem by making sure that it is a viable alternative to commercial distributions and a foundation for new ideas that will ultimately help the whole community.
My experiences and opinions about Debian tend to mirror my experiences and opinions about desktop Linux as a whole. It's the amazement at what's been accomplished so far, coupled with the realization of how far it has to go. This dichotomy isn't always the most comforting feeling in the world, but it's part of what makes the world of Linux so exciting.
|Copyright (C) 2003 Alexander Antoniades|
Verbatim copying and distribution of this article is permitted in any medium, provided this copyright notice is preserved.
|Please visit this forum on OSNews if you wish to discuss the review.||
|19 February 2002|
|About the Author|
|Alexander Antoniades lives in the Big Apple where his accumulated experience enables him to eke out a living in relative comfort.|
|Compaq Armada 7800|
|Pentium II 266 MHz|
|S3 Virge video card|
|256 MB RAM|
|Xircom Ethernet Adapter/Modem|
|ESS 1879 soundcard|
|15 December 2002|
• One of the supported platforms (see below)|
• minimum 12MB RAM
• minimum 110MB hard disk space
• CD-ROM or floppy drive
• SuperVGA monitor
• CRIS (Axis Communications ETRAX 100LX embedded CPU)
• 11 supported architectures|
• APT Advanced Package Management
• Free software
• AbiWord 1.0.2|
• Apache 1.3.26
• Cups 1.1.14
• GCC 2.95.4
• Gimp 1.2.3
• glibc 2.2.5
• GTK+ 2.0.2
• KDE 2.2.2
• KOffice 1.1.1
• Mozilla 1.0
• MySQL 3.23.49
• Perl 5.6.1
• Python 2.1.3
• Samba 2.2.3a
• XFree86 4.1.0
• xine 0.9.8
• Xmms 1.2.7
|The Debian Project was officially founded by Ian Murdock on August 16th, 1993. At that time, the whole concept of a "distribution" of Linux was new. Ian intended Debian to be a distribution which would be made openly, in the sprit of Linux and GNU (read his manifesto provided as an appendix to this document for more details). The creation of Debian was sponsored by the FSF's GNU project for one year (November 1994 to November 1995).|
Source: A Brief History of Debian
|Advanced Package Tool, Debian's next generation front-end for the dpkg package manager. It provides the apt-get utility and APT dselect method for simple, safe way to install and upgrade packages.|
Source: APT HOWTO
|Free Tech Guides
This FREE reference card covers basic features of regular expressions, including normal and special characters, quantifiers, capturing and non-capturing groups.