Chad Perrin: SOB

3 April 2007

the decay of the Debian distribution

Filed under: Geek — apotheon @ 02:30

For quite some time, my OS of choice was Debian GNU/Linux. I had found my way to it by a winding path through several other Linux distributions, thanks in part to some guidance from friends (thanks, Ratha and Joseph — did I forget anyone?). I loved quite a lot about Debian, including (but not limited to):

  • Stability: Debian was by far the most stable Linux distribution I’d yet encountered. Even though I used the so-called “testing” release almost exclusively, it was more stable in operation than the stable releases of every other distribution I’d encountered. This was due in large part to the extensive compatibility and stability testing Debian packages undergo in the process of moving them down the chain from Experimental releases, through Unstable and Testing releases, and ultimately into the Debian Stable release branch.
  • Ease of Installation: The process of installing Debian proved simple, easy, fast, and well suited to getting exactly what I wanted on the system — or, perhaps more importantly, not getting a bunch of software I didn’t want.
  • Software Management: The incredible ease of software management with APT just blew me away. That was the real coup, for me — the big one. The fact that APT worked quickly, smoothly, and without hiccups, allowed me to make of Debian exactly the operating environment I wanted. I could start from a bare minimum CLI-only install and install every piece of software I needed for my day to day work and a productivity-enhancing GUI environment in about ten or fifteen minutes. Security patching was a few seconds of time. Installing and uninstalling software was easier than opening software that’s already installed can be on MS Windows sometimes.
  • Software Archives: The stability of the packages in Debian’s software archives was not their only virtue. The sheer number of packages in them was mind-boggling — at around 20k discrete packages, we’re talking about several times as many packages as the next runner-up Linux distribution.
  • Upgrade Path: Unlike most OSes, when I wanted to upgrade the OS itself, I just updated the software versions for each component as it became available in a stable form. This included the kernel itself. There was no stair-stepping upgrade process as Version Foo Dot Zero of WhateverOS hit the market. It was a beautiful thing.

I had some minor concerns, of course. One thing that bothered me was my increasing unease with the GPL, the license under which the core toolset and even the Linux kernel are distributed. I don’t think this is the paragraph in which I should get into the subject of what’s wrong with the GPL, but suffice to say I was (and am) much more comfortable with the BSD License. For a long time, I thought about trying out FreeBSD and/or OpenBSD, but I simply never got around to it. Part of it was complacency — Debian did so much for me, provided me with so much convenience and productivity enhancement and other wonderful stuff, that I’d never imagined I could get from an OS, that I just couldn’t be arsed to try something else without a compelling reason. In truth, the licensing issue was a compelling reason, and became more so after some threatened litigation related to the GPL, but I still needed a bit of a push in terms of technical benefits to a different OS.

Finally, that motivation came in the form of the degradation of the Debian distribution’s benefits. It has become gradually less warm and fuzzy for me over the course of the last year. All of these problems, it seems, center around the collapse of the smoothness, stability, and ease of use of APT. It has degraded to the point now where I wonder whether Fedora’s YUM might not be better. Mandriva’s urpmi, judging by my experience, still doesn’t compare if only because it’s structured a bit like someone threw darts at a dart board, then didn’t bother to tell anyone what decisions were made. In any case, problems that I’ve encountered with APT and Debian software archives used by APT include:

  • GPG errors: The frequency of GPG key errors in Debian’s APT has been steadily on the rise, in my experience. Sometimes the problem clears itself up in a few days. Sometimes, you need to give APT a swift kick. Sometimes you need to rebuild your GPG key database for APT. Sometimes you need to wave chicken bones over it and chant, as if you were troubleshooting MS Windows.
  • software configuration problems: I have found that software configuration would sometimes break after an update. This ranged from the mildly annoying, like having to reset a specific option in some application, through the incredibly annoying, like a recent episode where Postfix and/or Mutt started creating mail headers that would get my emails rejected as spam or otherwise illegitimate by recipient mail servers, to the downright painfully awful, like when a Firefox upgrade not only wiped out all my bookmarks but somehow managed to destroy my backup of bookmarks as well.
  • package management errors: The incidence of errors in how the system tracks package versions and available packages is on the rise. My current frustration relates to the fact that APT seems incapable of properly managing a Wine install unless I regularly wave chicken bones over it, chant some evil chants, and refrain from trying to use version pinning to use the version of Wine that I actually need. This is not keen.
  • software stability/compatibility: At one point, ndiswrapper just stopped working on a laptop of mine. A new kernel version with native Broadcom chipset support was released, so I tried upgrading it — and it broke everything related to networking, apparently unfixably. I had to roll back to the previous kernel version and hack configuration basically like cutting my way through the thick of a South American jungle with a pocket knife just to get it working again without wireless. Eventually I got wireless working again — but I never figured out why kernel 2.6.18 hated my laptop so much. It wasn’t even a hardware failure — the package dependencies just screwed everything up, somehow, with incompatible software being necessary for different parts of the same solution.

