(Warning, lots of personal experience and rant, all images came from wikimedia/wikipedia except for ubuntu which as usual relies on the individual websites for resources – seeklogo)
Here i’ll discuss my experience of years of using different linux distros specifically for newbs who want to start using linux and which one to pick. My main use case for linux was both as a regular desktop and software development but there are many things to consider when picking a distro. So here i’ll outline my experience and which one to choose and why. Whether you’re using a VM or docker image or even bare metal, the following does apply to all. Do note that user friendliness of all OSes do not differ in GUI as all of them offer the same variants of GUIs.
1. Debian
Debian has been around for a very long time and is a linux OS i would call the king of compatibility. Many other distros are based on debian and even for non x86 based hardware. You’ll even find one compiled for sparc and not just popular hardware platforms. Software compatibility with debian is great but all this compatibility comes at a price. Debian isnt exactly the best OS in functionality and support. All issues i have that i try to get support for fall on deaf ears such as the issue i face currently of random frequent timeouts that kill its performance as a stable fast file host. However if you want to use openlitespeed this is the only choice of OS to use in my opinion but the random timeouts can cause up to a few seconds of delay sometimes. Debian is my 2nd choice for picking an OS and even the raspberry pi uses it. Lots of software will be easy to get working using debian.
Debian isnt exactly the easiest to install as you have 3 DVDs but even for the advanced installer it is pretty easy to figure out what you need. You should at least create a custom live USB packed with all the tools you want should you need to diagnose issues. I always pick the stable (or semi stable) release. Do not pick the live CD install and instead opt for the 3 DVD install (an alternative is to use a custom packager to create your own debian installer for USB, but if you are a total newb, you can grab a big usb drive, use etcher to write the image, create a new partition on the remainder of the drive (exfat is fine), drop both the other DVD images and their decompressed files in different folders as it may work to prevent it from asking for other debian DVDs or require a DVD drive or even drive you in a loop asking for a DVD even when you have mounted it (yes this happened to me using a VM). You can also find minimal debian installs that work great from VPS providers that you would be amazed would fit in any recently made router in ram usage.
I would rate the recovery of a modern debian OS to above average when you have a problem. For learning the innards of a linux distro, debian has a lot of options and while not the most user friendly is an OS suitable to get you used to using the terminal which is important to learn how to use any linux distro. Plenty of steps needed on other distros arent even needed on debian when installing different software. If you need to get something working with minimal effort, this is the distro for you. The only worst thing i find with debian is that their support forums perma ban IPs (if you’re from the 3rd world like me with dynamic IPs, you have no hope of accessing their support since your IP was used to spam and got blacklisted). Their support also doesnt address the core issues that tend to happen like random intermittent timeouts that also happen to routers with newer linux kernels. Though you can actually search and find this issue, it seems like it was never solved and my posts about it go ignored.
2. Ubuntu
Ubuntu might be a popular OS or the OS of choice for any sort of development but from my experience is a total flop. You’ll find a lot of tutorials that use ubuntu but my hatred of ubuntu is the failure of ubuntu to work in a flexible hardware environment. By that i mean it will refuse to work on software raid for booting. Ubuntu’s support is very arrogant on this insisting you folllow their suggested hardware config as you wouldnt install linux because you want an OS inflexible to your hardware config but rather because you want to develop things requiring flexibility and open source. Thats not to even mention their unity based GUI being a resource hog and their server or cloud images are pointless. In my case i tried to set up an ubuntu cloud but it refused to work with cheaper configs insisting on hardware raid cards instead. When i searched for a solution to my problem, all the responses were “dont use fake raid, let the linux do the soft raid” which would completely eliminate dual booting windows server and ubuntu cloud which is something one would do in a multi machine developent environment (VMs are fine but not if you want to access some hardware level programming for things like GPUs). I’ve used ubuntu in the past and havent always found any advantage compared to other distros in both desktop and developer use. The arrogance of the support of the OS is my main reason i avoid ubuntu as i find i tend to need something that it will not want to work with, and so debian it is for such things.
It is important to remember that Ubuntu while based on debian is no longer compatible with debian as the 2 have branched off too far. In terms of recovery i would rate ubuntu as average. Software during a problem will fare worse than debian but its wealth of tutorials do make up for it which can be done on debian.
3. OpenSUSE
OpenSUSE is by far one of my favourite linux distros and is the first choice i would recommend to newbs. having used debian, ubuntu and opensuse for years i find that opensuse works best for most use cases as everyday usage to development, even server. OpenSUSE may lack fancy images like ubuntu cloud but more than makes up for it with its great robustness in the face of issues and it ease of use. Its GUI is well thought out that accessing a GUI as admin is a readily available options. I find this to be the most newb friendly and robust OS even compared to centOS and this is comparing between the 2 centOS versions that are out and being used/supported.
OpenSUSE is based of SUSE linux and shares a lot in common as well with fedora linux. Support is decent considering it is free and lacks the arrogance you get with ubuntu, while installing packages you need for work is a breeze since the choices are well thought out. However OpenSUSE tends to not be considered for a lot of important software, example being openlitespeed which i have manage to compile on opensuse but not get it to run yet. I find the lack of software being deployed for OpenSUSE to be an outrage and a political decision since OpenSUSE is favoured in Europe, unlike centOS being favoured in US, hence the lack of compatibility since a lot of software companies tend to be in the US or target US customers. This divide should not exist in the first place since both OS use the same packaging system. OpenSUSE also has a wiki for a wealth of information especially for dealing with issues and troubleshooting, since ubuntu relies on tutorials made by individuals on their own individual site, relying on SEO to be found, the wiki on openSUSE makes it very easy to find what you need even years to the future.
I find OpenSUSE to be the most robust OS. Issues preventing boot can at times be circumvented easily and also fixed easily, and the installer also integrates the good old memtest86 that is hard to integrate into existing installers as well when you build a rescue system. Even the developer version is stable and lets you recover much easier. I have not yet lost a server to needing a reinstall except after 2 years of the server being turned off, which turned on to command line, let me recover everything before needing to switch to the stable version rather than the dev version it was on which started to have issues after updating from 2 years, but even that is impressive because the plenty of problems i’ve had with the OS were easy to recover from. When picking, always pick leap unless theres something in tumbleweed that you cant get in leap.
4 CentOS
CentOS today is a variation from the famous red hat linux and uses the same packing system as SUSE. It has been used all around where mission critical stability is needed however i find today that its fame for reliability to not be true. Downtimes still happen and so can crashes however it does not so easily get into a problem where it would fail to boot as easily but this is put down by its inability to easily be fixed.
I first tried centOS because it is very commonly used for servers. From what i’ve tried, it is a nice OS for web servers and even has its free web panel alternative to cpanel however i find debian much better to work with than centOS. centOS’s tradition of sticking to the last OS for a while and that it is better to reinstall than upgrade makes it a much worse OS to deal with since most companies do not plan for such, hence when the big admin effort is needed they are understaff, underfunded and given a problem of needing no downtime during upgrades, this makes it hard to keep the underlaying linux updated. The OS itself is incompatible with many things which is why i picked debian instead an isnt as user friendly as debian. To get anything done you will go through heaps of steps all because an easier utility or method does not exist, such as installing perl modules as you have to install one by one from a list instead of on debian where you can install all of the modules you need using 1 command easily from the perl command line.
If you pick CentOS dont pick it because of someone’s 2 cents on its reliability, stability, ease of use and support as a server for mission critical readiness. No, rather if you need such a thing go with Sun Solaris, as that OS and its underlaying hardware is used in defence in the past, but while sparc may be dead, the OS still lives on and is far far more tolerant to crashes where the OS will still be functional even during a problem. If you need something for mission critical applications, go with solaris, a unix based OS with far superior hardware detection and driver system tolerant to problems and has a far far better track record to fail on you should a problem arise. CentOS today is only suitable for small deploymentns of non-mission critical applications where the server has few functions that centOS is well known for that is being a webserver and doesnt need to do anything other than its predefined role. Even in web hosting today, cloudlinux has taken over CentOS. If you need a specific purpose server for your custom app, pick opensuse, debian or solaris, not this outdated OS that is only kept alive because it is popular in the US and from US. Not even red hat is as good as it once was.
To install CentOS the installer is pretty small, but unlike other distros i mentioned, this one can ruin its own image on your USB installer, not particularly fun.
5. Kali Linux
You will find this mentioned a lot when you want to go into hacking, cyersecurity, testing, etc. While the OS certainly comes with a lot of tools, it is not easy to use and shouldnt be considered for a newb even for those same reasons. Start with a more user friendly OS first than move on to this. A lot of portable setups use kali linux.
All the distros mentioned above are very popular and usually the most supported and easiest to get into when learning to use linux. They all share a lot of popular user friendly GUIs as well but that doesnt make them the same despite picking the same GUI. In conclusion i would first pick opensuse, if it cant do what you need (and docker or KVM isnt an option), then consider debian, otherwise pick the OS that matches your needs best. Remember that the OS you use needs to match your needs and be compatible with the software you run.