# Linuxdistributie

Een Linuxdistributie of ook wel distro is een besturingssysteem bestaande uit de Linuxkernel en andere software die op elkaar is afgestemd. Linuxdistributies behoren tot de zeer diverse Linuxfamilie van Unix-achtige besturingssystemen.

## Kenmerken

Elke Linuxdistributie heeft een aantal kenmerken:
* de gebruikersgroep, de hardware en het platform waarvoor de distributie ontwikkeld is,
* de applicaties en de software suites waarvoor de distributie geoptimaliseerd is,
* het installatieprogramma en het pakketbeheersysteem,
* de beschikbare software in de repo van de distributie.
De meeste distributies worden ontwikkeld voor desktoptoepassingen.

## Toepassingen, gebruikers en ontwikkelaars

De gebruikersgroep van een Linuxdistributie kan groot zijn en de toepassing heel algemeen, zoals in het geval van desktopdistributies voor kantoortoepassingen en recreatief gebruik. Maar de gebruikersgroep kan ook klein zijn en de toepassing beperkt en heel specifiek.

### Grote desktopdistributies

Desktopdistributies zijn doorgaans voorzien van de meest gebruikte van standaardsoftware zoals LibreOffice, een internet suite met een webbrowser als Firefox of Chrome, een e-mailclient als Evolution of Claws Mail, een chatprogramma als Empathy of Pidgin, een graphics suite met programma's als GIMP en Inkscape, programma's voor fotobeheer als Shotwell of F-Spot, audiospelers als Amarok, Rhythmbox of Quod Libet, een cd-ripper als Sound Juicer, een mediaspeler als VLC media player en spelletjes. Distro's van de zwaardere desktops als GNOME en KDE en de lichtere desktops als Xfce en LXDE hebben deze standaardsoftware in hun repo's. Naast de desktops van de grote distributies zijn er lichte, gebruiksvriendelijke distro's ontwikkeld die geschikt zijn voor beginners, oude computers of kleine netbooks. Sommige kleine desktopdistributies zijn ontwikkeld voor een bepaald taalgebied of voor gebruikers met een lichamelijke handicap.

### Speciale distro's

De meeste kleinere desktopdistributies zijn ontwikkeld voor speciale groepen gebruikers en voor een speciale toepassingen. Musix is bijvoorbeeld ontwikkeld voor musici terwijl Edubuntu zich richt op toepassingen in het onderwijs. De live-cd met Kali Linux is ontwikkeld om de beveiliging van netwerken, firewalls en computersystemen te testen. Daarnaast zijn er grote verschillen tussen desktopdistributies voor verschillende typen computers. Een desktop die gebruikmaakt van een Compiz windowmanager stelt relatief hoge eisen aan de hardware terwijl sommige lichtgewicht desktopdistro's nog voor embedded systems gebruikt kunnen worden of op een Raspberry Pi met het formaat van een creditcard kunnen draaien.
Er zijn distributies specifiek voor het gebruik als server die minder geschikt zijn om als desktop te gebruiken. Distro's die voor een firewall, een router of als NAS-besturingssysteem ontwikkeld zijn kunnen helemaal niet als desktop gebruikt worden maar alleen voor de doeleinden waarvoor ze ontwikkeld zijn.

### Ondersteuning

Voor beginners is het prettig als configuratiebestanden tijdens de installatie van een softwarepakket automatisch worden aangepast. Als er na upgrades problemen optreden dan is het voor beginners prettig als een gebruikersgroep ondersteuning biedt bij het oplossen van problemen met de configuratie van de software. Ubuntu, Linux Mint, Mageia en PCLinuxOS zijn gebruiksvriendelijke distributies die beginners onder andere via forums, mailinglijsten en wiki's ondersteuning bieden bij het oplossen van problemen.
Ervaren gebruikers en experts die hun besturingssysteem geheel aan hun eigen wensen willen aanpassen, kunnen bijvoorbeeld voor Arch Linux, Gentoo Linux of CRUX kiezen. Aan de hand van de documentatie kan de configuratie van het systeem helemaal aan de eigen wensen aangepast worden. Distributies voor de zakelijke markt bieden doorgaans langdurige ondersteuning en speciale diensten aan.

## Verspreiding

