About the Distros

Discussion in 'Linux Basics' started by DevynCJohnson, Sep 30, 2013.

  1. DevynCJohnson

    DevynCJohnson Well-Known Member Staff Member Staff Writer

    Messages:
    1,345
    Likes Received:
    1,083
    Trophy Points:
    113
    For choosing a Linux distro, see this article - http://www.linux.org/threads/which-distro-is-right-for-me.4834/

    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 (there are other pieces in common, but by definition, the Linux kernel defines Linux). 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. Fedora also uses systemd (flunwyc, 2013).

    . 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! (However, Android's status as a form of Linux is debated) 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.

    Attached Files:

    Last edited: Jan 8, 2014
  2. ryanvade

    ryanvade Administrator Staff Member Staff Writer

    Messages:
    1,333
    Likes Received:
    443
    Trophy Points:
    83
    Why is Arch not in your slide??????? :p
    DevynCJohnson likes this.
  3. flunwyc

    flunwyc Member

    Messages:
    99
    Likes Received:
    61
    Trophy Points:
    18
    Distros in fact have a lot more in common - the GNU user land, x.org, etc, etc. This is why the term GNU/Linux is preferred.
    Android is definitely not a GNU/Linux distro. It uses a forked kernel and is in fact an embedded Linux based operating system like any other (e.g. that used in kindle, cisco routers and tomtom satnavs). It is not a GNU-like OS and does not support all of the GNU libs - in fact it's mostly a Java VM.
    Debian uses apt and dpkg for package management. apt actually interfaces with dpkg to install and remove software, so anything installed via apt will also show entries in dpkg log files. dpkg is actually the Debian package manager.
    I would have to disagree on both counts. Slackware does not lack a GUI - in fact KDE, Xfce and fluxbox are included in a standard install. pkgtool/slackpkg, etc is in fact extremely simple when compared to apt/dpkg which is very complex.
    Fedora is also using systemd.
    You forgot to mention Debian GNU/kFreeBSD.
    Last edited: Oct 4, 2013
    DevynCJohnson likes this.
  4. DevynCJohnson

    DevynCJohnson Well-Known Member Staff Member Staff Writer

    Messages:
    1,345
    Likes Received:
    1,083
    Trophy Points:
    113
    Thanks for your informative post.

    Notice for Slackware, I said "usually".

    As for the Debian/kFreeBSD hybrid system, there are a lot more. I did not want to go over everyone. I should probably write an article on hybrid systems themselves. What do you think? Plus, going over the hybrid systems would get repetitive - X/Y is a hybrid of X and Y.....

    Thanks for the other points.
    Haider92 likes this.
  5. DevynCJohnson

    DevynCJohnson Well-Known Member Staff Member Staff Writer

    Messages:
    1,345
    Likes Received:
    1,083
    Trophy Points:
    113
    For Slackware, also notice that I said "many exceptions".

    Also notice when I mentioned Arch and systemd, I said "most Linux systems use Sys-V".
    Haider92 likes this.
  6. flunwyc

    flunwyc Member

    Messages:
    99
    Likes Received:
    61
    Trophy Points:
    18
    Note: I'm not nitpicking, just trying to help with some of the factually incorrect details of your post...

    I note that you said "usually", but Slackware does not usually lack a GUI. If you install Slackware as intended you will get a GUI.

    You stated that "many exceptions" are being developed, which insinuates that a typical Slackware install lacks a GUI.

    I mentioned fedora in relation to systemd because that was the first distro to adopt systemd as it's main init replacement in 2011. Arch only switched to systemd late last year along with openSUSE.

    I would suggest that the hybrids warrant a separate article. I made mention of Debian GNU/kFreeBSD because, like Debian GNU/Hurd, it's a complete, installable distribution. Not just "gentoo stuff for FreeBSD".
    DevynCJohnson likes this.
  7. DevynCJohnson

    DevynCJohnson Well-Known Member Staff Member Staff Writer

    Messages:
    1,345
    Likes Received:
    1,083
    Trophy Points:
    113
    I know you are not nitpicking. Posts like yours make me think more; I like that. I will study hybrid systems for a little while before I write anything. Thanks!
    Haider92 likes this.
  8. ryanvade

    ryanvade Administrator Staff Member Staff Writer

    Messages:
    1,333
    Likes Received:
    443
    Trophy Points:
    83
    I have to agree with flunwyc about a separate article concerning hybrid systems. They are not really Linux distros. But still, nice article.
    DevynCJohnson likes this.

Share This Page