What Do I Need?
- Common Sense
- Internet Connection
One of the biggest advantages to using the Linux ecosystem is that it derives its richness from a robust offering of supported variants, called distributions, that focus on specific combinations of incorporated architectures with defined sets of tools. Different distributions offer different combinations of features and tools.
Operating System Differentiators
All Linux distributions are based on the Linux kernel; however, each offers a different set of major differentiating criteria that specialize or focus them:
- Architecture: The type of processors that the distribution supports, through the included kernel.
- Init Software: The underlying approach to launching and managing processes.
- Package Manager: The default package-management tool used for the distribution.
- Desktop Manager: The graphical user interface for the distribution.
Check out DistroWatch.org for search tools that let you specify these and other precise criteria to narrow down the list of active distributions from hundreds to dozens, or just a few.
Architecture matters because not all Linux distributions support every possible configuration of processors in the world. The reason you cannot run Microsoft Windows on an Android tablet, for example, is because Windows only supports Intel- or AMD-based desktop processors and ARM-based mobile processors.
It’s technically possible, however, to run Windows on an Android tablet that has an x86, x85_64, or ARM processor. It’s not in any shape or form an easy thing to do and not recommended except in some very specific use cases.
Linux supports a wide variety of architectures. If you run a standard desktop computer or a laptop, you’ll likely find nearly every distribution works well on your machine. However, if you’re retrofitting Linux on a very old computer, the processor matters much more. A distribution that only offers 64-bit processor support, for example, will not work on a 32-bit processor. The most common architectures you’ll need to consider include:
- x86 (or i586/i686): A 32-bit Intel- and AMD-compatible chipset.
- x86_64: A 64-bit Intel- and AMD-compatible chipset.
- ARM: A mobile-optimized chipset common in tablets and smartphones.
- PowerPC: The ‘old’ chipset for Apple’s hardware.
Strictly speaking, init software is the very first process that launches when the Linux-based computer boots. It’s a daemon that runs for the entire duration of the system’s uptime; it’s the parent process of every subsequent process that launches on the machine.
The choice of init software is controversial in the sense that different power users argue for-and-against SysV to systemd. The choice isn’t trivial; this software governs how the system manages processes
- SysV: A ‘traditional’ init system with roots in Unix SystemV. It’s considered stable, but arguably less-featured than systemd.
- systemd: A more modern, highly integrated init system.
All Linux software ships in the form of a package. Different package managers manage the archiving and management of these packages. Most packages aren’t interchangeable, although utilities like alien convert among some package types. Different distributions rely on specific package managers.
- dpkg: Manages Debian-specific (.DEB) packages—common in Debian-based distribution including Ubuntu and Linux Mint—through tools like APT.
- RPM Package Manager: Installs/manages Redhat Package Manager (.RPM) packages. Uses tools like DNF, yum and zypper.
- flatpak: A sandboxed/containered format that’s cross-platform.
- pacman: Common in Arch Linux and its derivatives.
- portage: Developed for Gentoo Linux, and now also used by ChromeOS and a few other distributions.
- snap: A Ubuntu-specific form of containerized application deployment.
The most efficient desktop environments balance configurability with the relative resource consumption of the deployment environment itself. A brand-new computer, or a computer with high-end specs, can run any desktop environment with the smoothness of melted butter. But on lower-end or older hardware, particularly in the netbook space, the selection of deployment environments can make-or-break the usability of the entire system.
- The high-resource deployment environments commonly used include KDE and Budgie.
- A medium-weight deployment environment runs well on standard or low-end modern hardware. Gnome 3, Cinnamon, MATE and Pantheon fall into this category.
- A lightweight deployment environment is ideal for older hardware. Pick XFCE or LXDE.
- The newest DEs tend to be less configurable, they package a specific aesthetic design that doesn’t allow for as much modification as the older deployment environments still support.
- Highly configurable deployment environments include XFCE, LXDE, Cinnamon, MATE and KDE.
- Low-configurable deployment environments include Deepin, Gnome 3 and Pantheon.
So which Linux distribution is the best one for your specific needs? It all depends on your particular use case:
- If you run older hardware, a ‘traditional’ distribution that uses SysV for init and relies on a 32-bit kernel would prove to be optimal. Pair it with a lightweight deployment environment like XFCE. Consider a basic operating system like MX Linux.
- If you’re running high-end hardware, with access to an experienced sysadmin, you should check out a more advanced operating system like Manjaro.
- If you’re interested in penetration testing and ethical hacking there’s really one alternative – Kali Linux.
- If you have modern hardware people new to Linux will often select either Ubuntu or Linux Mint.
Whatever you eventually decide to pick it’s going to be one hell of an adventure.
- Want info about best web hosting? Clicking this link can be of great help.