A little bit about Linux
Tags: linux, slimcoder
Published: 2020-02-06 14:58:16

---

firstPublishedAt: 1575117524019
latestPublishedAt: 1575204764523
slug: a-little-bit-about-linux
title: A little bit about Linux
published: true
tags: linux , slimcoder
cover_image: https://cdn-images-1.medium.com/max/1280/1*P29IoCDYKw7Tu4UZMJjUZg.png
---
---

# What is Linux?

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.

1. Unix-Like

1. Kernel

1. Distribution (often abbreviated as distro)

# Linux ❤ Unix

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?

# What is Kernel?

### 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/](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/](https://git.kernel.org/) .

**BONUS # 2:** If you want to learn more about Linux kernel then here is official documentation [https://www.kernel.org/doc/html/latest/](https://www.kernel.org/doc/html/latest/) this documentation is maintained in[ https://git.kernel.org/](https://git.kernel.org/).

# What is Linux Distributions?

### **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.

#### - Different Linux Distro Base

**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.

These include:

- **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,[10] 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**.

#### Which Linux Distro You Should Choose?

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?

### Select a Linux Distro according to your needs and start working with it.

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](https://distrochooser.de/en) fill the form and they will guide you which distro will be suitable for your needs.

Follow me AKA #slimcoder on [medium](https://medium.com/@vvkofficial) and [github](https://github.com/viveksharmaui) for more articles ❤