De eerste Linuxdistributies, van onder andere Slackware, Debian, Red Hat en SUSE, werden in de jaren 90 op cd-rom gezet en onder meer via boekhandels, computerwinkels, op computerbeurzen of per post verspreid. Sinds de komst van breedbandinternet kunnen gebruikers Linuxdistributies als images, ISO- of hybride ISO-bestanden downloaden. Met een hybride ISO-bestand kan een live-medium gemaakt worden, zoals een live-USB of een live-SD, zoals met behulp van een cd- of dvd-brander en een ISO-bestand, een live-cd of -dvd gebrand kan worden. Op laptops en pc's ontbreekt steeds vaker een cd/dvd-brander terwijl een kaartlezer voor SD-kaarten, steeds vaker tot de standaarduitrusting van een laptop of pc behoort. Een desktopomgeving en programma's met een GUI, draaien vanaf een live-usb veel sneller dan vanaf een live-dvd.

### Hardware- en softwaretest

Een Linuxgebruiker kan een distributie op een live-usb uitproberen om een indruk te krijgen van de mogelijkheden die een desktopomgeving biedt. Bovendien kan een live-system door een gebruiker op fouten gecontroleerd worden door in een terminal een paar dmesg-opdrachten in te tikken:
Als onder de eerste dmesg-opdracht uitvoer verschijnt, dan zijn er ernstige of kritische fouten opgetreden waardoor de distributie ongeschikt is om op het systeem geïnstalleerd te worden. Als de tweede opdracht foutmeldingen oplevert, dan kunnen deze meestal verholpen worden, maar een (aspirant-)Linuxgebruiker kan ook besluiten om een andere Linuxdistributie of voor andere hardware te kiezen. Als onder de dmesg-opdrachten geen foutmeldingen verschijnen, dan betekent dat nog niet dat alle onderdelen van het systeem naar behoren functioneren. Daarvoor moeten alle onderdelen eerst afzonderlijk getest worden. Het is bijvoorbeeld mogelijk dat een onderdeel niet werkt omdat een stuurprogramma ontbreekt. Bovendien kan de kernel alsnog foutmeldingen genereren omdat onderdelen van het systeem nog niet eerder getest waren. Als na een uitgebreide test van alle onderdelen onder geen van beide dmesg-opdrachten uitvoer wordt afgedrukt, dan staat niets installatie meer in de weg.
Als een live-medium in een virtuele omgeving getest wordt, zoals in VirtualBox, dan geven bovenstaande dmesg-opdrachten andere uitvoer dan wanneer het systeem direct op de hardware draait.

### Installatie

De installatie van een Linuxdistributie kan op een moderne pc of laptop meestal direct vanaf een live-medium, met behulp van een gebruiksvriendelijk installatieprogramma, uitgevoerd worden. De meest gebruikte installatieprogramma's zijn Anaconda, Ubiquity en installatieprogramma's van Debian. Tijdens de installatie wordt gevraagd om lege ruimte op een harde schijf of SSD aan te wijzen, waarop de Linuxdistributie geïnstalleerd kan worden. Als er al een besturingssysteem op de computer is geïnstalleerd, dan wordt gevraagd of ze behouden moet blijven of verwijderd kan worden.
Vervolgens wordt gevraagd om een gebruikersnaam, wachtwoorden voor de root en een gebruiker, een hostnaam, de tijdzone en de te gebruiken taal en toetsenbordindeling op te geven. Als deze vragen allemaal beantwoord zijn, dan wordt het installatieproces opgestart. Voordat de partities op de harde schijf of SSD aangemaakt worden, wordt gevraagd of de gebruiker de installatie wil afbreken of voortzetten. Als de gebruiker ervoor kiest om de installatie voort te zetten, dan worden de nieuwe partities op de harde schijf aangemaakt en wordt de installatie van het besturingssysteem op de harde schijf of SSD uitgevoerd.
Na de installatie van het besturingssysteem kan het installatiemedium worden verwijderd waarna de computer opnieuw opgestart moet worden om het besturingssysteem voor de eerste keer vanaf het permanente opslagmedium te laten draaien. Omdat installatiemedia meestal ouder zijn dan de laatste beveiligingsupdates van de distro, is het verstandig om na het opstarten eerst een update en een upgrade van het systeem uit te voeren.

## Pakketbeheer

