Linux distro components - linuxcsuf/linuxcsuf GitHub Wiki

Basics

A proper distribution (Live-only distros not included) includes

Distros

  • Major base distros and derivatives:
    • Arch Linux
      • Manjaro
    • Debian
      • Ubuntu
      • Knoppix
    • Fedora
      • Red Hat Enterprise (commercial)
      • CentOS (free rebuild of Red Hat Enterprise)
    • Gentoo
    • openSUSE
      • SuSE Linux Enterprise (commercial)
    • Slackware

Package philosophy

The Linux package paradigm is unlike those you may be familiar with: downloading software from random websites (Windows) or from "App Stores" (Mobile). All the components of the OS are individually packaged and dependent on other packages. Binary packages are uploaded to a central location and mirrored to participating trusted servers. Source packages are compiled and packaged locally from a provided text file "recipe" and downloaded source code.

Package manager overview

Tool set Used in Notes
apt-get Debian family Provides many features to handle dependency resolution.
emerge Gentoo family Compiles everything from source based on a set of configurable flags called USE flags
pacman Arch Linux family Very fast. It has a nice shell-based build system.
pkgtools Slackware family Consists of shell scripts (installpkg, upgradepkg, removepkg) that use tar to extract software. There is no dependency resolution.
yum Red Hat Enterprise and clones Python wrapper around rpm that can download packages from remote repos
dnf Fedora A rewrite of yum that is supposedly faster

Key points

Things to look for while distro hopping:

  • Maintenance:
    • package quality vs quantity
    • stable == old and bleeding-edge == experimental
    • can the package manager adapt to complex situations ?
    • ease of building your own packages
  • Upgrade path:
    • rolling-release (incremental)
    • upgrade-by-release (usually months)
    • re-install required
    • discontinued
  • Documentation:
    • chat
    • forums
    • release notes
    • start guide
    • wiki

GUI

Dependent on the vastness and variety of packages available in your distro's repos, you can change out individual components or switch to an entirely different desktop environment.

These Desktop Environments (DEs) often bundle together a Window Manager, Login/Display Manager, a dock/panel as well as applications (built with a specific GUI toolkit) such as a text editor, calculator, image viewer, video player, web browser, etc.

You can theme entire DEs or individual components: WMs, GUI toolkits, icon sets, mouse cursor, display manager, widgets (conky), etc.

Timeline

Linux distribution timeline: here


image