mini|hochkant|Zeitleiste mit der Entwicklung verschiedener Linux-Distributionen Eine Linux-Distribution (kurz Distro) ist eine Auswahl aufeinander abgestimmter Softwarepakete rund um den Linux-Kernel, bei dem es sich in einigen Fällen auch um einen mehr oder minder angepassten und meist in enger Abstimmung mit Upstream selbst gepflegten Distributionskernel handelt. Der Linux-Kernel gemeinsam mit den Softwarepaketen, üblicherweise mit Systemsoftware des GNU-Projekts, wird als das Betriebssystem Linux verstanden, wovon eine Linux-Distribution daher eine mögliche Variante ist.
Distributionen, in denen GNU-Programme eine essenzielle Rolle spielen, werden auch als „GNU/Linux-Distributionen“ bezeichnet. Die Namensgebung mit oder ohne GNU-Namenszusatz wird von den Distributoren je nach ihrer Position im GNU/Linux-Namensstreit unterschiedlich gehandhabt.
Fast jede Distribution ist um eine Paketverwaltung herum zusammengestellt, d. h., dass sämtliche Bestandteile der Installation als Pakete vorliegen und sich über den Paketmanager installieren, deinstallieren und updaten lassen. Die Pakete werden dazu online in sogenannten Repositories vorgehalten.
Zusammengestellt wird eine Linux-Distribution von ihrem Distributor. Für gewöhnlich wählt dieser Programme aus, bei denen er die nötigen Rechte hat, passt sie mehr oder weniger an, paketiert sie in seiner Paketverwaltung und bietet das Ergebnis als Distribution an. Normalerweise werden nur wenige Programme vom Distributor selbst geschrieben, häufig z. B. der Distributions-Installer. Der Distributor kann ein Unternehmen oder eine Gruppe von weltweit verteilten Freiwilligen sein. Er kann auch kommerziellen Support anbieten.
Abgrenzung Üblicherweise wird der Begriff „Linux-Distribution“ auf Zusammenstellungen begrenzt, die weitgehend linuxtypisch aufgebaut sind, was beispielsweise auf Android, das ebenfalls auf dem Linux-Kernel aufbaut, nicht zutrifft. Es gibt auch Linux-Distributionen, die den Linux-Kernel mit einem anderen Unix-Kernel austauschen, etwa mit GNU Hurd oder dem Kernel von BSD-Unix. Ebenso ist es möglich, zwar den Linux-Kernel ohne die im Allgemeinen linuxübliche Systemsoftware zu verwenden – also ein Userland (vor allem Systemprogramme), das nicht vom GNU-Projekt stammt.
Beispiele: Von Debian, als „Debian GNU/Linux“ eine Linux-Distribution, gab es in den Versionen 6 und 7 das Projekt „Debian GNU/kFreeBSD“, das den Linux-Kernel durch den Kernel von FreeBSD ersetzte. Ein solches Debian fühlt sich auf der Ebene der Anwendungssoftware im Grunde identisch an. Debian GNU/Hurd verwendet den Mach-basierten GNU Hurd-Mikrokernel und ist in dem Sinne keine Linux-Distribution, obwohl zahlreiche Pakete und Systemprogramme (wie die Paketverwaltung APT) in Debian GNU/Linux, Debian GNU/Hurd und Debian GNU/kFreeBSD identisch sind, sodass es sich (abgesehen vom Kernel) im Grunde um dieselbe Distribution in unterschiedlichen Varianten handelt, da sowohl Linux (der Kernel) als auch Hurd als auch der Kernel von FreeBSD jeweils einen Unix-kompatiblen Kernel darstellen, auf dem grundsätzlich dieselbe Software laufen kann. Chimera Linux verwendet den Linux-Kernel, aber das Userland (das heißt, die System- und Dienstprogramme, also systemnahe Softwarepakete) von FreeBSD, was für Linux (als Betriebssystem) unüblich ist. In diesem Sinne ist Chimera eher ein BSD-Unix, dessen Unix-Kernel durch den Linux-Kernel ersetzt wurde. Alpine Linux verwendet zwar den Linux-Kernel mit GNU-Software, ersetzt aber die C-Standard-Bibliothek von GNU, glibc, durch musl, das dazu zwar annähernd aber nicht vollständig binärkompatibel ist.
Konzept Die Idee hinter Distributionen ist ein Paket aufeinander abgestimmter Software zu bilden. Den zentralen Teil bilden dabei der Linux-Kernel selbst sowie Systemprogramme und Bibliotheken. Je nach Anwendungszweck der Distribution werden verschiedene Anwendungsprogramme (z. B. Webbrowser, Office-Anwendungen, Zeichenprogramme, Mediaplayer etc.) hinzugefügt.
Linux-Distributionen halten in der Regel eine große Anzahl an Programmen in den Repositories zur Installation bereit. Dies steht im konzeptuellen Gegensatz zu anderen Betriebssystemen wie Windows und macOS, die neben dem Betriebssystem selbst nur wenige Anwendungen enthalten, dafür auf die Integration von Programmen von externen Anbietern, sogenannten ISVs, setzen.
Weitere Aufgaben von Distributoren sind die Anpassung der Programme (durch Patches), Hinzufügen eigener Programmentwicklungen (vor allem zur Installation und Konfiguration des Systems wie zum Beispiel apt, Synaptic, YaST) sowie (bis auf wenige Ausnahmen, z. B. Gentoo) Kompilierung und Paketierung (.deb, .rpm) der Programme. Die Bereitstellung zusätzlicher Programme und Updates erfolgt typischerweise zentral über ein Repository, welches über ein Paketverwaltungs-System mit dem Betriebssystem synchronisiert wird.
Auch wenn bei Linux-Betriebssystemen Distributionen die bei weitem üblichste Variante sind, ist ein Betrieb von Linux auch ohne eine vorgefertigte Distribution möglich, zum Beispiel mithilfe von Linux From Scratch. In dem für Linux wichtigen Markt der eingebetteten Systeme sind Distributionen wenig verbreitet.
Zusammensetzung mini|Bestandteile einer Linux-Distribution Neben dem Linux-Kernel besteht eine Distribution meist aus der GNU-Software-Umgebung. Diese stellt große Teile des grundlegenden Basissystems mit den zahlreichen Systemdiensten (sogenannten Daemons) sowie diverse Anwendungen bereit, die bei einem unixoiden System erwartet werden. Distributionen, welche auch oder nur für Desktop-Systeme gedacht sind, verfügen normalerweise über ein Fenstersystem, derzeit meistens das X Window System. Ein solches ist für das Ausführen einer grafischen Benutzeroberfläche erforderlich. Darauf aufbauend steht meist eine Desktop-Umgebung, wie bspw. Gnome oder die KDE Software Compilation, zur Verfügung, welche neben der reinen Benutzeroberfläche noch eine Auswahl an Anwendungsprogrammen mitbringt.
Ergänzend fügt ein Distributor normalerweise zahlreiche weitere Anwendungen bei. Dies sind beispielsweise Office-Pakete, Multimediasoftware, Editoren, E-Mail-Programme, Browser, aber auch Server-Dienste. Daneben finden sich meist Softwareentwicklungs-Werkzeuge wie Compiler bzw. Interpreter sowie Editoren.
Viele Softwarebestandteile von Linux-Distributionen, z. B. der Compiler GCC, stammen aus dem älteren GNU-Projekt. Dieses hatte sich schon vor der Entwicklung von Linux die Aufgabe gestellt, eine Alternative zu den kommerziellen Unix-Betriebssystemen zu entwickeln. Da der eigene Kernel des GNU-Projekts, GNU Hurd, noch in der Entwicklung ist, wird häufig als Ersatz der Linux-Kernel benutzt. Daher ist auch der Doppelname GNU/Linux für eine Distribution geläufig (z. B. bei Debian).
Es gibt auch Linux-Distributionen, die auf die GNU-Softwareanteile oder ein X-Window-System komplett verzichten und stattdessen alternative Software nutzen. Diese Distributionen verhalten sich, wie beispielsweise FreeVMS oder Cosmoe, teilweise auch nicht annähernd wie ein Unix-System.
Vertrieb Während proprietäre Betriebssysteme häufig über den Einzelhandel vertrieben werden, ist dies bei Linux-Distributionen eher die Ausnahme. Die meisten Distributionen können heute kostenlos von der Website der Anbieter heruntergeladen werden. Diese finanzieren sich über Spenden, über kostenpflichtigen Support oder auch einfach nur über die Beteiligung von Freiwilligen. Nur vergleichsweise wenige Distributionen werden von gewinnorientierten Firmen entwickelt und sind teilweise über den Einzelhandel verfügbar. Zahlreiche Linux-Distributionen werden auch, von den Kunden unbemerkt, als Firmware auf einem Gerät oder sogar in größeren Maschinen oder Anlagen erworben. Dabei kann es sich z. B. um Werkzeugmaschinen, Fahrzeuge, Haushaltsgeräte, SPS, Messgeräte, Mobiltelefone, Modems, Digitalkameras, NAS oder Fernseher handeln.
Geschichte
Da Linux nur ein Betriebssystem-Kernel ist, wird weitere Software benötigt, um ein benutzbares Betriebssystem zu erhalten. Aus diesem Grund kamen die ersten Linux-Distributionen schon kurz nach der GPL-Lizenzierung von Linux auf, als Anwender, die nicht zum direkten Entwicklerkreis gehörten, Linux zu nutzen begannen. Die ersten Distributionen hatten dabei das Ziel, das System beispielsweise mit der Software des GNU-Projekts zu einem arbeitsfähigen Betriebssystem zu bündeln. Zu ihnen gehörten MCC Interim Linux, das auf den FTP-Servern der University of Manchester im Februar 1992 veröffentlicht wurde sowie TAMU und Softlanding Linux System (SLS), die etwas später herauskamen. Die erste kommerziell auf CD erhältliche Distribution war 1992 das von Adam J. Richters entwickelte Yggdrasil Linux. 1993 veröffentlichte Patrick Volkerding die Distribution Slackware, die auf SLS basiert. Sie ist die älteste heute noch aktive Linux-Distribution. Ebenfalls 1993, ungefähr einen Monat nach der Veröffentlichung von Slackware, wurde das Debian-Projekt ins Leben gerufen, das im Gegensatz zu Slackware gemeinschaftlich entwickelt wird. Die erste stabile Version kam 1996 heraus. 2004 wurde von Canonical das auf Debian basierende, später sehr populäre Ubuntu herausgebracht.
Die ersten Nutzer kannten noch freie Software aus der Zeit vor den 1980er-Jahren und schätzten Linux, weil sie wieder die Verwertungsrechte an der von ihnen verwendeten Software besaßen. Spätere Nutzer waren Unix-Anwender, die Linux zunächst vor allem privat einsetzten und sich vor allem über den geringen Preis freuten. Waren die ersten Distributionen nur der Bequemlichkeit halber geschaffen worden, sind sie doch heute die übliche Art für Nutzer wie auch Entwickler, ein Linux-System zu installieren. Dabei werden die Linux-Distributionen heutzutage sowohl von Entwicklergruppen als auch von Firmen oder gemeinnützigen Projekten entwickelt und betrieben.
Die Frage, welche Distributionen besonders beliebt sind, lässt sich nur schwer beantworten. Im deutschsprachigen Raum werden vor allem Ubuntu, Debian, openSUSE und Knoppix häufiger auch außerhalb der IT-Presse erwähnt. Darüber hinaus wäre Fedora zu nennen, das von dem börsennotierten US-Unternehmen Red Hat entwickelt wird.
Arten von Distributionen Da Distributionen praktisch eigene Produkte sind, konkurrieren diese am Markt miteinander und versuchen, sich einerseits voneinander abzugrenzen, andererseits aber auch anderen Distributionen keinen zu großen Vorteil zu überlassen. Daher unterscheiden sich zwar sämtliche Distributionen; es gibt aber kaum etwas, wofür sich nicht jede Distribution anpassen ließe. Hiervon ausgenommen sind nur Spezial-Systeme, etwa als Software im Embedded-Bereich.
Einige Distributionen sind speziell auf einen Anwendungsfall optimiert. So gibt es etwa Systeme speziell für den Einsatz in Bildungseinrichtungen mit hierfür spezialisierter Software und zumeist einem Terminalserver-System, wodurch nur ein leistungsstarker Rechner benötigt wird und ansonsten auch ältere Hardware ausreicht. Beispiele sind hier Edubuntu oder DebianEdu. Ebenso gibt es Systeme speziell für veraltete Rechner, die einen geringeren Funktionsumfang haben und geringe Systemanforderungen stellen. Beispiele sind etwa Damn Small Linux oder Puppy Linux, die einen Umfang von nur 50 beziehungsweise 100 MB haben.
Smartphone-Distributionen mini|hochkant|Homescreen von Android 7.1