Voor het installeren en het beheren van software beschikt een besturingssysteem meestal over een pakketbeheerder waarmee toepassingen uit de pakketbronnen of repository's geïnstalleerd kunnen worden. Red Hat kwam in 1993 met de RPM Package Manager waarna Debian in 1998 volgde met de Advanced Packaging Tool, de twee meest gebruikte pakketbeheerders voor Linuxdistributies. Naast RPM en APT bestaan er ruim twintig andere pakketbeheerders die door Linuxdistributies gebruikt kunnen worden. Als alternatief voor het gebruik van een pakketbeheerder kan de ruwe, gezipte tarball van een toepassing die in de repo's ontbreekt, geïnstalleerd worden. Het installeren van software met ruwe tarballs valt voor vrijwel geen enkele Linuxgebruiker aan te raden.

### Repo's

    Behalve de keuze van de pakketbeheerder is het aanbod van de pakketten in de repo's belangrijk. Het aanbod van beschikbare pakketten kan sterk variëren tussen verschillende distro's. Afgezien van het aantal pakketten kunnen de pakketten in de repo voor een specifieke doelgroep en bepaalde toepassingen bedoeld zijn, zoals voor recreatieve of wetenschappelijke desktoptoepassingen of voor toepassingen op een server.

### Configuraties

    Een pakketbeheerder heeft een command-line-interface (CLI) waarmee elk softwarepakket uit de repo's vanaf een terminal geïnstalleerd kan worden. In een desktopomgeving kan gebruik gemaakt worden van een gebruiksvriendelijke grafische frontend voor deze CLI, zoals Synaptic of PackageKit. Met een grafische frontend kunnen de meeste command-line-opties van de pakketbeheerder niet gebruikt worden. Met de laatste generatie gebruiksvriendelijke high-level software-installatieprogramma's, zoals GNOME Software, kunnen gemakkelijk desktoptoepassingen of complete software suites geïnstalleerd worden.
    Wanneer een pakket geïnstalleerd wordt dan kan het installatieprogramma, met behulp van metadata en scripts in het softwarepakket, de configuratie van andere software en het besturingssysteem aanpassen. De pakketten van een gebruiksvriendelijke desktopdistributie zullen over het algemeen een vrij uitgebreide configuratie van het besturingssysteem en de software uitvoeren. De gebruiker hoeft in dat geval na de installatie van een softwarepakket, de configuratie van zijn systeem niet zelf aan te passen.
    De meeste experts en systeemontwikkelaars gebruiken het liefst alleen de CLI van de pakketbeheerder en een repo die een minimale installatie van software uitvoert, zodat de bestaande configuratie van het besturingssysteem zoveel mogelijk intact gelaten wordt.

## Ontwikkelingen

Bij DistroWatch waren begin 2016 rond de 750 Linuxdistributies bekend waarvan er 250 actief onderhouden werden. Begin 2017 en 2018 waren bij DistroWatch rond de 800 en 837 Linuxdistributies bekend waarvan er respectievelijk 265 en 280 actief werden onderhouden. Van de actief onderhouden distributies waren begin 2016, 2017 en 2018 ongeveer 150, 165 en 167 geschikt voor desktoptoepassingen. Van de niet actief onderhouden distributies waren volgens DistroWatch begin 2016, 2017 en 2018 respectievelijk rond de 60, 55 en 52 distro's slapende en waren ruim 400, 480 en 505 distro's permanent inactief of gestaakt. Het lijkt erop dat het aantal nieuwe distro's jaarlijks blijft toenemen, terwijl de toename het aantal distro's waarvan de ontwikkeling wordt gestaakt wisselt of minder sterk stijgt. Daardoor is het aantal slapende distro's in 2017 en 2018 licht gedaald.

### Grote distro's en forks

    In de afbeelding van de timeline is duidelijk te zien dat er een paar grote distro's zijn met vele forks of afsplitsingen en veel kleine distro's met weinig forks. De oudste en grootste Linuxdistributies waren Slackware, Debian en Red Hat. Vroege en grote afsplitsingen van deze distro's zijn SUSE, Ubuntu, KNOPPIX, Fedora, Mandrake en CentOS. De forks ontwikkelen zich na de afsplitsing verder, soms in een geheel nieuwe richting, waarna zich nieuwe distro's van de fork kunnen afsplitsen. Maar vaker blijkt de ontwikkeling van de fork om uiteenlopende redenen in het slop te raken waarna hij inactief wordt of de ontwikkeling definitief wordt gestaakt.

