Linux Distro Comments
- 12 minutes read - 2440 wordsI have been asked by a few people recently what I think is the best Linux distribution and with most things the answer is not clear cut. My answer has been “well it depends”, which is always met with the person questioning me rolling there eyes and giving me that look as to why I can’t I ever give them a straight answer. But my issue with the answer is that I am currently running several distributions at home and if I can’t settle on a single one how can I tell you what Linux is best for you without some background information. I thought the topic of how I arrived at using multiple distributions at home and some background information might help people supply enough information that I can give them a good answer…
Fedora
Let’s start with Fedora. I like Fedora because it firstly it generally just works, if I have a laptop and it has never had Linux on it. A Fedora LIVE disk will usually give me an idea about if it will work. A new version of Fedora is released roughly every 8 months and when it is released it seems to be a snapshot of the most up to date packages available right now and it comes with the current Kernel, it has always detected my hardware (various Lenovo laptops, HP laptops, custom made Desktops and my StarLabs StarLite Linux notebook). It comes Gnome which is left pretty much vanilla, which means if you want to add a tweak it is likely to work as expected and not conflict with some other tweak that has been setup and running. It includes a minimal set of packages and with RPMFusion enabled pretty much everything I have wanted is easily installable. It is (at the most part) pretty stable and when things crash they are usually handled and recovered from rather than hanging the system.
The downsides are: -
- most online help when something doesn’t work hardware wise is targeted at Ubuntu users or Arch users and Fedora tends to do things their own way which means you have to tweak whatever is the fix
- There is a constant stream of updates to packages, DNF upgrade is good but if you have not used a laptop for a couple of weeks there will be a considerable number of packages to download
- Vanila Gnome is pretty opinionated, this is either a blessing or a curse.
- New release every 8 months or so. So if you are using this as a daily desktop this is generally fine. I usually do something to break my OS is some unrescueable way once a year so generally I am OK with a reinstall at roughly this frequency.
I have recommended Fedora to my developer friends (people who like Lenovo laptops and working in the command line but also want Chrome to stream Spotify/hours of rain music from Youtube), it does the job of supporting them while they are busy coding without getting the in way. It supports the latest packages/frameworks/languages and just works effectively in the background. Yes, there is a required knowledge of Linux but working with Linux in server environments they have enough experience to get on with things. Why did I recommend Fedora, well usually because they have been using Ubuntu Desktop and something is annoying them, which brings me onto …
Ubuntu
I used to be a big Ubuntu fan. It was the main Linux I used on servers and workstations for many years, it would have been the easy answer to what is the best Linux distro a few years back. However, I had issues with a Lenovo laptop suddenly not working (no sound), another device I had the screen would default to landscape because the auto-rotate sensor was not calibrated (I would need to turn it 90 degrees and then turn off the auto rotate which it would then forget the next time I booted), I’d find that Firefox as a Snap package seems to take forever to start up and then would mention it needs to be updated and I would curse that I had run apt get update; apt get upgrade
and it hadn’t been updated, and then I would I try and edit NetPlan settings (as I would on a server install) I find that my network changes haven’t worked as I have Network Manager running because this is a Desktop install and although they look identical certain things instead works completely differently. I have generally found that the 6 monthly Ubuntu releases were not always as stable as I would like so I would want to be on the LTS version but then certain bits of software would moan they are not on the latest version, yet apt update wouldn’t find any upgrades and I would be tempted to find a dodgy PPA to get rid of the warning but risk something else not working.
However, for someone with little or no Linux experience I would usually recommend trying Ubuntu. It does a good job of being easy to install and use with little knowledge of Linux. If something doesn’t work, a quick Google usually finds someone else new to Linux having the same problem and a step by step guide of commands to run to get it working. I also recommend Ubuntu LTS via the command line only server install disk if someone is running something on a home computer as a server. All of my home servers (I have two little Lenovo Tiny’s and one Dell Micro) run Ubuntu LTS server. They are CLI only (no desktop) as they run 99% of the time headless.
Linux Mint Debian Edition
OK, this one is pretty left field. I never really got to grips with Linux Mint. To me it seemed like someone had taken Ubuntu and tweaked it to thier requirements, unfortunately they were not my requirements. Yes, some of the tweaks (like installing the image and video codex) were helpful and allowed you to run the default video apps, but if I was just going to install VLC what was the need to do that? Also, I had the same issue with Mint as I did with Ubuntu LTS, stuff was never quite up to date and I wanted to fix it before the devs were ready to release the fixes.
However, since I have stopped going into London as much, my little StarLabs StarLite that I used to use on the train and watch TV series on doesn’t get as much use. I found myself switching it on ever now and then and having the choice of waiting 10/15 minutes for it to download a bunch of updates or just ignoring the you should update warning. If you don’t have a need to be super up to date. You are happy running stuff a little while out of date. But you want things to be quick and easy Mint makes sense. Also, if you skip the Ubuntu middle man and just install the vanilla Debian edition you also have something super stable, relatively light weight and without the need to tweak. Because of the lack of performance, I don’t run any development stuff on it (yeah it has Visual Studio Code, git and some ansible stuff for tweaking my network setup but this is more hacking whilst watching TV than actually building something) and it doesn’t have Steam on it (it runs and some games are playable but barely and the effort is not worth it).
Being Cinnamon rather than full Gnome, the desktop is also much more responsive on my little Star Lite laptop than Fedora or Ubuntu. It has plenty of RAM (8Gb) and so this is not an issue but whereas Fedora is usually using 3 or 4 Gb when I think it is not doing anything, LMDE is only using 1Gb. But the processor is probably the limiting factor (which is both used for processor tasks and as part of the onboard graphics) and LMDE just feels that bit more responsive.
Other Mentions
So you have the Linux distros I am running at home, there are a couple of other ones I would talk about if certain probing questions came back with the right answers…
Gentoo
I have run Gentoo on a couple of laptops. I would not recommended lightly to anyone yet BUT I am waiting for someone to say that they have loads of spare time and want a project for the next few months of weekends and really want to learn the inner workings of Linux. If you want to learn about Linux, Gentoo forces this on you, the only way to learn more would be the Linux From Scratch approach. The Gentoo install process is hard but the online documentation is brilliant. It talks you through it, step by step. I made several mistakes and had to install a few times before I got a workable prompt showing but it was very rewarding in a masochistic kind of way. Each time you install it, you get further and further into it and building exactly the Linux workstation you want. You quickly find that bare minimal is a good way to go as you are compiling every piece of software you need. The process guides you through learning about it and getting a vanilla Linux running, but one optimised to your hardware and your requirements. Are you going to print? No, then no need to build CUPS.
The downsides are namely, time and effort. Getting something working on Gentoo is a slow hard process. Took you laptop out and someone now wants you to print something, the answer that you can’t as you didn’t think you would need to three weeks ago and if you really need me to it will be several hours of recompiling stuff and no promises that it will work. Gentoo is a Linux that you get into and then spend ages building and tweaking, there will be times you think I will just going to get this thing working before calling it a night… and that turns into going to bed at 2am with a plan to make it work tomorrow…
Arch
Arch is the promise of Gentoo, but without the compile time. Also, Arch seems to be very much it is up to you to decide what you want. Whereas Gentoo guides you to a solution that is vanilla and works telling you that you can customise along the way once you understand what things are necessary and what you can swap out. Arch doesn’t always do this… rather than leading you through a Gnome or KDE install that would install the defaults but telling you how to customise… Arch doesn’t seem to do that, it just shows you what Gnome is and it is up to you to figure out what bits you need to make it into a daily usable desktop. I don’t know why but the Gentoo community is just full of nicer people who seem generally interested in helping you avoid compiling something for 6 hours only to realise that you missed a flag and it needs to be done again. Without the compile time, Arch doesn’t seem to have this, there is usually just a “have you read the docs comment” where someone was asking how to achieve X. Reading the docs you can install X but actually it won’t do much unless Y and Z (which are both optional and so you don’t need) are installed as well…
Ok, so why would you even recommend it based on this? Well Arch is good at being very cutting edge. I tried out Hyprland and this is what Arch is good at. If you want to have something very specific (like a experimental tiling desktop that supports Wayland) and you are willing to figure out what is needed to get that all by yourself Arch is brilliant.
Raspbian
If you have just bought your first Raspberry Pi and are asking me which Linux to put on it, then the answer is, the one specifically designed for it. Yes, you can probably run Fedora or Ubuntu but unless you have a very specific reason to be doing so stick with Raspbian. There used to be a time when you could run Windows Server Nano on a Pi, you might still be able to, but the answer is the same… why? If you are looking for advice on what to run, you are not at the stage when you should be considering these as options.
Amazon Linux
If you are spinning up an EC2 and need Linux on it, in a similar vein to what should you run on a Pi, try Amazon Linux. Unless you are building something and need exactly the same locally as remote in production then Amazon Linux makes sense. It comes pre-configured with loads of stuff that makes working in AWS easier. It supports the enhanced network interfaces, S3 mount points, and cloudwatch metrics agents out of the box. It will work across the wide range of EC2 types. If you are running a third party tool and they have a supported AMI that is using a different version of Linux that is a different story (i.e. use that rather than re-invent the wheel), but use the tool that makes your life easiest.
Final comments
There are lots of distributions of Linux available and I have not even touched on them here. There are even ones that you need to pay to get support for. There is a whole scene of people who distro swap on a regular basis just to keep trying something new. I doubt there is going to ever be a single distro that can be the best one in every situation. If you don’t agree with my opinions, that is fine. I think the fact that there is so much choice of what distro of linux people can run is one of the great things with Linux. At the end of the day, the distro you choose just determines what hardware is supported out of the box, what tooling is available and what package mangement is used. Over and above that you generally can choice what you want your desktop to be like. Many distros have “minimal” installs and you can customise what you want on top of that. But if you are going to argue with me on these things, then I don’t really think you need my advice on what Linux distro you should try first/next.