Join Scott Simpson for an in-depth discussion in this video Foundations: Distros, part of Linux Tips Weekly.
- One of the wonderful things about Linux is the wide variety of distributions that are available. Distributions, or distros, are kind of like versions or flavors of Linux. They all share the kernel and some of the surrounding structure, but they go about things in different ways. Different distros are maintained by groups of interested people or organizations that have a particular philosophy about how Linux should work and how it should be used. Usually these distros focus on certain policies for adopting new software, for how settings are configured, what software comes preloaded and how that software is updated or installed.
Some distros are focused on testing out new cutting edge kernel versions and software. And others are more conservative in their approach, favoring stability and predictability over shiny new features. While there are hundreds or thousands of individual differences between distros, some of the highlights between distros that new users come across first are which package manager they use to install and modify software and how their configuration files are organized. While distro maintainers certainly have their reasons for making the decisions they do, it's impossible to say objectively that one package manager or one way of configuring the system is better than the others.
If we all agreed that one way worked best there wouldn't be such a diversity of approaches to Linux. It's fine to have opinions about these configuration decisions, so try a few distros out and find the one that works best for you. There are probably thousands of different distros out there. Most of them are based on or, as we'd say, derived from a few major distros. These are Red Hat, Debian, and Slackware. There are a few other distros, like Arch and Gentoo as well, that are popular amongst enthusiasts, but aren't used in production quite as much.
And if you're just getting started they can be a little bit of a challenge to get set up. Red Hat Enterprise Linux is a distribution managed by Red Hat and targeted for commercial use. Red Hat requires a subscription to license the operating system on production systems. And they also provide support services. Debian was started by Ian Murdock and has a philosophy of being developed and distributed openly. Debian is widely used for both desktop and server purposes and is one of the oldest and most popular distros.
Slackware is the oldest still-maintained distro and it takes very minimalist approach to installation, package management, and configuration. While these three distros represent the kind of broad strokes of the available distributions and each of them have many users, they also serve as the basis for many very popular distros. Distros that are related to Red Hat are CentOS and Fedora. CentOS, the Community Enterprise Operating System, is a distribution designed to favor stability and predictability, and as such it tends to run a little bit behind distributions which have a more adventurous approach to adopting new software, tools, and technologies.
CentOS is intended for servers and workstations that need a stable foundation and is often used for development, testing, and staging environments by organizations that use Red Hat Enterprise Linux on their production servers, but don't see the need to pay for support licenses in non-production environments. CentOS is very close to Red Hat Enterprise Linux in all aspects. Though CentOS does not use Red Hat branding and is supported by the community, rather than by Red Hat directly. In fact, CentOS is built from the source code of Red Hat Enterprise Linux after Red Hat releases a new version.
Release versions of CentOS are numbered in sync with Red Hat Enterprise Linux, as well as a number indicating the date of the code on which a given version is based. Because CentOS is a stable distribution designed for production use each release is supported for at least 10 years. So it's not uncommon to see version 6, the previous version, in active use in the enterprise. When you get the CentOS installer it comes in a few different configurations. There's a DVD installer with most of the popular packages in the image, a minimal installer, and the everything installer.
There are also some live installers, meaning that they come with an already installed environment that you can use without having to install the operating system yourself. During the installation process you can choose from a series of pre-configured installations with groups of packages that make the system a desktop or a web server, a database server, and so on. These installation sets can be changed later too. CentOS, like Red Hat, uses the rpm package manager through the yum front end.
Whereas CentOS is derived directly from Red Hat, Fedora is a little bit different. Fedora is a distribution that favors and develops new tools and technologies in order to evaluate whether they'll be integrated into Red Hat Enterprise Linux at some point in the future. Fedora has a much faster release cycle, in which packages are updated and the kernel is moved to newer versions. While software developers and enthusiasts often find this beneficial, for the purposes of testing and updating software, it can result in incompatibilities when using older software and sometimes, though rarely, can cause other problems.
Fedora moves quickly, so its users need to stay on top of updates and are expected to be okay with doing a little bit of troubleshooting now and then. Fedora has a very short support window, so it's not really intended as a solution for general desktop use for a wide audience. And it probably shouldn't run production systems that need long-term support and stable versions. Because it runs ahead of CentOS and Red Hat Fedora uses the dnf package manager, which is being evaluated for inclusion in Red Hat. If you try to use yum you'll be politely reminded that on Fedora you're living in the future and to use dnf instead.
Fedora is commonly used on software development workstations. It also has installation options like CentOS for workstation or server roles, and offers a wide range of more granular installation options based on the specific tasks a machine will be used for. By default both Fedora and CentOS use the GNOME shell as their desktop environment, but of course, that can be changed according to your preferences. There are other distros derived from Red Hat as well, like Scientific Linux, Oracle Linux, and Amazon Linux.
Debian is popular on its own and from it are derived Ubuntu and Mint, two other very popular distros. Ubuntu is widely used and it focuses in part on ease of use. It's popular both on servers and as a desktop environment with a broad appeal for both power users and casual users. For a long time Ubuntu had a desktop environment called Unity, but starting in April 2018 Ubuntu will ship with the GNOME shell as its desktop environment, like many other desktop distros.
Ubuntu releases twice a year, in April and October, and releases are numbered accordingly. The last two digits of the year, and a two digit representation of the release month. Every other year the April release is considered LTS, or long-term support, which grants that particular version five years of support, rather than the shorter period that other releases have. These LTS releases are what should be used in production on servers and desktops and the intermediate releases are great for testing, as they come with some newer or more updated software and kernel versions.
Ubuntu itself serves as a starting point for even more specialized distros, like Xubuntu, Kubuntu, and Mythbuntu. Distros designed for lower resource machines, fans of the K Desktop Environment, and people making their own DVR. Linux Mint also derives from Debian and Ubuntu and focuses on an easy-to-use, media friendly interface. Whereas most Linux distributions ship with only open-source software, Mint ships with some closed-source software to accommodate this media support.
If you're looking for a Linux distro that's likely to be a good replacement for Mac OS or Windows in your daily life check out Mint. Like Ubuntu and Debian, Mint uses the dpkg package manager with the apt front end. Other branches of Debian include Raspbian, the default operating system for the Raspberry Pi, SteamOS, the operating system that runs the Steam Box gaming system, and Kali, a distribution focused on security and penetration tools. Originally forked from Slackware, but then later from another distro, SUSE is popular in Europe.
Like some other distro eco systems, there are various releases of SUSE that satisfy different needs. OpenSUSE keeps up to date with new software and developments. And SUSE Linux Enterprise incorporates changes more slowly and maintains a more supportable release schedule. And within the Enterprise product there's a choice between server and desktop, each geared for somewhat different uses. SUSE uses the YaST configuration tool. There are many other Linux distributions that don't derive directly from the larger upstream distros.
Alpine Linux, for example, derives from BusyBox, and is focused on security and on remaining small and minimal. For that reason it's often used in containers, like docker images, where a minimal system is required. Arch Linux is popular with enthusiasts, and while it has a rather steep learning curve for new users, it has very detailed documentation that can help you learn the ins and outs of Linux in a comprehensive way. Android uses the Linux kernel, but is somewhat different from other Linux distros in terms of the tool chain and software that it relies on.
ChromeOS is based on Gentoo and runs thousands of Chromebooks and Chromeboxes in homes, business and schools around the world. And while macOS has some of the same tools as many Linux distros, macOS is not Linux, it's based on BSD and the Mach kernel, which is a different implementation of a Linux-like environment. If you're just getting started learning how Linux works I recommend Ubuntu. Throughout this series that's what I'll be using unless we're looking at something that's specific to another distro.
And if you've been using a particular distro for a while it can be interesting to switch to a different one for a little bit to broaden your experience and appreciate how varied the different distributions can be. Typically to get started using a distro you'd visit the distro's website and download an ISO image, a file that represents the contents of an installation disk. Or you could use a prebuilt image on a cloud provider if you don't want to install Linux locally. So take a moment to browse around the sites of the various distros and choose an installer to download.
Over the next few weeks we'll take a look at how to use the image to install Linux. OpenSUSE keeps up to date with new software and developments and SUSE Linux Enterprise incorporates changes more slowly and maintains a more supportable release schedule. And within the Enterprise product there is a choice between server and desktop, each geared for somewhat different uses. SUSE uses the YaST configuration tool. There are many other Linux distributions that don't derive directly from the larger upstream distros.
Alpine Linux, for example, derives from BusyBox and is focused on security and on remaining small and minimal. For that reason it's often used in containers, like docker images, where a minimal system is required.