This article will walk you through the concept of distributions and repositories. We talk about Linux as this monolithic concept, but it’s actually several different types of structure built on one common core, with that common core being the Linux kernel. This article was excerpted from Learn Linux in a Month of Lunches.
Distributions, or distros, are flavors of Linux. Distributions take the Linux kernel and build upon it, crafting an experience for the user, selecting certain software and making certain technical choices. This includes
What software is included in that distribution’s repositories (the equivalent of the Windows App Store or the iTunes store for Mac)
The software versions available within those repositories
How that software might be implemented on the user’s system.
What this means for you is that even though Linux is Linux, not all distributions are interchangeable. If you’re using one distribution and want to switch to another, you can’t just flip a switch. Instead, you would need to completely install the new distribution. If you’re running one distribution and want a piece of software that’s in the repositories of another, you can’t just connect to another repository. And if you find a software package for one distribution online, you can’t necessarily install it on your system. Different distributions might look the same, but there are technical differences between them that prevent them from being completely interchangeable with each other. Distributions are ecosystems. The big advantage of Linux is that it’s not a closed ecosystem. There’s a lot of choice and flexibility in it, so if you don’t like the default music player chosen by your distribution, it’s trivial to remove it and choose the one you like. And if a piece of software you want isn’t in the repositories, there’s usually a way to install it.
Distributions also have personalities. Some prefer to have the newest versions of software while others privilege stability. Some distributions strive to create a deliberate journey for the user, selecting certain software and implementing certain designs, with the goal of having users interact with the software in a certain way. Other distributions prefer to leave everything relatively stock so that users can make their own choices about their systems. Choosing a distribution is a personal choice and most people find the one that’s right for them by distro-hopping, which is the process of trying out different distributions, until, like Goldilocks, you find the one that’s just right.
Free and Open Source Software
You’ll often hear the terms free and open source software used with Linux. This term means that anyone has access to the underlying code of Linux and it’s what allows projects to grow quickly and efficiently. Instead of starting from scratch, free and open source projects use existing code and enhance it and change it in new ways. There are lots of other projects besides Linux that use a similar philosophy, which is often indicated by some kind of open license. For instance, Firefox is free and open source software. Anyone can download the code and change it, or make their own version of Firefox.
You’ll often hear the term free with Linux. Within the community, members talk about “free as in beer,” meaning cost-free, and “free as in freedom,” meaning open source software. Some people who use Linux for political reasons don’t want to interact with closed, non-free formats like these. Other people want the ability to do things like watch YouTube videos.
Not all Linux software is free and open source, though. Some companies make proprietary software for Linux, meaning that while the software runs on Linux systems, and is even found in repositories, the underlying code is not available nor visible. The most common example of this around Linux is Flash, the software used to view videos within websites. But there are many more examples. Google’s Chrome browser is not open-source, but there is an open-source version of the project called Chromium.
If you came to Linux to support free and open-source software and projects, these kinds of distinctions are important. But many people use Linux because it’s customizable (in part because of the open-source nature of so many of its components) and works well. And of course, many people come for practical reasons and wind up staying for political ones.
Ubuntu’s reputation is as a user-friendly distribution. It has a very straightforward installation process and it aims to make things easy for the user. However, the price for that ease is that Ubuntu makes a lot of decisions for the user, which some appreciate but some do not. As part of the ease-of-use, Ubuntu tends to have older, more stable versions of software but not necessarily the latest versions, which can sometimes be unstable and even break things within your system. Ubuntu has a concept called Long Term Stable release, or LTS for short.
LTS releases are supported for five years
Non-LTS releases are supported for nine months.
If you’re looking to keep your desktop for a while, without needing to upgrade to a new version of Ubuntu, the LTS release, which we’re using here, is the way to go.
Figure 1. The Ubuntu logo.
Ubuntu is based upon the Debian distribution. This is something else you’ll notice with Linux distributions—they’re often built upon other distributions. In the case of Ubuntu, the developers use Debian as the base and then add their own software and design decisions on top of it. Because no one owns Linux this kind of collaboration is possible without complicated negotiations or contracts. Ubuntu is not the only Linux distribution, though.
Debian is the distribution upon which Ubuntu is based. Debian strives for stability, with a philosophy of "release when ready." What this means is that new Debian releases aren’t tied to a specific calendar. Instead, the community will hold onto releases until they are considered to be stable enough to be live. Within the Linux world, you’ll hear a lot of talk about stability. Stability is another word for predictability. It indicates software that is expected to run without any issues. Often, this means using older software, which has been more extensively tested than newer software. Because Linux is often used on servers, which are used for a myriad of important applications, stability is an important quality—often considered to be more important than newer versions of the software. Stability is also an important quality for desktop Linux. You always want to be able to access and use your desktop system.
Image of the Debian logo. Ubuntu is based on Debian.
The Debian desktop.
There are actually three versions of Debian.
Stable, which is the current release
Testing, which is software versions being considered for Stable
Unstable, which is where developers work on Debian, testing software before placing it in the repositories of Testing and eventually Stable.
Stable is, as the name implies, stable, but many people use Testing for their day-to-day work without incident. Debian also has more of a free and open source aesthetic and while there are packages to help users view closed-source formats like Flash, it’s not as baked into the installation process as it is in other distributions. It is for that reason that many people who use Linux for political reasons gravitate toward Debian.
Fedora is the community version of Red Hat Enterprise Linux. Red Hat is a publicly traded company that sells its own version of Linux to corporations. Fedora is the cost-free version that allows it to test ideas and concepts. However, the Fedora project is led by a council, some of whom are elected by the community. This governance model exists in many free and open source projects and is particularly effective with Fedora in that it maintains a balance in the project, preventing it from becoming another version of Red Hat.
The Fedora logo. Fedora is related to Red Hat Linux but is a community-driven project.
The Fedora desktop, which looks a lot like the Debian one (they use the same desktop manager)
Fedora tends to have more recent versions of software and for that reason can sometimes be more challenging for new users to manage. Fedora comes out with a new version about once every six months and supports each release for 13 months, meaning, in theory, you’ll need to update your Fedora installation around once a year, although, in practice, many people keep theirs longer.
Linux Mint is another distribution that’s considered friendly for beginners. Linux Mint is built upon Ubuntu, so if you’re following along at home, it’s two steps removed from Debian. There is also a version of Linux Mint based upon Debian, Linux Mint Debian Edition, but for the most part, it’s considered an Ubuntu variant.
The Linux Mint logo. Linux Mint is based on Ubuntu which is based on Debian. Many distributions are connected like this.
The Linux Mint desktop – one of its two defaults desktop environments.
Linux Mint is a great example of how distributions can vary based upon curatorial choices more than technical ones. Linux Mint has its own look, part of which is based upon desktop environment choices, but some of which is based on things like its color palette. It includes non-free multimedia support, unlike Debian, but also offers a version without non-free multimedia. Non-free multimedia means proprietary formats, like Adobe Flash, and MP3.
One final note about Linux Mint. While most distributions encourage users to update to the latest release, Linux Mint tells users to stay on a release that’s working for them.
Arch is among the least user-friendly distributions, although people within the Arch community would not describe it themselves that way. The Arch philosophy is to give users complete control over their Linux desktop, from the software that’s installed to how often it’s updated. The price for that flexibility is that since the distribution isn’t thinking about these things, the end-user needs to.
The Arch Linux logo. Arch always has the latest versions of software, making it sometimes challenging to manage.
Arch doesn’t have a default anything, so it can look like whatever the user wants it to.
Arch is complex to install. It doesn’t use the graphical installer seen in the distributions like Fedora, Ubuntu, and Mint. Everything about Arch is very well documented, but updates have been known to break systems. Within the Arch community breakage is considered a good thing, as it helps users to learn about their system by figuring out how to fix it. But not everyone wants to know their system in that kind of detail. One of the things that makes Arch more volatile than other distributions is that it uses the latest versions of software. So just as Debian is valued for its stability, at a cost of using older but tried and trusted versions of software, Arch is valued for having the latest software, at a cost of stability.
Table 1. Distributions
Completely up to the user
Debian Stable is Stable. Testing has newer software
Up to the user, but privileges free and open source ethos
Newer software, but relatively stable
No proprietary software by default.
Includes some proprietary software
Includes some proprietary software
There are lots of other distributions. Some are completely original projects, like OpenSUSE. Others are variants built upon existing projects. For instance, you just read about how Ubuntu and Mint are variants of Debian. Manjaro Linux is a variant of Arch. Understanding variants is helpful in terms of finding a distribution that works for you. Table 1 compares the five distros we’ve mentioned here for stability and their open source ethos – the two points of comparison we’ve mentioned so far.
Some people know they like Debian-based distributions and knowing that helps you to find potential distributions. You’ll also see variations of distributions based upon the desktop environment (we’ll talk more about desktop environments in another article). But for now, just be aware that when you see something like Lubuntu, it’s a version of Ubuntu with a different interface on top.
To learn more about Linux, see Learn Linux in a Month of Lunches at http://www.manning.com/ovadia and save 39% with discount code ovadiadz.