### Processoren en computerarchitecturen

    Aangezien Linux in 1991 ontwikkeld is op een Intel 80386-processor (i386), zijn er geen distributies die werken voor oudere processoren. Er zijn wel speciale distributies die geschikt zijn voor oudere computers, al is er dan geen grafische desktop aanwezig. Sommige distributies nemen minder dan 2 megabyte in beslag. In de 25 jaar die volgden op de eerste release van Linux is de hardware mogelijk sneller geëvolueerd dan veel software. De meeste grote Linuxdistributies kunnen tegenwoordig op elke computer met een 32- of 64-bit Intel/AMD multikernprocessor en op computers met andere instructiesets en computerarchitecturen en andere cpu's en gpu's en geïnstalleerd worden.
    Er zijn speciale distributies ontwikkeld op basis van bestaande distributies die bedoeld zijn voor zwaar rekenwerk (High Performance Computing of HPC) op computerclusters. Een low-budget computercluster met Lubuntu en Apache software voor gedistribueerd rekenen is op de foto rechts te zien.

### Kleine en onafhankelijke distro's

    Zolang als Linux bestaat hebben naast de grote distro's kleine en onafhankelijke distro's bestaan die zich vaak in meerdere opzichten van de grote distro's onderscheiden.
    Een paar voorbeelden:
   * Onder andere Arch Linux en Gentoo Linux onderscheiden zich door hun pacman en portage pakketbeheersystemen.
   * GuixSD onderscheidt zich door een geavanceerde servicemanager en het functioneel geprogrammeerde GNU Guix pakketbeheersysteem.
   * Alpine Linux gebruikt de musl C library in plaats van GNU C library als standaard C-bibliotheek.
   * CRUX is een kleine, BSD-achtige distro met een ports pakketbeheerder. Op basis van CRUX zijn een aantal onafhankelijke distro's ontwikkeld.
   * LFS is een verzameling recepten voor scripts waarmee broncode gedownload en een Linuxbesturingssysteem gecompileerd kan worden.
   * Onder andere Puppy Linux, SliTaz GNU/LINUX en Tiny Core Linux gebruiken BusyBox ter vervanging van veel UNIX-tools.
    De ontwikkeling van kleine, onafhankelijke Linux- en BSD-distro's heeft vaak invloed op de ontwikkeling van software voor embedded systems of netwerkapparatuur, zoals handheld devices en routers. IPFire is bijvoorbeeld een firewall voor routers. Android, Ubuntu Touch en Firefox OS zijn Linuxdistro's voor smartphones en tablets. De besturingssystemen van smart-tv's zijn vaak ontwikkeld op basis van Linuxdistro's die op settopboxen konden draaien.

### Netwerkapparatuur en beveiligingsmodules

    Voor producenten van commerciële Linuxdistributies, zoals Red Hat Enterprise Linux, Oracle Linux en SUSE Linux Enterprise distributies, hebben de beveiliging, betrouwbaarheid en stabiliteit van servers, tunnels, VPN's en netwerkapparatuur een hoge prioriteit. Red Hat garandeert ondersteuning voor een periode van 10 jaar en ondersteunt onder de toepassing van SELinux-beveiligingsmodules terwijl SUSE de AppArmor-beveiligingsmodule voor zijn Linuxdistro's ontwikkeld heeft. De activiteiten van OpenSUSE, CentOS, Endian Firewall en Zentyal zijn deels te vergelijken met de activiteiten van Red Hat, Oracle en SUSE.

## Versies

Omdat de hardware van computers en de Linuxkernel zich constant ontwikkelen zijn van de meeste Linuxdistributies meerdere versies verkrijgbaar. De regels die gehanteerd worden voor de naamgeving, versienummers en verdere aanduidingen van de verschillende versies, kunnen per distributie sterk van elkaar verschillen.

### Ontwikkelingsversies

    Op het moment dat een nieuwe distributieversie van een grote distro uitgebracht wordt staan de volgende ontwikkelingsversies meestal al geruime tijd in de steigers. Van grote distro's kunnen op een bepaald moment meerdere ontwikkelingsversies naast elkaar bestaan:
   * in de eerste fase van de ontwikkeling wordt een nieuwe versie vaak alfa-versie of onstabiele versie genoemd,
   * de volgende fase gaat in als de alfa-versie stabiel genoeg is en wordt dan een bèta-versie of testversie genoemd,
   * als de meeste bugs uit een bèta-versie verwijderd zijn wordt de versie meestal een release candidate of RC-versie genoemd.
    Aan de versienummers worden soms de letters "a", "u", "b", "t" en "rc" toegevoegd om het ontwikkelingsstadium aan te geven, eventueel aangevuld met extra nummers.

