First of all, Linux is not at all an operating system by itself. It’s a Kernel that came to life in 1991 as a hobby project of Linus Torvalds, then a student in computer science at the University of Helsinki.
Unable to obtain a UNIX copy and disappointed by MINIX (kind of a mini-Unix developed by a Dutch professor, Andrew Tanenbaum, used to teach students about UNIX), Linus started to develop a terminal emulator to access the university’s UNIX servers, and step by step ended with this post on what was at the time a forum, the mailing list of the comp.os.minx newsgroup:
Hello everybody out there using Minix –
I’m doing a (free) operating system (just a hobby, won’t be big and professional like gnu) for 386(486) AT clones. This has been brewing since April and is starting to get ready. I’d like any feedback on things people like/dislike in minix, as my OS resembles it somewhat (same physical layout of the file-system (due to practical reasons) among other things). I’ve currently ported bash(1.08) and gcc(1.40), and things seem to work. This implies that I’ll get something practical within a few months, and I’d like to know what features most people would want. Any suggestions are welcome, but I won’t promise I’ll implement them 🙂
PS. Yes – it’s free of any minix code, and it has a multi-threaded fs. It is NOT portable (uses 386 task switching etc), and it probably never will support anything other than AT-harddisks, as that’s all I have :-(. And so it begins the great battle of the best Linux distribution of today
What is a kernel?
According to https://techterms.com/ :
A kernel is the foundational layer of an operating system (OS). It functions at a basic level, communicating with hardware and managing resources, such as RAM and the CPU. Since a kernel handles many fundamental processes, it must be loaded at the beginning of the boot sequence when a computer starts up. The kernel performs a system check and recognizes components, such as the processor, GPU, and memory. It also checks for any connected peripherals. As the OS loads and the graphical user interface appears, the kernel keeps running. Even after the OS has fully loaded, the kernel continues to run in the background, managing system resources.
How does that thing turn into an Operating System?
So, to become an operating system, it needs software, a lot of software, like programs, apps, scripts, etc… This software ultimately came from the GNU project. For example, the GNU Toolchain is a collection of programming tools that include GCC (GNU Compiler Collection, a tool without Linux probably wouldn’t exist), GNU Make, and many more, also there are GNU Coreutils with many of the basic tools, such as cat, ls, rm, which are used on Unix-like operating systems. In other words, most of the software used to make Linux an Operating System is ported from UNIX, that’s why is called a Unix-like operating system.
So far we now know that all Linux distros share the same Kernel, and the same basic utilities and software (GNU tools). Based on that, now we can understand the broadly accepted definition for a Linux distro that is:
A typical Linux distribution comprises a Linux kernel, GNU tools and libraries, additional software, documentation, a window system (the most common being the X Window System), a window manager, and a desktop environment.
So why so many distros?
Oh well, maybe because anybody can do it, even yourself or I can make a Linux distro. Just check Linux from scratch.
Anyway, not every distro is built from scratch, just a few mostly old Linux distros, maintained by folks with a lot of experience on which the most popular Linux distros are based.
But what’s the difference?
The differences are really few to none in terms of functionality, but so many in terms of easiness, usability, and support. The rule of a thumb is the less experienced you are with Linux choose one of the most popular distros available just because of the larger user base (with that comes a lot of resources available for problem-solving, the bigger the user base the bigger the number of already answered questions on the internet).
Probably will be more interesting and also more useful to do a “Best Linux Comunity” top rather than classifying Linux Distributions all day long….
Also, a big difference is made by the package manager. In fact, this may be the main reason that makes a distribution popular, a good package manager that is easy to use and has a big number of precompiled packages.
A package manager keeps track of what software is installed on your computer and allows you to easily install new software, upgrade the software to newer versions, or remove software that is no longer needed. As the name suggests, package managers deal with packages: collections of files that are bundled together and can be installed and removed as a group. Also, it takes care of dependencies for you.
Thre are gazillion sites that promote top distro of the year, era… etc, but somehow they are wrong. We all are different with different needs and different habits in using a computer, so what’s good for me may not be good at all for you. One can use Linux to run an internet server for all kinds of services, other just as a simple home router on an old machine, some to develop software, and others just to browse the web listen to music watch Netflix, etc. Although any Linux distro can do any of those things, one can excel in one direction and lag in the other.
So it’s up to you to choose what suits you best. I’ll try to help you a bit in deciphering this distro abundance.
The leaders of this penguin flok
The first “distro” was MCC Interim Linux in 1992 by Owen Le Blanc of the Manchester Computing Centre (MCC), part of the Manchester University, he was trying to address users who were not Unix experts.
Slackware… first release in 1993
Probably the oldest distro alive is dating back to 1993, that’s Slackware Linux, created by Patrick Volkerding who still today maintains the distro in his unique way, I min he releases Slackware’s new versions when he wants, there is no clear pattern. Slackware’s philosophy of design is stability, simplicity and to be the most Unix-like Linux distribution. Slackware is not designed to be user friendly but not necessarily hard to use. It uses plain text files and only a small set of scripts for configuration and administration. Is the ideal distribution to really learn Linux and understand exactly how it works. Slackware is often considered to be most suitable for advanced and technically inclined Linux users, this is because the user will be able to control every aspect of his/her Linux system. There are many distros derived from Slackware.
Debian… first release in 1993
The second one but for sure maybe the most popular one, at least in terms of the fundation for many other distros so that a large number of Linux users use it directly or indirectly is Debian Linux. Debian Project is just a few months older than Slackware, it started in August 1993 shortly followed by the release of Debian 0.01 in September 1993 and the first stable version in June 1996. Since then Debian is under continuous development. The latest release is Debian 10.6 known by its codename “Buster”. Roughly every two years they release a stable version. During those two years are also two main development “distros” which are continuously updated during the development till the next stable release. Those repositories are known as unstable and testing. Debian has one of the greatest and most complete package manager, known as APT that makes installing, updating, or removing software a breeze.
RedHat… first release in 1995
In May 1995 came along Red Hat Linux, probably the first commercial Linux distribution. It was developed and maintained by Red Hat inc. A great success of the time, with a very good package manager, known as rpm, and a graphic installer to help novice users along the installing process, known as Anaconda. At the time Red Hat managed to become the most used Linux distro of the late 90s and early 2000s. Also being a commercial company was present on Wall street with notable success in 1999 when became the eighth-biggest first-day gain in the history of Wall Street. Although an open-source project, Red Hat was developed exclusively inside Red Hat until they decided to split Red Hat Linux into Red Hat Enterprise Linux (RHEL) and a community-based operating system, Fedora which is thought to be the main project on which RHEL is based. From that point, RHEL is developed only for the commercial market with strict trademark rules, but still providing its source code for free. Fedora project is for the RHEL equivalent of Debian’s testing repository for Debian stable. Red Hat uses Fedora as a platform to promote the development of new technology, some of which might or might not end up in Red Hat Enterprise Linux.
Those three above are the foundation of the most popular Linux distributions alive as you can see on this self-explanatory graphic on Wikipedia that the majority of Linux distributions are based on these three. Another two important distros are Gentoo and Arch these last two are very interesting distros especially Gentoo.
So what shall I choose?
Most of the Linux distros in all “TOP 10”, “The best distros of the year”… etc are based on or descended from those above. Practically every distro that is based on one of those does not come with a revolutionary new philosophy and/or breaking through technology, but rater tries or to improve the user-friendliness or to address a niche by the software already installed and preconfigured. In the end, when you start to explore Linux you inevitably end up to CLI (command line interface) which is one of the most powerful Linux features. As proof of that, look at Microsoft Windows, today they are coming up with power shell (their version of CLI) after decades of Unix-like OS’es run the internet backbone from CLI. You will observe that there is almost no difference at all between all the distros. In fact, all Unix-like operating systems are over 90% similar. When you master CLI on one, you will be familiar with all Linux distros, BSD flavors, MacOS, and any other Unix-like Operating System.
Of course, there are some very task-oriented Linux distros that will ease your work sparing you from installing and configuring dozens of apps like Kali Linux (which is also based on Debian), a distro designed for computer security tasks with over 600 preinstalled tools for testing systems and networks for weaknesses.
Then comes Embedded Linux. A very very task-oriented “distro” which is practically a Linux kernel with just strictly necessary tolls to run just a specific task on specific hardware like in customer electronics such as set-up boxes, smart TVs, navigation equipment, networking equipment(routers, switches, wireless access points), industrial equipment, self-driving cars, etc…
And above all is the most popular Linux distro of all time that few are aware that is Linux. ANDROID the most popular phone driving operating system in the world. Yes, your phone it’s driven by Linux in the case of Android and another Unix-like OS in the case of Apple. Apple IOS is another Unix-like OS but based on BSD.
Considering the above I strongly sustain that THE BEST LINUX DISTRO is the one that suits your needs and style best, feel free to taste any/all Linux flavors till you chose one for long term use. In the end important is to learn and understand Linux (not necessarily in this order) beyond all automated “wizards” and who knows what gizmos are there that try to make Linux a Windows. Today it’s easy, we have virtual machines that emulate a computer system within the Operating System that you currently running so you can run in “a window” almost any other Operating System of your choice. Just check QEMU, VMware, Virtual Box.
Or you can just create a live distro on a USB stick and enjoy it. Most Linux distributions support this feature
As Linus Torvalds put it in 1996 at FSF(Free Software Foundation) conference “Software is like sex; it’s better when it’s free”
….. So enjoy it