About the Distros

This topic was published by and viewed 3114 times since "". The last page revision was "".

Viewing 1 post (of 1 total)
  • Author

  • DevynCJohnson
    • Topics - 437
    • @devyncjohnson

    There are many forms of Linux. Each form is called a distribution (distro) or a flavor (this is rare). Linux distros are classified by the package manager they use, the standard software they ship with, and the distro they have forked. The first and third points are the most important in classification. For instance, Ubuntu is a Debian system because it uses the Debian installation files and it is a branch off of Debian Linux.

    As time goes on, Linux distros evolve. Some distros merge while other split. They start to become more different and serve the needs of different people as the distros change and adapt. Some distros like Ubuntu are popular while others (like Midori or Storm are obsolete and no longer supported).

    For instance, Ubuntu has many users and many branches (commonly called forks). There is a Ubuntu distro for the main desktop environments – Xubuntu (XFCE), Lubuntu (LXDE), and Kubuntu (KDE). There is even a special Ubuntu distro specifically designed to suit the needs of China called UbuntuKylin.

    All distros have one piece of software in common - the Linux kernel. The rest of the software is different which makes up a Linux distro. Distros can use different versions of the Linux kernel, but if they use a kernel that is not Linux, then the operating system is no longer a Linux distro. Android is a Linux distro because it uses the Linux kernel. In summary, Android, Fedora, Linux Mint, MeeGo, and Ubuntu are Linux distros because they have a Linux kernel, but FreeBSD, ReactOS, and and OpenSolaris are not Linux because use different kernels.

    There are three main branches of Linux distros - Debian (deb), Red Hat (rpm), and Slackware (slp). There are also some smaller branches and some individual distros that have their own structure and setup. Some of these branches of Linux have large subgroups. For instance, Ubuntu is a large family of Linux distros within the Debian group. Some distros may stray far from their original group. For instance, OpenSUSE came from SUSE which came from Slackware. So, OpenSUSE is a descendant of Slackware, although OpenSUSE now uses RPM packages like RedHat-based Linux systems. So, that would make OpenSUSE a RedHat-based system. Some new major branches are forming. The Arch branch is starting to become as large as the three main branches of Linux distros.

    An SVG image on Wikipedia clearly demonstrates these branches of the Linux system here (http://upload.wikimedia.org/wikipedia/commons/5/58/Linux_Distribution_Timeline_with_Android.svg). This nice chart shows how the distros evolved and changed. It shows the main branches as trees. As many will see, numerous Linux distros come from Debian, Red hat, and Slackware. Many individual distros exist and some are starting to make new trees like Arch, Android, and Enoch (now Gentoo).

    Even though many distros may be very different, they are largely the same. To make a new distro, logos are changed and applications are added or removed. For instance, Ubuntu Studio is Ubuntu with extra graphics software. ChromeOS is a derivative of OpenSUSE. The earlier versions still had the OpenSUSE logos (during non-graphical boot-up).

    • Debian - Debian-based distros originated from Debian Linux in some way. They use Debian packages as the local installation files and use the apt protocol for remote installations and updates. Local software is installed, removed, and managed using "dpkg". Debian Linux is a stable distro with a lot of support (i.e. forums and developers). Debian Linux itself (not the derivatives) uses old, but stable, software.
      • Ubuntu - Ubuntu is a very popular branch of the Debian-based Linux systems. Ubuntu is made and maintained by Canonical and many volunteer developers. While Debian itself uses older kernels and software, Ubuntu is more modern. Ubuntu is the first distro to use the Unity user interface. However, not all branched of Ubuntu use Unity. Xubuntu for instance is Ubuntu with an XFCE desktop environment. All Ubuntu systems have one quality in common – they came from Ubuntu.
      • Knoppix – Knoppix and Knoppix-based systems are lightweight operating systems that can boot off of a live optical disc or a USB storage unit.
    • Red Hat - RedHat-based Linux systems use RPM (Red Hat Package Management) installation files and the yum command to install software. RedHat-based systems are not as popular as Debian-based systems, but they do comprise of a large number of users and have many branches.
      • Fedora Core (Fedora) – Fedora is essentially a desktop version of Red Hat. Red Hat is a server system while Fedora is a desktop system. Users can install server applications on Fedora, but then they would have Red Hat with the Fedora branding.
      • CentOS – While Fedora is a desktop form of Red Hat Linux, CentOS is a free form of Red Hat Enterprise Linux (RHEL). RHEL can be obtained from Red Hat Inc. with paid technical support. CentOS is completely free with no proprietary software. Support and help is free through forums.
    • Slackware – Slackware is one of the earliest Linux operating systems and it is still being maintained. Many developers have made derivatives of Slackware. Slackware systems use tarballs as their installation files. The utility "slackpkg" is used to manage, install, and remove packages. Slackware systems do not resolve dependencies like Debian's APT system. Usually, only advanced Linux users use Slackware and Slackware-based systems due to the more advanced features and deeper knowledge requirement. For instance, users new to Linux will prefer a Debian system because most come with a GUI and have easy-to-use package managers. However, Slackware systems usually lack a GUI (many exceptions are being developed) and slackpkg is harder to use than Debian package manages.
    • SUSE (OpenSUSE) – OpenSUSE and its derivatives use a different type of package manager than other Linux systems. OpenSUSE-based systems use Zypp to install and manage packages. Zypper is the command-line interface and YaST is the graphical interface. Even though this branch uses a different package manager from Slackware and RedHat-based systems, OpenSUSE accepts RPM packages. Although OpenSUSE differs a lot from Red Hat Linux systems and Slackware systems, OpenSUSE is still considered to be a Redhat-based system because it still uses RPM files. If OpenSUSE ever uses its own type of installation file, the classification may change.
      • Enoch (Gentoo) – Gentoo-Linux-based systems use the Portage package manger. Porthole is the GUI for the Portage package system. Gentoo is a very portable system meaning that it can run on many types of processors. Because Portage gets the source code for packages and compiles the code on the local system, users do not need to worry about getting the correct version of the software that works on their system. For instance, Debian systems can only have a particular piece of software if apt can find the package for the currently used CPU. If the system needs a package for an AMD64 system and that package is not found, the user cannot get that package without manually getting the source code. However, with Portage users, as long as the source code is in the repositories, the user can have that package installed.
    • Arch – Arch-based systems use the Pacman package management system. Pacman files are compressed tar files containing source code. The package management system compiles the code. Pacman automatically resolves dependencies. Arch also uses systemd to manage the init process; most Linux systems use the SysV-style init system.
    • Android - We cannot forget the most widely used branch of Linux – Android! Many computer users will say Debian-based systems are the must commonly used Linux systems, but that is because not very many people know that Android is a Linux system. Android uses apk files as the software installation packages.
      • CyanogenMOD – While Android contains some proprietary drivers, Cyanogen is completely open-source. Cyanogen has many additional enhancements over Android.
    • Specifix – This small branch of Linux is mainly active in Foresight Linux. The original Specifix (which later became rPath) is discontinued. Instead of yum or apt, Specifix-based systems use Conary for package installation. A GUI for Conary exists called PackageKit. Conary does not update the whole package unlike apt and yum. For instance, if a single file that is used by an executable called "Game" is the only change made between version X and version Y, then only that file will be changed instead of "Game" and its other files. This helps to reduce potential issues with an update. This also makes updates faster.
    • Puppy Linux – Puppy Linux systems use packages with the file extension "pet" as installation files like how Debian-based systems use deb files. Puppy Linux systems are very lightweight systems.

    Hybrid Systems

    Many users are aware that some Linux distros merged or moved from one branch to another (like OpenSUSE), but not very many users are aware that some Linux systems merged with other Unix systems. For instance, Gentoo/FreeBSD is a mix of Gentoo and FreeBSD. Yes, FreeBSD is not a Linux distro.

    • Gentoo/FreeBSD – This Unix system is a mix of Gentoo Linux and FreeBSD. However, this is more closely related to BSD systems than Linux. This system uses FreeBSD's kernel (kFreeBSD) and Gentoo's package manager (Portage). Porthole is the GUI for the Portage package system.
    • Gentoo/OpenBSD – This Unix system is like Gentoo/FreeBSD, but is instead mixed with OpenBSD rather than FreeBSD.
    • Portaris – This is another Gentoo hybrid that was mixed with Solaris. This project has been discontinued.

    Further Reading

Viewing 1 post (of 1 total)