# Distro introduction
###### tags: `archived` `note`
So in this article I would be sharing with you a brief introduction to various *main* distributions (versions) of Linux. This article is mainly for newcomers in Linux that wants to slightly look at other distributions.
In this article I would not discuss the Desktop Environment that each distribution uses by default because nearly every distribution could have any desktop environment. For people who don't know what desktop environments are, think of it as your desktop having various ways of presenting itself. Go checkout [unixporn](https://www.reddit.com/r/unixporn/) if you would like to see how different desktop environments could be customised into.
## What are Distributions (Distro)
NO, it's not `disco`. It is `distro`. A `distro` is short form for distribution. So basically, Linux is just a core kernel, there's quite a lot going on in it, but 'probably' you're going to want some additional tools to use it. This is where distributions comes in, they are the various versions of Linux. You could think of them like different flavors of ice creams, some like it orange-y, some like it mint etc, but none of them taste like pure ice cream. Well, at least most of them don't (pointing at `LFS` but don't try this if you're just starting out)
So, I'll be covering some of the bigger distributions by use case. Normally, the biggest difference between them is their package manager. Some might argue systemd, the use of Xorg etc would be as well but if you're new to Linux you probably don't care about this systemd fiasco and if you're well versed in Linux you probably already understand or is just a [search](https://duckduckgo.com/) away.
I won't actually argue which package manager is the best, because I think for most new comers this isn't relevant, but I think I should tell you about the amount of software that it has.
<center>If you would rather watch a video explain it</center>
{%youtube DKFnqAtEOvc %}
<center>Also a funnier way of describing them</center>
{%youtube HZRQVxfcqZU %}
## Debian
One sentence description: Boring, the good kind.
This is the grand daddy of most Linux distributions. It has various other distributions that are based on `Debian`. `Debian` is known for it's stability and free software. `Debian` is normally very well tested out before releasing it's official stable release. It normally takes a very long time to actually get new updates because it is so well tested out, so in most cases you won't have bugs.
`Debian` prides itself for being strict on the GNU public license, so much so that in grub, you would say that it's GNU/Linux and not just Linux. *Que Richard Stallman Quote*
<center><img src="https://i.imgur.com/TyDmH1d.jpg" alt="It's GNU"></center>
<center><a href="https://kopasas.tumblr.com/post/69361932517">source for image</a></center>
`Debian` uses the `apt` package manager. Put simply, it has the most packages in it's repositories, however since `Debian` likes to test out it's packages very throughly, it normally has older pieces of software in it. By default, `Debian` **ONLY** uses free software, nothing proprietary.
Also, since `Debian` has existed for so long, there is quite a good following for it, which means there are probably a lot of questions and answers online about `Debian` already. I would consider Debian as the sweet old grandparent that you like, but probably won't work out as well for factories.
So when you start using `Debian` , I would recommend adding the `contrib` and `non-free` option for the `apt` package manager, that way you could have more (as in non-free) packages to use. Also, download the `non-free` version of `Debian` because it would allow you to have more driver support. Lastly, Debian users would ferociously like to point out to read the [Debian wiki](https://wiki.debian.org/DontBreakDebian) about not breaking Debian installs, they really don't like to explain what's wrong with your `apt-get update`.
> Distro based on `Debian`: `Ubuntu`, `MX Linux`, `Kali Linux` etc.
### Ubuntu
One sentence description: It's fine.
Also I think I should give a shout out to `Ubuntu`. It's basically `Debian` with a newer kernel (as of Feb 2020, 5.3 opposed to 4.19) I understand that the Linux community doesn't like `Ubuntu` and Canonical (the company that develops `Ubuntu`), the reason for all that hate could be boiled down to being the Microsoft of the Linux world.
Canonical tries to invent the wheel on a few industry standards unnecessarily and the whole Amazon web client thing doesn't help at all. There is also a slight annoyance from some Ubuntu users taking "Ubuntu standards" as the "industry standards". In a way, the antithesis of what Debian stands for in the Linux world, ironically it's based on Debian.
`Ubuntu` *should* be the most used distribution currently. They are popular for good reason, they have a really good forum and a lot of Linux software is written **FOR** `Ubuntu`. Most of the things you ask about `Debian` would apply to `Ubuntu`, added with the `Ubuntu` specific questions/answers, there is just a lot of support and feedback for this distribution. Canonical should also be given credit for making Linux more accessible for the general masses and making some great optimization of the Gnome desktop environment.
There is something called a `PPA`, which is just `Ubuntu`'s way of adding more software (more precisely, repositories) into the `apt` package manager. Just a tip, if you ever use `Debian`, **DO NOT ADD PPAs INTO `Debian`!**. I've heard that Ubuntu has been moving towards `snap` packages these days because `PPA` would have root privilages on your computer.
> Distro based on `Ubuntu`: `Linux Mint`, `Pop OS`, `Elementary OS` etc
## Red Hat Enterprise Linux
One sentence description: Exotic taste, strangely healthy.
`RHEL` is very renowned for it's corporate version of Linux. A lot of big tech companies use `RHEL` because they would provide human support for them when they need help with the operating system. It used to be the most used distribution before `Ubuntu` came in and claim that spot.
`RHEL` uses the `dnf` (newer) or `yum` (older) package manager, it also has a lot of software written for it. If you can't find it for `RHEL` there are two ways, either use `Debian` software on `RHEL` (through `alien`) or use `RPM fusion`. It has a great community and is overall pretty stable and solid as a work distribution. Normally, `RHEL` based distributions has more recent software than `Debian` based systems and is on par as stable. `RHEL` is also known to run on a lot servers, which means it could run for days on end and not needing to shutdown or reboot.
However, since `RHEL` provides you amazing human support, it charges you money. So, most users don't use `RHEL`, instead they use `Fedora` or `Centos`, which is based on `RHEL`, but in different ways. `Fedora` is a testing bench for `RHEL`, so everything that's new is put on there. You could think of it as `RHEL` beta version. `Centos` is a community driven version of `RHEL`, which means, there are people out there who take `RHEL`'s code and make it free, but you don't get the human support for your problems on `Centos`.
> Distro based on `RHEL`: `Fedora`, `Centos` etc
## Arch Linux
One sentence description: BTW, a bunch of work.
`Arch` is basically for "the Linux elite", or so they say. I don't recommend new users to use `Arch` because the installer is harder to use as a new user. Granted you could always follow Youtube and you'll probably get it, but again it is much harder for new users. It's essentially building your own system when you install. You have to know exactly what you want to install and all the commands to do it. Granted you will learn a lot after using it, but please don't use it if you don't want to do a lot of tweaking and tunning your system.
[Meme why people dislike Arch users sometime](https://imgur.com/QZQIADt.jpg)
Hopefully that doesn't scare you away from `Arch` because `Arch` is actually really awesome! First of all it uses `pacman` as it's package manager. It has a really good selection of software to install on it. But `Arch` has probably the **most** amount of maintained software out there thanks to the `AUR`. The `AUR` has the power to literally build the software you want to use for your system for you. Yeah, it's that awesome! You could have the newest and greatest version of a software everyday!
However, since `Arch` is updated literally everyday, there is going to be a lot of bugs in it's software. So, **DON'T UPDATE EVERYDAY** unless you want a headache for life. Other than that, `Arch` is super awesome.
However, if you don't want to use the command line installer of `Arch` and go through that pain, you could always use `Manjaro` or `Arco Linux`. I'm unsure about both distributions because I haven't used them extensively but I have heard of various [negative things about Manjaro](https://github.com/vizs/manjarno).
> Distro based on `Arch`: `Manjaro`, `Arco Linux` etc
## Slackware
One sentence description: Simpleton.
It's the oldest actively used distribution out there. It's not well recommended because it doesn't have good (or even any) intelligent dependency management for it's package manager. For example, if you want to download package A that relies on python, it won't help you download the python package but will instead assume you have already downloaded it.
It is very simple, not in the way you use it, but how it's designed, and it prides itself for having a simplistic design. It's been gaining some popularity these few years for resisting to switch to systemd for startup.
> Distro based on `Slackware`: `Suse`
### Suse
One sentence description: Linux Youtubers seem to like this distro.
Unlike it's old fork, `Suse` is very popular! There is a free version of `Suse` called `OpenSuse`. It's kind of like `RHEL` where `Suse` is the enterprise version and you get that fantastic human support for companies but it charges a fee using it; while `OpenSuse` is the free version of `Suse`.
`Suse` uses the `zypper` package manager, which has the smallest collection of software among all the distributions introduced above. However, it has something called `YaST`, which is like a central control hub for everything in the computer. If `Arch` users say they like `Arch` because of the `AUR` then `Suse` users would tell you they like `Suse` because of `YaST`. It could allow you to add literally all the software from `Fedora` and `Arch`, and you could also choose the version that you want to install on. Yeah, that's awesome.
> Distro based on `Suse`: `OpenSuse` etc
## Gentoo
One sentence description: Why?
`Gentoo` is a distribution that would require people to actually compile almost everything when you setup. It's like Arch but with Arch everything is already compiled for you and you need to figure out the commands ; For Gentoo, you have to compile those things too.
There are special use cases for Gentoo, nominally the science sector uses Gentoo or some flavor of Gentoo because you could tweak the kernel an obscene amount for a specialised use case. But for the average user of Linux, it's not really worth all the hassle.
Like really, what's wrong with you?
## BSD
One sentence description: I'm just putting it here to make BSD people mad
BSD is not Linux lol.