Over the last year, I've tried quite a few different Linux distributions. Most of these have been around longer than just this year, and it's far from comprehensive information about the various distributions. I admit that I use Fedora Core the most, with Debian second. I have much more experience with these two than the others combined. However, I thought I'd write down what I've found about them.
Ubuntu is a distribution I've been very interested in. It's been described as Debian with a 6 month release cycle, and oriented towards the desktop. Debian's primary strength is it's huge central package repository. So many of the things I want are available in the unstable release. However, Debian's stable release is usually pretty old, and unstable changes too frequently. If you run unstable you pretty much need to be applying patches every day I've found. Plus, getting a good desktop set up on either of them requires quite a lot of work.
So, enter Ubuntu. While it may solve these problems, providing a better desktop with less work, and more fresh packages, it's not clear what packages it has. For example, I was trying to install mplayer and it's not available. I can't seem to find anywhere on the web-site where you can find out what packages are available. I think it's fair to say that binary packages are unlikely to be as readily available as on Debian.
Certainly you can build packages and install them in /usr/local. If you aren't dealing with many systems, particularly not production systems, this may be OK. However, packages have many advantages over installing from source.
At the moment, I still prefer FC3 for a “desktop” system.
Fedora has had two releases this year, FC2 and FC3. We've been fairly happy with both of these in our extensive use of them. My laptop had problems suspending when using xorg's drivers, using the Intel 82830 graphics chip-set. I was able to get around that by using software suspend. It had been several years since I last used swsusp, but it's been working fantastically for me and using it instead of APM resolved my problems. I work exclusively from my laptop, and suspend my laptop when moving from home to the business lunch to the coffee shop, etc, probably at least a dozen times a week.
This year, yum and apt have really come into the scene for Fedora. While our distribution, KRUD (which is based on Red Hat and Fedora), has had apt-like functionality since 2001, now all Fedora users are heavily using these tools. Instead of Debian's one big, central repository, Fedora relies on many different package repositories, which you can pick and choose from. For example, where Ubuntu failed me, FC3's stock install included the accelerated X driver for my unusual Mini-ITX system, and the “freshrpms” repository had mplayer.
Fedora does easily install a very nice desktop system including things like scalable fonts, anti-aliased fonts, Open Office, and many other tools. However, for a server you pretty much need to plan to upgrade your system once every 6 to 12 months. While Fedora does security releases for at least 18 months, the more releases you skip the harder it is to just do a normal upgrade.
So, Fedora tends to have fairly fresh software, and many packages available, but it tends to drive you to update more frequently. However, if you grab a current release and it has what you need in it (which is very likely), you could stay with that release for 18 to 24 months while still easily keeping up to date with patches. Another down side is that the Fedora team isn't splitting up the errata into security and non-security, so you either need to apply them all (which isn't necessarily a bad thing), or read over the releases to find out which is which. Or subscribe to KRUD where we do this for you.
However, if you plan to just install it and then run it without updating, you probably will want to do a migration upgrade where you install a new system with the new OS and migrate service to it, to ensure that you can back out of problems and do testing before the cut-over. Because there will be many changes in 24 months.
Debian on the other hand tends to have a much longer stable release cycle than Fedora. So, if Debian has the software and versions you need, it is probably a good choice if you don't want to be doing an update every 6 months. Of course, when there's a new stable release coming up quickly, this is less of a benefit. As far as I know, there's not really much support for older releases, so when they roll a new stable into place you need to plan to do an update on the same timing, and this update will be similar in scope to a 24-month update of Fedora so it benefits from a migration upgrade as I described above.
Stable tends to stay the same for a very long time, so the packages are often fairly old. If you can stand running a very old Apache and PHP, for example, this may be perfect for you. Of course, I mention these packages because they're the ones that users tend to want to have very recent copies of. However, there is one thing saving Debian stable from being too old to be useful: backports.org. Backports includes many newer packages built for the stable release. For example, installing JOTWeb on stable requires Python 2.3, mod_python built with Python 2.3, and Apache 2.x. Backports makes this possible.
On the other hand, Debian unstable changes too often. If you plan to use Debian unstable, you'd better plan to be doing updates every day. You also need to plan for changes breaking things. I try to avoid unstable for production systems for this very reason. I have had unstable break things on me.
However, if you want to install a production system and then leave it as it is, you might want to consider CentOS.
CentOS is a community-built and supported version of the Red Hat Enterprise Linux (RHEL) distribution. Unlike RHEL, CentOS is available freely, and commits to matching the RHEL lifespan of 10 years. 10 years is a long time. tummy.com is coming up on our 10 year anniversary, so if we could still be securely using a server we deployed when our business started in mid 1995.
Probably the biggest drawback is that if you are running big business software like Oracle, they will probably support RHEL, but may hassle you if you need support while running on CentOS. Another drawback is that you don't get Red Hat's support on it. On the other hand, we've helped customers of ours migrate from RHEL to CentOS because Red Hat was not providing the support they needed. For example, one of our customers was plagued by quota problems on their primary server which resulted in the server hanging a couple of times a week. As of this writing, this year old issue is still not resolved in RHEL.
CentOS also tends to have fairly recent packages. Somewhere in between Fedora and Debian stable for freshness.
White Box Linux is another Red Hat Enterprise Linux based distribution like CentOS. Unfortunately, White Box has been downgraded in our recommendations because it hasn't proven very bus-safe. For a while this year updates to White Box were not available and nobody knew what was going on because the maintainer was not available. It is an alternative to watch, but we have been using CentOS primarily since then.
It seems this is still a problem because the second hit for “Whitebox Linux” on Google is a post responding to mailing list traffic about whether White Box is dead.
While I haven't used Knoppix much myself, I've given out dozens of copies this year. I typically carry at least one copy in my bag at all times. It is a live CD containing a file-system which when installed on a hard drive consumes 3GB. They've worked really hard at cramming all this onto a 660MB CD image. Since it runs entirely off the CD, you can use it on a broken machine for a full-featured recovery system, or hand it off to a Windows user who would like to see what this Linux thing is.
It's incredibly full featured, booting up and detecting your hardware, configuring the network (even wireless on a laptop I tested it on) and comes with tones of toys including office programs, browsers, etc. I figure we should start leaving them in hotels next to the Gideon Bible.
Morphix is kind of a toolkit for building Knoppix-like custom distributions. In fact, for simple things it can be as easy as downloading the Morphix image, dropping Debian packages into one directory and scripts into another. On boot, it will install the packages and then run the scripts. For more complex things you can follow the instructions and build “modules” which allow you to do all sorts of even more interesting things.
If you need to build a Knoppix-like CD, Morphix is where you want to look.
GeexBox is the distribution which has surprised me the most this year. I discovered it over the holidays as I was trying to get a VIA-based Mini-ITX system to be able to play DVDs and other media. The problem is that the CPU, a 600MHz low-power fan-less thing, isn't powerful enough to play the DVDs.
Enter GeexBox. It is a 7MB downloadable ISO. When I first saw it, I figured it must be a mistake, or some sort of “installer” which would do the work of downloading and building an ISO of GeexBox. Instead, it turns out that it's just a 7MB ISO. When booted it will eject the drive you booted from and then you can load an DVD or audio CD and it will play it. It includes all the required drivers for the Mini-ITX system to play DVDs at full speed using the on-board hardware DVD decoder, and looks great.
Additionally, if you have music or movies you can drop the files into the GeexBox CD and it will boot up and automatically play them. It's not clear if you can just dump it into the ISO, or if you have to download the sources and then use the Makefile to build a new ISO from source. If you have 8MB of free hard drive space, you can install GeexBox to a partition on it amazingly easily. Very nice job.
Pebble is a very small Linux distribution, requiring about 64MB of disc space, and runs read-only. It's target is to run on small machines which have an Ethernet and wireless interface on them, to act as a captive portal. The target is to put them on a CF card, so that they can run with no moving parts, and simply power-cycled instead of having to be shut down.
A nice thing about running this for your AP is that you have tons of functionality. It will implement a captive portal such that users have to log in or at least accept your policies before they can use it. More importantly, however, you can log into it via SSH and set up a WiFi-level block on the MAC address of that user who is running a virus-infected laptop in your coffee shop. Since they totally can't associate with your AP, they won't be sucking up the local network, which can happen even if you do an iptables block on the user.
I wish more coffee shops had this ability. My favorite coffee shop here in town is close to the University, and has tons of problems with people coming in with infected laptops. What's worse though is that these people often don't care and won't do anything about it. Pebble also includes features such as dynamic routing, ability to handle multiple Ethernet and wireless interfaces, caching DNS server and more. It makes a pretty great little AP.
Those are some of the distributions I've been using in 2004. I hope this provides some information about different distributions which you may find interesting, and where they may be appropriate.comments powered by Disqus