This post introduces features of Linux distros one should know, with security and privacy in mind. Here, you will learn what tells distros apart, LTS releases, server distros and the kernel. Installing a new OS can be a big change and you can skip this chapter if you prefer to use the tools mentioned in this guide for Windows or Mac. Even if you do not want to switch entirely, we recommend you at least try Linux out. That can be done by using a live OS CD/DVD or flash drive, which does not make any changes to your machine.
This is the second post on this topic. If you did not read the first one yet, you can go to our page “What tells distros apart? 1 - Linux Desktop Environments and Packages“.
In this second post, we will talk about LTS releases, server editions, special-purpose distros and the kernel.
When visiting the website of a particular Linux distribution, you will often be offered multiple versions of the OS. Some distros, most notably Ubuntu, offer standard releases and LTS releases. The LTS version has a lower version number, because it is older than the most recent regular release. This leads many people to not download LTS versions, since they think that a newer release is always better. In this section, we will explain that this is not always the case and that your choice depends on your situation.
LTS stands for long-term support releases, sometimes also called long-term stable (unofficial). Normal releases are published more frequently than LTS versions. The exact schedule depends on the distro. For Ubuntu, a new release is published every 6 months, in April and in October, while an LTS release appears every two years in April.
Another difference is support, which includes updates and paid support for professional users. LTS releases of Ubuntu are officially supported for 5 years, which makes them especially suitable for companies that use Ubuntu on desktops or servers. The company only has to install the OS once. For 5 years, it is continuously updated to fix security issues and other bugs. With a regualar release, you get support and updates for only 9 months, so you are basically forced to upgrade to the next release as soon as it is available, otherwise you will miss out on important security patches.
This is one of the main reasons we strongly recommend the LTS releases, since an unpatched or unstable system is dangerous. We advise even “casual” users to go for an LTS version. In the case of Ubuntu, the developer Canonical really tries to make them stable and almost flawless. This is not always true for normal releases.
Take Ubuntu 19.04, for example. It added many optical enhancements and upgraded to the new GNOME 3 release, but it had a major shortcoming: The drag and drop functionality to and from the desktop is completely missing. That is so for files as well as programs and creating desktop shortcuts of software is extremely tedious. You have to browse through an endless series of program files folders to find a “.desktop” file! By transferring it to the desktop, you create a shortcut, but even that does not always work. Canonical simply removed drag and drop, a feature that has been available in every OS since the 1984 Classic Mac OS. 19.04 was not an LTS release, so they had no intention to fix it.
With an LTS version, you encounter less of those problems. Additionally, you have peace of mind for 5 years and receive patches without ever upgrading to a newer version of Ubuntu. AskUbuntu thread on the topic
For your information: We know that the missing drag and drop is not directly Canonicals fault, since it was developed that way by the GNOME Project. Nonetheless, they could have fixed it. Other GNOME users like the Zorin OS team had no problem with that at all and their team is only a fraction of the Ubuntu team’s size. We would argue that 99% of GNOME and Ubuntu users do NOT have a touchscreen! Changes like this make the life of 99% of users harder, just because the GNOME team does not want to write a different version of the DE for touchscreens. By the way, Ubuntu Desktop is not even available for ARM processors, so it is not supported on tablets at all. It is therefore completely pointless to create a tablet computer-friendly version of a DE that is NEVER used on tablets anyway!
Update (29 October 2019): Ubuntu 19.10 still sucks, drag and drop is still broken, so it is not a bug, it is a “feature”.
If you would like to know how long your Ubuntu version is going to be supported, please have a look at the official list for Ubuntu..
Servers need to perform completely different tasks than desktop PCs. They run 24/7, need supreme networking capabilities and the load placed on the server varies widely. Therefore, server hardware is much more expensive, despite being not more powerful than desktop hardware. That is so, because it is built in a way that makes it durable, which costs money. They need robust CPUs and things like Error-correcting code memory (ECC memory) as RAM to correct data corruption. Read more about server OSs on Wikipedia.
The same demands are placed on the software. Server OSs have the ability to be reconfigured without a restart or even update software or hardware while the machine is running. They need advanced backup facilities to make regular copies of critical data. The files on the many hard disks of a server have to be transferred transparently between volumes or devices, e.g. using RAID. The OS has to provide flexible and advanced networking capabilities and automation options like daemons and services. There ought to be tight system security in place with advanced user, resource, data, and memory protection. If parts overheat or hardware, like CPUs and disks, breaks, the OS must detect that and alert the administrator. In contrast to desktop OSs, a GUI is often not installed to improve performance, which is called a “headless” setup.
There is a server version of Ubuntu, which we will take as an example of a server distro. It has a completely different set of software like Apache, LAMP, a mail server, file server, Tomcat server, database formats, but no pre-installed GUI. This version is not the right choice for normal desktop users. A detailed comparison can be found here. Ubuntu Server runs of 34% of all websites, closely followed by Debian with 31% (source).
As we said earlier, Linux is far from being only a desktop OS. It has countless applications, due to its versatility. To get Linux running, you only need the kernel. It is monolithic and provides many modules that you can activate if you need them for your special use case. On top of the kernel, developers can build whatever they want, so Linux is really “one OS for all devices”. There are also stripped-down versions of the kernel available for firmware or simple IoT devices, they are compiled to a tiny file.
The the Linux kernel is almost flawless and probably the most impressive piece of software ever created in the entire world of computing. The 15,000,000 lines of Assembly and C code in the kernel alone make it an enormous achievement. It is still growing, but newer versions of the kernel support leaving parts out if you do not need them on embedded systems, for example. That means that a super-minimal 4.0 kernel is probably smaller than a super-minimal 2.4.0 kernel.
A good thread on why the kernel needs this gigantic amount of source code can be found in this thread on StackExchange.
Drivers for any device one might use on a Linux machine are directly in the kernel, so drivers do not have to ever be installed separately, unless it is extremely uncommon hardware. Those are called out-of-tree drivers, you can read more about them here. For most hardware devices, driver installation is unnecessary. Linux is maintained by keeping everything in the mainline repositories.
A study from Stanford University computer science researchers estimated that Linux’ open-source code contains around 0.17 bugs per 1000 lines of code. Proprietary programs cannot keep up with that. Commercial software is not peer-reviewed by a large open-source community and contains on average 20-30 bugs per 1000 lines of code.
If you want to see what the Linux kernel we love so much actually looks like, you can view it here on Linus Torvalds’ GitHub repository.
Linux general design is very well thought through. While the Linux kernel is extremely stable, this does not necessarily apply to all desktop distros, although their developers are doing their best. For desktop Linux, it can be quite difficult to make the right choice and find the best distro for you. They are not all created equal and some have quite a few limitations in terms of available software, polish and user-friendliness.