Linux is a badarse open-source operating system. Take it from a card-carrying Linux lover. But it's not without problems. One such problem: There are nearly six hundred different versions of Linux out there -- an incredibly overwhelming number to even the most experienced of Linux users. If you've tinkered with Linux a bit and want to move beyond the basics, here's how to narrow down that selection and find the distribution that fits your needs.
Note that this article is not necessarily for beginners. We aren't going to go through a lot of the basic terminology here; you should already know a bit about how Linux works, what a desktop environment is, how package managers and repositories work, etc. To learn the basics, check out our Night School guide on getting started with Linux.
What Defines A Linux Distribution
A Linux distribution is more than just the look and feel of the desktop. A lot of different things go into making a distro what it is and you should try to take them all into account as you search for the right one. While most of these are customisable in any Linux distro -- that is, if you don't like what apps, desktop environments, or drivers come pre-packaged, you can always install them separately -- the idea is to find the distro that's as close to your ideal setup as possible. That way, you spend less time fiddling and getting everything the way you want. Here are some big things you'll want to keep in mind.
Traditionally, one of the biggest things that separates Linux distributions is the package manager. Those of you that have used Ubuntu are probably familiar with APT (or its graphical interface, Synaptic), and you'll find that same package management on Mint, Debian and other distributions. However, other distros have their own package managers. Fedora's Yum manager, for example, is a tad easier to use from the command line than APT (though it can be a bit slower at times).
More important than ease of use, though, is the availability of packages. Since Fedora is not quite as popular as Ubuntu, Mint, and other Debian-based distros, it may sometimes be harder to find the app you're looking for -- which means you'll be stuck building from source instead of just installing it from the repositories. Building from source isn't all that hard, but it won't allow you to automatically update that program when a new version comes out, which is a real bummer. So, consider both the ease of use and the popularity of a given package manager in your choice of distro.
The default desktop environment encompasses so many different parts of a distribution, but it's also the easiest thing to change. We've talked about the difference between desktop environments before, so I won't go into super fine detail here, but it includes things like:
- The basic look and feel if your windows, desktop, and menus, as well as how customisable it is
- Resource usage
- The options available in your distro's graphical preferences (such as remapping certain keys, changing what items appear in your menus, and so on)
- How well certain programs integrate with your desktop and each other
While you can always install a different desktop environment, it's probably still worth considering heavily. The closer the default desktop is to the desktop you want, the less work you'll have to do to set everything up, and the better all your programs will work well together.
Stability vs. Cutting Edge
Different distros have different release and update cycles. Some, like Fedora, focus on having the most up to date versions of all your apps and packages, so you always have the latest and greatest. However, this can sometimes come at the expense of stability, which is why other distros -- like Debian -- prefer to delay certain updates to make sure everything runs smoothly. If you always have to have the latest version of Firefox or any other app, something like Debian probably isn't right for you -- you'd want to choose something like Fedora which will be a bit quicker to get those updates out to you.
Different distros package different drivers in their installers, which means that, depending on which distro you use, you'll find that different pieces of hardware may or may not work out of the box. While you can often get other drivers installed with a bit of extra work, it sure isn't fun. As you're looking through distros, check their hardware compatibility pages (or test them out with their Live CDs) to see whether things like your Wi-Fi card, video card and sound are all compatible out of the box. If not, just know that you'll have to do a bit more work to get everything up and running when you first install. Image: Garrette.
A big part of Linux is the community surrounding it, whether for troubleshooting, app support, or even good documentation. The larger the community surrounding a distro, the more likely you are to be able to get help, find documentation on a specific problem or piece of hardware and otherwise get information. This is what makes Ubuntu such a great beginner distro. Poke around the forums of your chosen distros and see which ones fit you well. Is the community helpful? Are there a large number of useful forum threads or documentation pages (like ones dealing with specific laptops? The better support you can get from the community, the easier your transition to that distro is going to be.
Distributions Every Linux User Should Try
Now that you know what makes a Linux distribution, you may be wondering where to start looking. DistroWatch is an incredible resource for those looking to branch out, but again, there are hundreds of distros out there and it can be pretty overwhelming. While we highly recommend exploring beyond our paltry list below, here are a few distributions that are incredibly popular and are great starting points for any search. Note that most distributions have variations that use different desktop environments, but we'll focus on the default environments for each here.
The Standard: Ubuntu
If you've tried Linux before -- and again, if you're reading this, you probably have -- there's a good chance you've tried Ubuntu. The original aim of Ubuntu was to make Linux easier for the average user and it did a pretty good job -- it's a great beginner's distribution. It's fairly simple to use, updates every six months and now contains its own Unity interface, which is specific to Ubuntu, featuring things like a dock instead of a taskbar, an App Store-like interface for its package manager, a dashboard for easy searching of the OS and more. Some people like it, lots of people hate it, but you can always bring back the classic GNOME interface, if you so choose.
Ubuntu comes with a pretty standard set of apps, including Firefox, Thunderbird, Empathy for instant messaging and Transmission for downloading torrents. It also has an incredibly large and helpful community, as well as great hardware support, so if you're looking for something as hassle-free as possible, Ubuntu isn't a bad place to start. Its popularity also means that it has loads of programs available in the repositories, or online as packaged DEB files for one-click installations. Rarely will you have to build a program from source.
For the Beginner: Linux Mint
Linux Mint is actually based off Ubuntu, but we thought to include it here because it's become even more popular with Ubuntu's shift toward the unpopular Unity interface. Mint aims to be as easy as possible for users unfamiliar with Linux: the installation is pain-free, the menus are familiar and easy to use and unlike other distros, it doesn't commit itself to providing only free and open source software -- that is, it comes with things like Adobe Flash, MP3 support and some proprietary hardware drivers pre-installed. In other distros, you usually have to download these separately. Its set of pre-installed apps is very similar to Ubuntu's (with a notable exception; Mint pre-installs Pidgin for instant messaging instead of Empathy -- a choice we agree with) and because it uses the same package management system as Ubuntu, you have a very wide range of programs available in the repositories or as DEB files. It is also completely community-driven, which means you have a pretty good source of support when you need help. If you've never used Linux before, we highly recommend Mint as your first distro.
For The Bleeding Edge User: Fedora
Fedora aims to be a bit more on the cutting edge of all its software. Updates come out every six months, just like Ubuntu and Mint, but they aren't supported for very long. It's expected that users update regularly and as soon as possible. Programs like Firefox will be updated as soon as Mozilla releases an update, unlike Ubuntu, which will usually wait to make Ubuntu-specific changes to the code and release things later on. This can result in a bit more instability, but is great for those that always want the latest and greatest software on their system. It also updated to the GNOME 3 Shell very quickly, and is the most popular Linux distribution currently using it. Fedora uses the somewhat slower but easier to use Yum package manager, instead of Ubuntu and Mint's APT, and while it doesn't have quite the software availability that the others do, you can still find most of what you need in the repositories or online in a single-click installer. Fedora also has great security and enterprise features, if you're looking to use Linux in a more professional environment. Fedora is definitely better for serious Linux users rather than tinkerers and hobbyists.
For the Cautious and Stable: Debian
Debian, in many ways, is the opposite of Fedora. Its goal is to be as stable and bug-free as possible, which it does very well -- but it means that your system is rarely up-to-date with the latest versions of software. New releases come out every one-three years and the development community can be a bit harsh for those uninitiated. However, if you're looking for something as stable as a rock and don't care about always having the latest version of a piece of software, Debian is for you. Debian also uses the same package management structure as Ubutnu and Mint, so it has more programs available than you can shake a stick at -- both in the repositories and online as DEB files. It also supports many processor architectures, which is great if you have a particularly old or offbeat build.
For the Tinkerer: OpenSUSE
OpenSUSE is a general-purpose Linux distribution that, while it has a bit of drama behind it concerning its parent company, has a very helpful community. Its main draw over other distributions is its level of configuration. KDE is the default desktop (which in my experience is one of the most easily configurable), though it lets you choose between KDE, GNOME, LXDE and XFCE during the installation, which is pretty cool. It also has a very nicely done system administration utility and package manager, known as YaST, as well as great documentation and (as previously stated) a good community behind it. It's worth noting, however, that KDE and OpenSUSE can be a bit more resource-heavy than other distros, so you'll want to make sure you have resources to spare before choosing it. This is not an ideal distribution for your netbook. If you're one of those people that likes having things just so, OpenSUSE is a good distro to try, as it gives you a lot of configuration options without the need to delve into the command line.
For the Diehard: Arch Linux
Arch Linux is special. Arch doesn't have very many of its own characteristics, as when you install it you're doing so from scratch. All you have when you install it is a command line, from which you build up your desktop environment, drivers, preferred applications and more. Essentially, you're creating your own super-customised distro. It can be as minimal or as feature-heavy as you want and while it takes a lot of work, the end result is fantastic (plus you'll learn heaps about how Linux works in the process). The great thing about Arch is that if anything ever goes wrong, you'll probably know why, because you're forced to deal with these things at a low level. This is especially good considering Arch's community doesn't have the reputation of being super helpful to newbies (though I've found them to be more than adequate).
Arch uses the incredibly easy and powerful Pacman package manager and is a rolling release, which means there are no "official" releases -- you're always installing the latest version of whatever packages are included, which makes it great for those on the super bleeding edge. Arch also contains the Arch User Repository (AUR), one of my favourite things in the entire Linux ecosystem. It essentially allows the community to create easily installable versions of any program, so even if it isn't in the official Arch repos, you can use an AUR helper to install all those programs as if they were normal packages in the repositories. For more information on how to install and use Arch, check out our guide on building a killer customised Arch Linux installation.
Obviously, these aren't the only Linux distributions out there. There are other popular ones like CentOS and Slackware, plus variations of all of the above like the LXDE-enabled Lubuntu (based off Ubuntu) or the super-minimal CrunchBang (based off Debian). Again, check out DistroWatch for more ideas and don't be afriad to test a number of distributions before you settle on one -- the more you test, the more likely you are to find the one that fits you perfectly.
Got your own favourite distro, or any other comments on how to pick the perfect one for you? Share them in the comments.