Linux is an operating system family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged in a distribution (often abbreviated as distro).
From the above definition, keep in mind these points I will explain it to you one by one.
Distribution (often abbreviated as distro)
Linux is a clone of Unix.
This does not mean that Linux is using codebase of UNIX but this means that they are the same in terms of functionality and they both use bash commands. if you are using Linux or want to use Linux , Then Unix is not compulsory but if you are using Linux you will be definitely using Unix without knowing it so stick with Linux, you don’t need to learn Unix because Linux bash commands are nearly the same as Unix.
Unix is an operating system as a whole (it contain utilities, shell, kernel) and Linux is a family of an operating system that has different type of base and each base has a different type of distributions and each distribution work on top of Linux kernel. got it?
It is a computer program that controls systems call, CPU, memory, and system drivers, etc in your operating system.
BONUS # 1: Linux kernel codebase is one of the largest open-source codebases on this planet and will be found on this link https://git.kernel.org/ they don’t maintain github/gitlab/bitbucket or any other version controlling platform because they are very slow to merge huge PR’s . Linus Torvalds also the founder of git you can also found git codebase on https://git.kernel.org/ .
Linux distribution (often abbreviated as distro) is an operating system made from a software collection, which is based upon the Linux kernel and, often, a package management system. This means that each Linux distro is the same as other but difference will be in the package management system, utility software and UI.
Package Management System: It is a collection of software tools that automates the process of installing, upgrading, configuring, and removing computer programs for a computer’s operating system in a consistent manner, i.e yum, Pacman, APT, APK,dbpkg, etc each package manager will install package from its own repositories.
According to the above definition, we understand that all Linux distro is the same as other but difference will be in the package management system and use-case of the distro. Suppose if want to use Linux for your personal computer you will choose (Linux Mint, Ubuntu) or if you want to use Linux for ethical hacking and penetration testing you will choose (Kali Linux) but the thing is mint, ubuntu, and kali they all are Debian based Linux distro they use same package management system i.e APT frontends (frontends is used for simplifying the installation process) for installing packages.
So Linux community divides Linux distro in terms of its base so here is a list of different Linux base and each base have a number of different distros which is using the same package management system as their base from which they are extended.
Don’t worry they all use the same bash commands but the difference is in UI, Utility Softwares, and Package management system command.
RPM-based: Default command and package manager is rpm but you can use this Several front-ends to RPM ease the process of obtaining and installing RPMs from repositories and help in resolving their dependencies.
yum used in Fedora, CentOS 5 and above, Red Hat Enterprise Linux 5 and above, Scientific Linux, Yellow Dog Linux and Oracle Linux
DNF, introduced in Fedora 18 (default since 22), and Red Hat Enterprise Linux 8.
up2date used in Red Hat Enterprise Linux, CentOS 3 and 4, and Oracle Linux
Zypper used in Mer (and thus Sailfish OS), MeeGo, openSUSE and SUSE Linux Enterprise
urpmi used in Mandriva Linux, ROSA Linux, and Mageia
apt-rpm, a port of Debian’s Advanced Packaging Tool (APT) used in Ark Linux, PCLinuxOS and ALT Linux
Smart Package Manager, used in Unity Linux, available for many distributions including Fedora.
rpmquery, a command-line utility available in Red Hat Enterprise Linux
Debian-based: Default command and package manager is dpkg but if use other frontends instead of dpkg I mostly use APT for installing dpkg.
Pacman-based: Default command and package manager is pacman. but you can use other frontends as well as.
Gento-based: It is a distribution designed to have highly optimized and frequently updated software. Distributions based on Gentoo use the Portage package management system with emerge or one of the alternative package managers.
Slackware-based: Default command and package manager is slackpkg.
Independent: They are independent and not in any Linux base each and every distro from this category use there own package manager i.e Alpine Linux (Use Insider Docker Container) is in this category and it uses APK package manager , Android is also in this category it is also APK-based.
Now after learning this stuff, your mind will be stuck in a dilemma of Linux distro selection. See below what you should do before working with Linux Distro?
Suppose if you want to do programming in your personal computers select Ubuntu or Mint. Or if you want to do hacking/Penetration Testing select, Kali. Or if you care about security select Alpine. If you are doing cloud computing then Ubuntu is for you.
BONUS # 3: If you want to choose a distro according to your needs and you are unable to find it online check this website fill the form and they will guide you which distro will be suitable for your needs.
Level up every day