Choosing My Linux Distribution

Introduction: I’ve actually decided that I’m not switching to Linux, at least not right now. I’d already written this when everything changed, though, so I’ll still post it here in case it’s useful to anyone…


What’s a Distribution?

Very briefly, Linux isn’t owned by a single company or organisation, so lots of them build their own packaged versions of Linux. Take a Linux kernel, add an assortment of utilities, work out how you prefer them set up, add a desktop environment of some sort, and package it all up with a nice installer, and you’ve got a distribution.

Choices?

There’s a lot of different distributions around, some commercial, some slightly commercial, and some not at all commercial. Some are more suited to desktop systems, and some are only really suited to servers. Some require relatively little knowledge of Linux to set up, and some expect you to know what you’re doing.

Even if you’re after a fairly straightforward desktop system, and you don’t know what you’re doing all that well (like me), there’s still a fair few choices. I’ve used Mandrake before, and found it good. SuSE is another decent choice, and plenty of people still love Red Hat (the free desktop version is now known as Fedora).

Almost all are based around one of two package management systems…

Package Management?

Kind of like a cross between Windows Update and Add/Remove Programs, if you like. Packages are all the programs that you could install on your system, and all the updates and patches that could be applied.

Red Hat

Red Hat started a package management system called RPM – Redhat Package Manager. You get your software as .RPM files, and that file contains everything needed to install a program. A bit like a single file you run to install a Windows program.

Most other distributions use the same system.

The problem with this initially is that it doesn’t do anything for sorting out dependencies. Say one program needs a certain set of libraries to be installed before it will work. With RPMs, you can install the program, but it just won’t work properly until you get the libraries it needs, and install them too.

Not too much of a problem, but if those libraries need something else installed, you can get into a bit of a cycle trying to get everything installed and working.

Debian

The Debian distribution got around this by using a much more advanced package management system. It tracks all of these dependancies itself, so when you tell it to install the above program, it knows it needs the libraries, and it knows that those libraries need something else, and it knows where to get all of these bits from. It also knows that updating all of these bits won’t upset anything else on your system, because it knows what everything else depends on.

The upshot of it is that when you tell it to install the program, it just reports back that it needs to get three packages, and tells you how bit they are. You say ‘ok’, and it goes off and does it all for you.

Actually, package management for RPM distributions has become much better these days anyway, so the difference isn’t as significant as it sounds any more.

But all of this means that systems based on Debian tend to be easier to update and add or remove software.

Others

Can we just gloss over the fact that there’s other package management systems too? We’ll be here all day if we start talking about Gentoo and Slackware, and neither are really all that well suited to new kids like me.

So You Want?

Something based on Debian would be preferable, though it doesn’t matter as much as it used to.

So Anyway…

Yes, sorry, I’m getting carried away there with details. My choice?

Ubuntu

I’m going for Ubuntu. It’s based on Debian, and although it’s not been around for long compared to many other distributions, it’s made a lot of friends very quickly. It works well on the desktop, it has a nice interface, and installs easily. It also doesn’t hurt that I’ve already got a copy of the installer and the live CD lying around to try out.

I booted the live CD version on Zippy (our desktop machine) yesterday, and it seemed to recognise everything in the machine without any problems. Just gave me a working desktop. I saw enough to think I’d be happy to use it, so I need to carry on preparing from here…