I got my motivation, my push, to try out something non-Linuxy — to try out something new. This was especially the case when my laptop’s screen crapped out, and I got a desktop system set up to replace it for my day-to-day work (I’m using it now). I decided I’d use this opportunity to install FreeBSD on something and see how I like it. Thus far, I’m in heaven. It’s not only better than the Debian of recently degraded quality: it’s better, at least for my purposes and tastes, than the Debian I remember from back when everything in Debian “Just Worked” without hassle.

Debian still offers a lot. It’s still my favorite Linux distribution — don’t take my above complaints to be as dismayingly negative as they probably seem. Debian is still relatively stable and easy to use — relative to most other Linux distributions, and so much more so than MS Windows that it beggars the imagination for someone who hasn’t given it a shot and doesn’t know what (s)he’s missing. It just doesn’t measure up to FreeBSD, or even to itself from a couple years ago. I suspect some of these problems are related to the accelerated release cycle pressure for the distribution in the last year or so.

If Debian were to clean up its act and get things back to the level of stability and slickness to which I had become accustomed — well, I’d still use FreeBSD, but at least it wouldn’t make me sad to think about it any longer.


  1. Debian receives a steady flow of new applications, plus it supports 12 architectures (alpha, amd64, arm, hppa, i386, ia64, m68k, mips, mipsel, powerpc, sparc, s390), and this shows as growing pains and occasional problems with APT. But Debian tests carefully the packaging skills of their new developers / package maintainers and the quality assurance for packages is still one of Debian’s strongest points.

    Checking the GPG keys for package archives is a relatively new feature in APT. There’s now a graphical application, “gui-apt-key”, that makes it easier for users to add new GPG keys when APT complains that GPG keys need updating.

    Still, FreeBSD is a top-notch operating system and I can understand why you’re happy with it. Debian and FreeBSD have their own little problems but they’re both excellent, IMHO. The Debian port to FreeBSD kernel will be soon officially supported in “unstable” and I’m certainly going to give it a try. ;-)

    Comment by Laika — 4 April 2007 @ 02:17

  2. Interesting thoughts and I’m not in dissagreement with you. I too came to know and love Debian for the virtues of “it just worked” and “easy to use” but of late I too have been thinking of trying something else in the BSD vein. Shamee really, I do hope Debian recovers from this illness.

    Comment by James B — 4 April 2007 @ 04:31

  3. Hello, It is worth to remember that using Testing distribution, approaching its release date, could cause some problems. The team is actively working in the packages, releasing new versions on daily rate, and bugs are being ironed out. If you cannot afford to some risk on your system, it is better to stay at Stable version until the next release. I have various machines, some at Stable and some at Testing. All servers, but one development server, are Stable. Most of work desktops are Stable and developer desktops are Testing. This mix proved to be the most convenient in the administrator view. Staff are happy with no fuss, VERY stable systems (with some newer packages from like 2.x , new Firefox, sun java, flash-plugin) Developers are happy with newer packages from Testing and able to cope with eventual quirks. At Testing, we adopted one “front” machine that downloads all updates every day and then some tests are made. If a hard to fix problem is detected, all devs are oriented to NOT update their machines that day. A bug report to is issued. Mostly, next or in few days, the problem is solved and all devs update their machines. This method has been working well for 6 months, when we started to use Testing in developers machines. Regards.

    Comment by Andre Felipe Machado — 4 April 2007 @ 05:24

  4. I’m a Debian user myself, and I’m interested to know just what makes FreeBSD better than Debian.

    I’m only wondering, since I’ve been thinking about trying it out myself.

    Comment by Michael Pobega — 4 April 2007 @ 07:00

  5. the decay of the Debian distribution?

    what kind of weird title is that? if you like *BSD is simply another point but you don’t have to flame as a kid.

    Comment by Debianero — 4 April 2007 @ 08:29

  6. Laika:

    I remember a little bit of “growing pain” when the transition was made from Woody to Sarge in the Stable release — Testing (at that point, it just became Etch) was a slightly broken for a few days until the transition was complete. That sort of thing I can overlook, but I just reached a saturation point over the course of the last year.

    My tolerance for instability is getting lower, I’ve noticed. Back when I was using MS Windows regularly, I could have put up with the same amount of annoyance all within the course of a single month that in this case took a year to drive me to try out FreeBSD. As I said, Debian is still my favorite Linux distribution, and I’m sure it’s still among the most stable distributions available — it certainly seems to outdo Gentoo on that score by reputation, and I’ve seen first-hand the problems that can arise with Ubuntu that I’ve never seen with Debian.

    re: FreeBSD kernel I’d been watching the project to produce a FreeBSD kernel Debian system for a while, from a distance. It really sounded pretty interesting — and it still does. It’s just not as interesting to me now that I’m actually using FreeBSD itself as my primary OS.

    Thanks for commenting, Laika. Please let me know how you like the Debian distribution of FreeBSD, if/when you give it a try. I’d like to know what you find out.

    James B:

    If you liked Debian for anywhere near the same reasons I did, I suspect you’d love FreeBSD. You might have to dig just a little bit to get the full scoop on how software management can be done as smoothly and easily as you like, if you want to use package rather than ports management, but it’s all there. I’d like to know how your investigation of new OSes goes — I’m always up for more information on open source OSes.

    Andre Felipe Machado:

    I have tended to run Testing on machines that serve as workstations and Stable on machines that are set-and-forget servers, so that in the latter case I don’t have to think about it other than monitoring status and handling security patches. I’m prepared for a little bit of craziness in Testing around the migration time for a new Stable release, but things have gone well beyond my previous Debian experience with that. The kind of stability issue I’m talking about started about a year ago, not just as the scheduled Stable release of Etch approached, unfortunately.

    The problem isn’t that I cannot afford some risk, but that the effort involved in keeping things working became more than it felt to me it was worth. Since I’m not currently maintaining any business networks, and I can’t afford to have a staging subnet at home right now, I unfortunately have to just take my chances somewhat with what I consider to be a “production” machine when doing updates. One of the things I used to love about Debian was the fact that in practice I never actually saw anything that justified the use of staging machines the way I used to have to maintain staging systems for MS Windows — but now, when I don’t have staging systems, I’m starting to need them for my Debian machines.

    Anyway, thanks for your comments. That’s certainly along the same lines as the sort of setup I’ve used in the past when maintaining corporate networks, including the Linux side of a heterogeneous network I maintained at a consultancy in Florida a few years ago. The way you describe it is pretty much my experience of the way it should be done.

    Michael Pobega:

    Thanks for dropping by, Michael, and showing an interest. I’ll probably post something new, just about FreeBSD’s virtues, in the next couple of days. If you can hold out until then, you may find the answer to what you’re asking.


    That wasn’t a flame, but thanks for stopping by.

    I hope you all come back to read, and comment, more.

    Comment by apotheon — 4 April 2007 @ 09:49

  7. […] I’ve noticed an influx of new visitors to SOB this morning, leaving comments on and linking to my entry the decay of the Debian distribution. It’s kind of a strong title, as one commenter pointed out, but I think it fits as one person’s view of what’s going on. I can’t help but wonder if what looks to me to be a first year of a slow death (and oh, how I hope I’m wrong) is somehow tied in with the controversies over paid release development that arose in the Debian community last year, and the rush to get a new Stable branch release out a mere 18 months (give or take) after Sarge hit the Stable release. […]

    Pingback by Chad Perrin: SOB » the problem with GPL thinking — 4 April 2007 @ 12:11

  8. FreeBSD is not without its problems: lack of software, lack of drivers, threading issues (mysql likes the linux threading model and has problems with FreeBSD threads.) Furthermore, you are generally using the same software anyway, gcc, find, make, emacs or vi, firefox, mutt, etc. Plus the ports system is much inferior to apt-get. Sorry that you had a bad experience with debian, but wait a while, FreeBSD is no picnic.

    Comment by jeremiah foster — 4 April 2007 @ 12:48

  9. My experience has shown no lack of software (more software in the ports tree than in the archives of any Linux distro I’ve seen other than Debian — by a long shot). My experience of drivers is that while FreeBSD isn’t quite as extensive in its hardware support as certain Linux distributions (Debian notable among them), it’s not sufficiently short changed in that regard to pose a problem for me. I wasn’t aware of threading issues with MySQL — I’ll have to check into that. Do you know if there are more threading problems, or is this just a case of MySQL not being as portable as I might like?

    Claiming the ports system is “much inferior to apt-get” without any supporting commentary or evidence strikes me as absurd. It seems particularly absurd, considering that, in my experience so far, it’s actually notably superior to APT. Thus far (measured in months of using it as my primary OS and development platform), FreeBSD really is a picnic. To paraphrase:

    Sorry that you had a bad experience with FreeBSD.

    I didn’t just try out Debian for a week and decide it sucked. I used it as my primary OS for several years, and saw a distinct downward trend in stability for the APT system and its software archives over the course of the last year. Please don’t dismiss my experiences just because you like Debian. I like it too — just not as much as I liked it in the past.

    Comment by apotheon — 4 April 2007 @ 01:30

  10. […] There are two perspectives one can take on package management (well, three, really). The first is that software management in the open source OS world is years ahead of that in the closed source OS world. Whatever problems you may have with APT, YUM, SMART, urpmi, YAST, or any of the other major package management systems and their associated software archives, such issues pale in comparison with the lack of functionality and the regular brokenness of software management with OSes such as MS Windows. The second is that, yes, there is indeed a dismaying lack of care taken with software archives and software management systems on many Linux distributions — in fact, as I pointed out in my dramatically-titled the decay of the Debian distribution, the distribution with perhaps the best record of software stability and the best binary package management system to date started suffering from increasing issues with package stability and software management system issues (though I’d still bank on its stability long before I’d even gamble on that of MS Windows). The third perspective, which I almost didn’t mention here, is that by choosing carefully one can find oneself wondering why so many people have problems. Using FreeBSD now, I find that the way software management is handled with this OS is more stable, more robust, and even more fixable and otherwise flexible and customizable than with any Linux distribution’s software management system, without sacrificing any ease of use. By the way, I’d recommend APT (with dpkg for low-level stuff) over aptitude any day of the week for someone that actually wants complete, and sane, control of the software management system. Finally, I don’t hold out any hope for the LSB providing a miraculous save — the LSB has become a political animal that incorporates stupid, pointless, powermongering posturing as often as logical, standardized solutions to problems of compatibility. It started out as a great idea, and was quickly co-opted by people with agendas almost completely unrelated to making Linux distributions in general the best they can be. Yes, it can provide true compatibility — but only at the cost of destroying a lot of beneficial characteristics of many Linux distributions. […]

    Pingback by Chad Perrin: SOB » problems in open source development — 16 April 2007 @ 05:33

  11. i’m curious… does the FreeBSD package repository even offer wine? i’ve never tried to install wine in debian, but there are some packages, e.g. Zope, that I install manually, instead of using APT/DPKG, because there are some complicated packages that package managers can’t seem to get right. wine may be one of those packages.

    does the FreeBSD package manager never have dependency/package errors? nor GPG errors (does the FreeBSD package system use signed packages)?

    i also don’t use APT for Firefox because any package repository will always be behind the Firefox release schedule.

    and you had no problems with wireless on FreeBSD?

    nor any of the other problems you mentioned?

    and i’ll admit that my experiences with “pinning” packages between unstable/testing has not been pleasant. but it seems that for FreeBSD the choice of packages is limited compared to Debian, and you end up installing some stuff manually anyway—an option available to a Debian user too.

    my suspicion, is that you did some advanced things with the debian package manager, and got burned, whereas, in FreeBSD, you accept it as a fact of life that the package manager is to be avoided quite often.

    enlighten me, if I am mistaken ;)

    Comment by Justin M. Keyes — 17 April 2007 @ 06:42

  12. does the FreeBSD package repository even offer wine?

    Yes, it does, at /usr/ports/emulators/wine. Well, that’s the location in the ports tree. I’m not 100% clear on how the binary package repository works, as I haven’t used it much.

    there are some complicated packages that package managers can’t seem to get right. wine may be one of those packages.

    Wine became stable and useful again on the system in question after Etch moved into Stable release.

    does the FreeBSD package manager never have dependency/package errors?

    I haven’t seen one yet. I imagine it does have problems now and then, but I’m not the only user of both Debian and FreeBSD I know of that has the distinct impression they’re less common in FreeBSD by a notable margin.

    nor GPG errors (does the FreeBSD package system use signed packages)?

    The ports system has a tool called portaudit that double-checks everything, and it verifies source. Again, I’m not 100% sure how this translates to binary packages, as my knowledge of packages is mostly second hand.

    i also don’t use APT for Firefox because any package repository will always be behind the Firefox release schedule.

    Aside from security patches, I’d rather be behind than run a substantial risk of stability issues. That’s why I used APT to manage Firefox. Of course, in FreeBSD I’ve been using Firefox 2.x basically since day one.

    and you had no problems with wireless on FreeBSD?

    I haven’t used wireless with FreeBSD yet. That’ll be an interesting test, when I do. I’d be more forgiving of a system that just didn’t work with a given wireless adapter in the first place than one that worked, then suddenly stopped working for no discernible reason, and wouldn’t start working again for a while, or that hosed up networking in an unrecoverable manner (without rolling back changes) after a kernel upgrade.

    it seems that for FreeBSD the choice of packages is limited compared to Debian, and you end up installing some stuff manually anyway

    I haven’t had these experiences with FreeBSD. 15k ports in the ports tree, and I’ve had better luck finding software in the FreeBSD ports tree by searching for it by name than in the Debian APT archives since I started using FreeBSD.

    my suspicion, is that you did some advanced things with the debian package manager, and got burned, whereas, in FreeBSD, you accept it as a fact of life that the package manager is to be avoided quite often.

    That happened a few times early on. Once I got used to the idea that one should not screw with what works except when necessary, I discovered that I didn’t really need to do anything advanced with APT, pretty much ever, at all. No, APT failed on me most when I did nothing but the usual — apt-get update, apt-get autoclean, apt-get upgrade, apt-get install, apt-get –purge remove, and use a couple of time- and sanity-savers like deborphan and debfoster. One day, I’d do an apt-get update, and GPG problems would hose up APT for a week.

    Getting “burned” by doing advanced stuff was what happened when I installed Debian via a Knoppix CD on a Thinkpad because vanilla Debian wouldn’t recognize the IDE controller, but after two or three days of work I managed to get the conflicts sorted out so that it just worked as a Debian system, as if vanilla Debian recognized the hard drive in the first place. For the record, other than the Wine issue, I’ve experienced all the problems I’ve mentioned on systems that I installed from a standard vanilla Debian installation CD.

    Comment by apotheon — 17 April 2007 @ 10:39

  13. thanks for the information. *BSD is perpetually on my to-do list.

    another thing i forgot to mention, which you know, is that one must not dip too liberally into 3rd-party package repositories. in fact, i try to keep things as vanilla as possible, as you mention.

    Comment by Justin M. Keyes — 17 April 2007 @ 11:45

  14. another thing i forgot to mention, which you know, is that one must not dip too liberally into 3rd-party package repositories.

    Yep — no kidding.

    Of my three computers running Debian, I have the following for sources.list.

    khonshu sources.list:

      #deb file:///cdrom/ sarge main

    deb etch main contrib deb-src etch main contrib

    deb etch/updates main

    erebus sources.list:

      #deb file:///cdrom/ sarge main

    deb etch main contrib deb-src etch main contrib

    deb ./

    deb etch/updates main

    mimir sources.list:

      #deb file:///cdrom/ sarge main

    deb stable main deb-src stable main

    deb stable/updates main

    That’s pretty vanilla.

    Comment by apotheon — 18 April 2007 @ 01:59

  15. […] I made the switch from Debian GNU/Linux a few years ago for a number of reasons, including the decay of the Debian distribution. I was immediately impressed with the technical benefits FreeBSD offered that I’d been missing all […]

    Pingback by Chad Perrin: SOB » Software List — 1 July 2008 @ 12:36

RSS feed for comments on this post.

Sorry, the comment form is closed at this time.

All original content Copyright Chad Perrin: Distributed under the terms of the Open Works License