What is a Linux Distro



  • One of the most confusing aspects of Linux for those new to the concepts but with experience in other operating systems is the idea of distributions or, in Linux speak, distros. Common Linux distros include CentOS, OpenSuse, Ubuntu, Linux Mint, Fedora, Arch Linux, Gentoo, Slackware, Debian and thousands more.

    To understand the idea of a distro, first we must understand what Linux is.

    What is Linux? Linux is a kernel, not an operating system. It is used in many operating systems and we refer to all operating systems that use Linux as "Linux operating systems" or "Linux-based operating systems" but there is no "Linux" that we can run on its own. We can only use Linux to build a full OS.

    There is no reference implementation. This is important for people considering Linux. Unlike nearly any similar open source operating system family like FreeBSD, Linux remains purely a kernel and nothing else. There is no generic "Linux operating system" that you can use whereas FreeBSD is a reference implementation of itself. So while you can truly run FreeBSD, you cannot just run Linux.

    A Full Operating System is an assembly of many parts. To be a full OS we certainly need a kernel but we also need a shell, core applications and such. An OS is a much bigger thing.

    In the Linux world, operating systems that are built with a base of the Linux kernel share a lot of similarities partially due to the obvious fact that their most critical component is shared between them but also from commonalities stemming from conventions that are almost always followed (such as choosing the BASH shell as the default.) Because these different operating systems share so much with each other and represent a "collection of software distributed together" we refer to these as distributions.

    So in Linux terminology, a distribution is a Linux-based operating system.

    Downstreams. To make the whole matter more confusing, because of the open source nature of Linux, it is not just possible for one distro to be based on another, it is actually incredibly common. You can, of course, build a base distro (one based on no other distro) yourself if you want, but this requires a ton of work. There are many base distros out there already. If you want to make your own distro you could use one that already exists and base your work on their starting point to make things easier for yourself. Most distros today do this.

    Here are some examples of the distro ecosystem.

    Common Base Distros: Fedora, OpenSuse, Debian. Each of these makes their own distro without starting from anyone else's prior work. These are the three key "parent" or "base" distros. Each is a full distro in its own right, each is often used as the basis for others.

    Ubuntu: Ubuntu is a popular distro and is built off of the work done by the Debian project. Debian provides the base and Ubuntu modifies and extends this to make their own operating system.

    Linux Mint: Linux Mint is a distro based on Ubuntu (which in turn is already based on Debian.) The Linux Mint team takes Ubuntu and adds a lot of their own packages and tweaks, removes stuff that they don't feel works for them, modifies what they want to modify and then releases their own distro.


    Distro Focus. One of the reasons that so many different distros exist in the first place is because each has a different focus than the others. Sometimes the difference in focus is dramatic, sometimes it is minor. CentOS, for example, is a distro designed to be used for servers. Linux Mint is designed for use as a desktop. OpenSuse and Ubuntu are "balanced" and designed around mixed use cases. Red Flag Linux is focused on Chinese language support. And so forth.

    Part of a series on Linux Systems Administration by Scott Alan Miller



  • How do distros focus?

    Lots of ways. Server distros, for example, will include lots of server packages like databases, programming languages, and such. They tend to be very lean and light. The focus of tools is on the CLI.

    A desktop distro will typically have many desktop options, tons of end user applications, GUI tools, lots of graphical tweaks and such.

    Server distros tend to have slow change cycles to allow for a focus on stability. Desktop distros tend to lean towards implementing the latest and greatest application updates as quickly as they can be tested and released. Stability takes a back seat to cutting edge tools.

    Development distros will tend to have programming tools, broad language support, compilers and more.



  • Good write-up.

    About OpenSuSE: It's very popular, that's true, But it's not a base distro. OpenSuSE was derived from SuSE which was derived from Slackware, which in fact is on of the three large base distros.

    There's a wonderful diagram over at Wikimedia:
    https://commons.wikimedia.org/wiki/File:Linux_Distribution_Timeline.svg



  • @thwr said in What is a Linux Distro:

    Good write-up.

    About OpenSuSE: It's very popular, that's true, But it's not a base distro. OpenSuSE was derived from SuSE which was derived from Slackware, which in fact is on of the three large base distros.

    Was... at some point. Now Suse and OpenSuse are merged. OpenSuse Tumbleweed is the rolling release. OpenSuse Leap / Suse are Tumbleweed frozen at certain moments in time. It's all one product now.


  • Vendor

    @thwr said in What is a Linux Distro:

    Good write-up.

    About OpenSuSE: It's very popular, that's true, But it's not a base distro. OpenSuSE was derived from SuSE which was derived from Slackware, which in fact is on of the three large base distros.

    There's a wonderful diagram over at Wikimedia:
    https://commons.wikimedia.org/wiki/File:Linux_Distribution_Timeline.svg

    Good one but a bit outdated info IMHO.



  • @KOOLER said in What is a Linux Distro:

    @thwr said in What is a Linux Distro:

    Good write-up.

    About OpenSuSE: It's very popular, that's true, But it's not a base distro. OpenSuSE was derived from SuSE which was derived from Slackware, which in fact is on of the three large base distros.

    There's a wonderful diagram over at Wikimedia:
    https://commons.wikimedia.org/wiki/File:Linux_Distribution_Timeline.svg

    Good one but a bit outdated info IMHO.

    That's not a trivial diagram to maintain 🙂



  • @scottalanmiller said in What is a Linux Distro:

    @KOOLER said in What is a Linux Distro:

    @thwr said in What is a Linux Distro:

    Good write-up.

    About OpenSuSE: It's very popular, that's true, But it's not a base distro. OpenSuSE was derived from SuSE which was derived from Slackware, which in fact is on of the three large base distros.

    There's a wonderful diagram over at Wikimedia:
    https://commons.wikimedia.org/wiki/File:Linux_Distribution_Timeline.svg

    Good one but a bit outdated info IMHO.

    That's not a trivial diagram to maintain 🙂

    Oh hell, no. But I guess it's generated somehow, maybe with a mindmapping tool 😉



  • Looks like mindmapping, that would make sense.



  • User of CentOS and Ubuntu servers myself. Mint is still top go-to for desktop, though there are interesting alternatives like ElementaryOS.

    Linux is not always easy to learn, I just forget everything if it's not regularly used, especially CLI with their bazillion switches that no mere mortal can ever memorize. And moving between different distros where commands don't work exactly the same, Aptitude and Yum, etc.

    Cool, but always challenging.