Ubuntu is a distribution of Linux, made from numerous modular parts.
I've created this page to help explain how they work together to form Ubuntu.


Initial Bootup to a usable Command Line Interface (CLI)


Please note: after GRUB, the rest of the Initial Bootup is normally hidden behind the boot image and upon successful completion the Final Bootup immediately begins.

GRUB; part of the GNU project, originally from "GRand Unified Bootloader". When Ubuntu first boots up, you can access the GRUB menu to select which Kernel (or alternate Operating Systems, e.g. Windows if its installed) should be loaded.

Contrast with LILO.

The Linux kernel; a kernel forms the heart of an OS by handling communications between the hardware and the software appplications.

Contrast with the OpenSolaris Kernel (being used in the Nexenta OS Ubuntu-derivative) or GNU's still-unfinished Hurd Kernel.

A historical note: Linus Torvalds, shortly after announcing the birth of Linux in 1991 famously said:
"I can (well, almost) hear you asking yourselves "why?". Hurd will be out in a year (or two, or next month, who knows)" :)

Upstart is an initialization system that:

  • handles the starting of tasks and services during boot
  • supervises them while the system is running
  • stops them during shutdown

    First introduced in the Edgy Eft (6.10) release, replacing the decades-old SysVInit. (Contrast with other initialization systems such as InitNG.)

  • GNU packages, e.g. libc6 ("standard libraries that are used by nearly all programs on the system") and coreutils ("essential basic system utilities")


    Final Bootup to a usable Graphical User Interface (GUI)


    X.Org window system, often generically referred to as "X" or "X11"

    GTK+ widget toolkit

    GNOME desktop environment, consisting of:
    • Metacity window manager (now only used by default if the hardware doesn't support Compiz)
    • GUI tools to modify various preferences
    • A full set of applications; Ubuntu uses many of Gnome's default apps, e.g. Evolution, Gedit and Nautilus.
    As an aside, Xubuntu uses GTK+ too, but Xfce instead of GNOME; Kubuntu, uses QT instead of GTK+ and KDE instead of GNOME.

    Starting with Gutsy Gibbon (7.10) Compiz is used as the default window manager for improved visual effects if compatible hardware is present.


    Ubuntu-specific Details


    Ubuntu specific changes; The source-code packages from Debian are imported and recompiled. A single application for each type of desktop software is selected for the default install. New art is produced. Some hardware drivers with restrictive licenses are included (in the restricted repository).

    Various Pre-Installed Desktop Applications not part of the GNOME project, e.g. Firefox, GIMP and OpenOffice.org


    Package Management & Additional Software


    For software installation, Ubuntu uses the Synaptic Package Manager (and variants such as gnome-app-install, aka "Add/Remove Applications"), which is a GUI front-end to the CLI Advanced Packaging Tool (APT), which in turn is a front-end for the simpler CLI program dpkg (from "Debian package").

    Compare to RPM (originally "Red Hat Package Manager") or source-based distributions.

    software libre (VLC, Thunderbird, Inkscape, Scribus, etc.) These packages can be found in the main (Ubuntu-supported; these include all the pre-installed applications) and universe repositories (community-supported), as well as the occasional package in the multiverse repository (generally when they are patent-encumbered or otherwise prevented from inclusion in universe) and some 3rd party repositories.

    software gratis (Java, Flash, Real Player, Opera, etc.) These packages can be found in the multiverse repository as well as Canonical's partner repository (aka commercial prior to Gutsy) and some 3rd party repositories.