### Distributieversies en point releases

    Als een RC-versie voldoende getest is en stabiel genoeg blijkt te zijn dan wordt het een distributieversie. De ontwikkeling van de softwarepakketten die in de repo's van de distro zijn opgenomen gaan echter gewoon door. Na een eerste distributieversie volgen na verloop van tijd meestal een paar point releases waarin onder andere nieuwere versies van belangrijke pakketten opgenomen kunnen worden. Voordat de volgende distributieversie verschijnt krijgen de gebruikers de gelegenheid om minder ingrijpende upgrades naar verschillende point releases van dezelfde distributieversie uit te voeren.

### LTS-versies

    De afkorting "LTS" staat voor Long-term support. De afkorting LTS wordt aan de naam van speciale versies toegevoegd om aan te geven dat voor die versie over een langere termijn ondersteuning en beveiligingsupdates verzorgd worden. De meeste systeembeheerders, applicatie-ontwikkelaars en gebruikers willen het liefst zo weinig mogelijk ingrijpende upgrades van hun besturingssysteem uitvoeren. Daarom willen deze gebruikers meestal ruim van tevoren weten hoelang ze op ondersteuning kunnen rekenen en wanneer ze hun besturingssysteem naar een volgende versie moeten upgraden.
    De termijn waarover ondersteuning gegeven wordt voor LTS-versies van verschillende distro's is doorgaans vijf jaar. Debian, Linux Mint, Trisquel en Ubuntu garanderen een ondersteuningstermijn van 5 jaar voor hun LTS-versies.

### Rolling-releases

    Een aantal Linuxdistributies, zoals Arch Linux, Gentoo Linux, NixOS en GuixSD, brengen geen verschillende versies van hun besturingssysteem uit omdat ze continu in ontwikkeling zijn. In plaats daarvan worden frequent snapshots van een aantal onderdelen van het systeem uitgebracht waarmee de gebruikers hun systeem kunnen upgraden. Veel gebruikers van deze rolling-release-distro's werken als software-ontwikkelaar. Daarom willen deze gebruikers het liefst in een omgeving werken waarin ze de laatste ontwikkelingen op het gebied van software-ontwikkeling goed kunnen volgen.

## Standaarden en compatibiliteit

De vele organisaties die Linuxdistributies ontwikkelen, wijzigen daarbij diverse aspecten van hun systeem. Naarmate er meer distributies ontstaan, wordt het gevaar steeds groter dat applicaties ontwikkeld voor UNIX-achtige besturingssystemen niet meer op alle Linuxdistributies werken. Om zulke problemen te voorkomen, zijn open standaarden ontwikkeld, zoals de POSIX-standaard, de Linux Standard Base en de Filesystem Hierarchy Standard, die los staan van de ontwikkeling van verschillende distributies.
Daarnaast zijn er vele applicaties en subsystemen waarvan bijna elke desktopdistributie gebruik maakt, zoals de ALSA-geluidstechniek, soms vervangen door PulseAudio, waardoor compatibiliteitsproblemen kunnen ontstaan. De laatste ingrijpende systeemverandering, onder meer bedoeld om zulke problemen te voorkomen, betrof de invoering van de systemd systeem- en servicemanager ter vervanging van het oude systeem dat gebaseerd was op de UNIX System V initialisatie.

## DistroWatch

De populariteit van een distributie zou afgeleid kunnen worden van de hitparade van DistroWatch, de website van Ladislav Bodnar, die zich richt op de berichtgeving rond distributies. Deze statistieken zijn op pageviews gebaseerd en stellen dus de interesse in Linuxdistributies voor, niet het eigenlijke gebruik.

## Enkele distributies

* Arch Linux
* CentOS
* Chakra Linux
* CrunchBang Linux
* Damn Small Linux
* Debian
* Dreamlinux
* Fedora
* Gentoo Linux
* gOS
* Knoppix
* Kubuntu
* Mandriva
* MEPIS
* Mint
* PCLinuxOS
* Puppy
* Sabayon
* SUSE/openSUSE
* Slackware Linux
* Ubuntu
* Zenwalk Linux