I did a lot of distro hopping since I use Linux, and I must say that I still do that now. How to choose your distro actually? If you search the Internet, you will find lots of articles and forum discussions on this matter. The basic line would be to choose the one that perfectly fills your needs. But how would you do that if you are a beginner? How would you know what would best suit you?
This article will not be a comparative or distro review, I will only emphasize on my particular case with Linux.
How I choose
As I said before, I still do a lot of distro hopping. This is not really a bad thing, as you are constantly testing new things. Following are my thoughts on choosing the Linux distro. I must admint right from the beginning that I am not a “follow the flock” type, therefore I am not that fond about Mint and Ubuntu anymore.
In the beginning
In the beginning there was
SUSE Linux Enterprise Desktop, a distribution that came installed on an HP laptop that I bought. My first encounter with Linux. It was intimidating at the beginning, but slowly started to get the grasp of it. Nevertheless, I could not find much help on the internet with regard to SUSE, as most of the forums were talking about Ubuntu. So I gave SUSE up. The main reason I did not stick with it was the lack of online help. This was about ten years ago, but now things are a little bit different and openSUSE has a little bit more support then ten years ago. But, nevertheless, even though I used it for a little time at the beginning of my Linux journey, SUSE still counts as my first Linux distribution.
Then I started using
Ubuntu, just because I was at the beginning and I could find answers for any kind of problems I could encounter working with Linux that were written for Ubuntu. Thus, online support was the reason to start using Ubuntu.
I used Ubuntu for a couple of years, then I started to use openSUSE again, after I regained confidence in my Linux capabilities. Therefore, if you are new to Linux, you will manage to start your adventure quite well with Ubuntu. Now, if you ask me,
I don't find Ubuntu that attractive anymore, but this is mainly because of the fact that I discovered more stuff about how Linux works using other distributions.
In the middle
I kept using openSUSE for a very long time and did not need to change to another distribution. Even
openLARK came to being as a need for comprehensive help for openSUSE users. But, as I moved the website around, from server to server and from Wordpress to Drupal and then Jekyll, the content I first wrote kind of got lost on the road.
Two years ago I started the
LFCS course using openSUSE, which was great. I also started going to the local SUSE Expert Days and Micro Focus meetings. SUSE was the only distro that
felt real to me. The only one that gave me the opportunity to meet people directly involved. The rest, were only bits and bytes on my computer or some internet websites.
Anyway, I would have kept using openSUSE, but I started a new course in Bucharest, and they were using Ubuntu/Mint for the lessons. Thus, I had to start using Ubuntu again. I wasn’t satisfied with Ubuntu mainly because of their decisions with regard to the Desktop Environment. Nevertheless, I was not satisfied with Ubuntu derivatives either, especially Mint, so I had to decide once more. I must tell you that I kind of neglect Mint as a distro, because I mainly like to work with the
"first tier" distro, not some
"third tier" ones. Don’t get me wrong, Mint is a great distro, especially for the newcomers to Linux, but I don’t really like their approach.
Thus, I started using Ubuntu again, but kept openSUSE on one of my systems. When it came to the final project, I did it twice, once in Ubuntu and once in openSUSE. It was that time that I once again realized that Ubuntu had a strange approach to configuration. First, openSUSE had, in my opinion, a better approach to firewall and iptables rules. Way better than Ubuntu. Then there was a different approach to Apache in openSUSE, and I liked it better than the one in Ubuntu. One more reason to tell myself that I should stay with openSUSE.
But the biggest issue is that, when you do look around, you see SUSE and openSUSE are close to non-existent in the modern Linux work environment.
Docker for example… They don’t have official images for openSUSE for the community edition, only SUSE for enterprise edition. This is not cool. Then, you come to realize that SUSE and openSUSE are not really identical, even though they say that they use the same core as the enterprise edition.
But, don’t dispare, as there are solutions for Docker and openSUSE.
Or, if you would like a
Digital Ocean droplet, you don’t get the option of setting up openSUSE, as you only have Ubuntu, FreeBSD, Fedora, Debian and CentOS. Only Linode offer openSUSE. Hetzner used to offer openSUSE for their VPS, but for their cloud instances they only offer Ubuntu, Fedora, CentOS and Debian. So, this is a big issue if you like openSUSE.
Raspberry Pi for example. Even though openSUSE team have a 64bit Rpi3 version, it does not appear on the official Raspberry Pi website as an alternative OS to Raspbian, only Ubuntu MATE, Ubuntu Snappy Core and some others, but not openSUSE. So, you are out of luck on this one. If you want openSUSE on your Rpi3 you should search for their dedicated image on their website or Google.
For more information on openSUSE and Raspberry Pi 3, follow this link!
Nevertheless, one thing that I like about openSUSE is their community and its involvement in many great open source projects, like OBS, openQA, kiwi, yast and the Tumbleweed rolling distribution.
In the end
In 2017, I became a Linux trainer myself, at the same school that trained me. Therefore, I had to use something like Ubuntu/Mint to teach the new students. Thus, as I did not want to use any of them (I will tell at the end why), I decided to give Debian a try. I was really impressed, as I only tried Debian like 9 years ago and I was not impressed at all. I did not even manage to install the required drivers back then. That was a real turn off.
Debian 9 Stretch was my primary distribution for about one year. I also installed it on my cloud instances. It worked flowlessly.
Nevertheless, starting this year, I decided to give the Red Hat family of distros a try. Therefore, I installed Fedora Linux Workstation edition on my laptops and NUC, and CentOS on my office desktop and Cloud instances. It was my first try with those distributions, and I must say that I am really impressed. Especially with Fedora, which has the latest and greatest packages available. CentOS has more outdated packages and this will give you a little bit of headache when you need to run newer packages, like for Ruby or PHP, just to name a few. But… you have the entire Red Hat enterprise ecosystem to your fingertips, which is a great thing.
Thus, what I choose?
Well, is complicated…
I have a strict policy on choosing a distro. First, it has to have a strict MAC/RBAC implementation, to have a strict policy on Security Bulletins and security patches implementation and to support UEFI and SecureBoot.
For personal workstation
For personal use, as a home user and occasionally Server administrator, I would go with Debian Stretch on all my systems, including the cloud. This would make everything much more simple, as I have all the packages I need on a desktop/workstation and also on my server. BUT, Debian fails at my first and third requirements as it does not support SecureBoot and does not have AppArmor activated by default (AppArmor and SELinux are MAC’s - Mandatory Access Controls). I could also use Ubuntu, but I am not really that confortable with it, at least not now. Maybe I will wait for the next LTS to surface. Just maybe.
Nevertheless, Debian gives you the advantage of a vast ecosystem of different distributions. You have the original Debian, then you have Ubuntu and Mint with all the spins and flavours, you have Kali, Tails for forensics, and then you have Raspbian and Ubuntu Core for Raspberry Pi 3. For servers you have Debian Stable and Ubuntu LTS. You also have KDE Neon from the KDE community based on Ubuntu. Therefore, you have much more then the RPM ecosystem is offering you.
With Debian out, and Ubuntu waiting at the corner, I am still remaining with openSUSE and the Red Hat family. OpenSUSE has AppArmor activated by default and supports SecureBoot. Thus, openSUSE would be my first choice, but to be honest, I really enjoy Fedora! You have the latest and greatest and you have the ecosystem of both worlds, the leading edge and the enterprise. Now, I don’t say that you should use Fedora on your server, even though you could, but it is very similar to CentOS, it’s bigger sibling.
For Raspberry Pi
Besides Raspbian, I wrote early that openSUSE has a RPi3 version - this being the only 64bit version available for RPi3. Besides those, Fedora and CentOS also have versions for RPi3 available. If you would like to try them, please follow the links below:
Also, for a development workstation, I would use openSUSE Leap or Tumbleweed, Fedora and maybe Ubuntu. Fedora gives you all you need in terms of development packages and versioning. Also, Fedora is the upstream of all things Linux, and openSUSE gives you stable and rolling versions, depending on your needs.
For Small Business
If it would be to use Linux on a small business, I would go with CentOS. It gives you the stability and security that you need in a Server.
I would have said openSUSE Leap, but their minor release versions are supported for only one year and a half. For example, version 42 is supported for 36 months, but the minor version 42.3 is supported only for 18 months. This is too little for a server distribution
My present setup
Now, I have Fedora installed on my primary NUC desktop, Debian Stable installed on my Thinkpad X201, Fedora on my Probook 430 G5 and on my Sony Vaio ultrabook and Raspbian on my Raspberry Pi 3.
On the Cloud I have CentOS installed, and on my Office desktop I have CentOS installed as a workstation.
Learning and Certification
To actually learn stuff about how Linux works and to play with things, I recommend openSUSE and Fedora and CentOS. This will give you an advantage if you are planning on getting your certification. This is because Red Hat and SUSE (and Oracle and IBM) have their own certifications that are cross-industry relevant and recongnized. They still are the big names in the industry. Ubuntu is a big player too, but they don’t have the relevance of others in terms of certifications. Of course that there are the LPI certifications that are distribution agnostic and Linux Foundation that are training you with all the major distros in mind (they now have only Ubuntu and CentOS as SUSE is having their own certification programme). If you plan on getting a job in some big corporation, you should go with the big names.
In terms of documentation, I must say that SUSE and Red Hat are the best there is. You can find lots of documentation on their websites, that will help you on your Linux learning path. You can also try the forums, or other websites, but they will only give you a strict answer most without even explaining what it means. This is not the way to learn, in my opinion. You need to learn what every command and option does, and the official documentation from SUSE and Red Hat will help you a lot, trust me. You will learn also from courses like the ones Linux Foundation has.
My advice for you
The Linux path would be, in my opinion, this:
- start with Mint or Ubuntu if you are new to Linux
- go with Debian after you feel secure with the former ones
- start playing with the RPM distros like openSUSE, CentOS and Fedora
- continue to use all of them, don’t settle only on one
- if you feel extra secure with your skills, you can also try Arch, Slackware and BSD family
- if you want to obtain certifications, go with Red Hat and SUSE certifications, or Linux Foundation using CentOS
Don’t be too committed to only one distribution or ecosystem and don’t spend too much time in the Graphical User Interface. Spend as much time as you can in the Terminal, this is how you will learn Linux and System/Server Administration.
As I spoke about GUI, this is another sensitive matter… Which GUI to use? Well, I love KDE and used to use it a lot with Debian, openSUSE and even Kubuntu and KDE Neon. But now that I am on the Red Hat side, I am using GNOME, which I really came to like and I find it better for what I do. As I spend most of my time in a Terminal and edit the files with vim, I don’t really need any kind of GUI at all. In the GUI I most frequently use the Web Browser (Mozilla mostly but also Chrome) and the test editor Gedit. Every now and then I use Gimp and Inkscape for graphics and image manipulation.
What to choose?
Now, you should choose whatever you like most. Whatever you choose, you should run all the other relevant distros in a Virtual Machine. Thus you will have the chance to exercise will all of them and be prepared for what the real world would throw at you.
Enjoy playing and working with Linux!