# Debian

Debian is een vrij besturingssysteem voor een breed scala computerarchitecturen. Debian wordt ontwikkeld door vrijwilligers over de hele wereld en is voornamelijk opgebouwd uit GNU-software. De Debian-distributies zijn gebaseerd op de Linuxkernel maar er bestaan ook Debian-uitgaven die gebaseerd zijn op de FreeBSD- en Hurdkernel.

## Geschiedenis

Debian werd in 1993 bedacht door Ian Murdock, die in het Debian Manifesto verklaarde een volledig open en onderhouden Linuxdistributie te willen maken. Hij publiceerde dit op 16 augustus 1993 in de nieuwsgroep comp.os.linux.development. De naam is gebaseerd op zijn eigen naam en die van zijn vrouw Debra (Debra-Ian). In december van dat jaar verscheen versie 0.90, even later in 1994 gevolgd door versie 0.91. Het duurde tot maart 1995 eer er weer een nieuwe versie verscheen: 0.93r5. In november 1995 verscheen de volgende versie: 0.93r6. Pas 7 maanden later - op 17 juni 1996 - verscheen de eerste volledige uitgave (1.1), Buzz genaamd, vernoemd naar het personage Buzz Lightyear uit de animatiefilm-franchise Toy Story. Deze versie bevat de 2.0-kernel, 474 softwarepakketten en de uitvoerbare code is volledig in het ELF-formaat.

## Kenmerken

Debian kenmerkt zich door een gegarandeerde open, een niet-commerciële instelling, eigen installatieprogramma's en een eigen pakketbeheersysteem gebaseerd op de Advanced Packaging Tool. Debian is onder andere verkrijgbaar in de vorm van een aantal live-systems met verschillende desktopomgevingen. Debian kent een aantal verschillende versies met bijbehorende repository's en een flexibel en open beheerssysteem.
De configuratie van de pakketbeheerder kan door ervaren Linuxgebruikers zonder veel moeite aan de persoonlijke behoeften aangepast worden. Daarna kan met een paar update- en upgrade-opdrachten een upgrade van het hele besturingssysteem en alle software uitgevoerd worden.

### Pakketbeheer

Met de apt-pakketbeheerder kunnen softwarepakketten probleemloos geïnstalleerd, beheerd en geüpdatet worden. Er zijn verschillende frontends voor het pakketbeheer beschikbaar. De apt-get-frontend heeft een command-line-interface en de aptitude-frontend heeft een ncurses-interface zodat met deze programma's in een tekstuele gebruikersomgeving gewerkt kan worden. De synaptic-frontend heeft een grafische gebruikersinterface en werkt enkel in een grafische gebruikersomgeving.

### Softwarepakketten

Debian heeft een aanbod van enkele tienduizenden softwarepakketten voor een tiental computerarchitecturen, strikt gescheiden in verzamelingen van vrije en niet-vrije software. Voor de selectie van software worden de Debian Vrije Software Richtlijnen gehanteerd. De verschillende software repository's zijn gescheiden in main-, contrib- en non-free-repo's. Debian kent een ontwikkelmodel met een oldstable-, een stable-, een testing- en een unstable-versie waarin elke versie een eigen verzameling softwarepakketten heeft.

#### Installatie

Van Debian is een reeks versies op verschillende installatiemedia beschikbaar. Tijdens de installatie van de standaard desktopdistributie wordt de stable-versie van Debian geïnstalleerd met de main-repository en een GNOME-desktop. Er kan ook voor installatie met een andere desktop of voor een kale installatie zonder grafische gebruiksomgeving gekozen worden.

#### Persoonlijke configuratie

Na installatie kan een gebruiker de configuratie van de pakketbeheerder en het besturingssysteem op talloze manieren in het configuratiebestand /etc/apt/sources.list aanpassen. Aan de configuratie van de stable-versie kunnen pakketten uit de backports repo toegevoegd worden. Aan de repo's kan bovendien een personal package archive of PPA toegevoegd worden.

### Ontwikkeling en ondersteuning

De ontwikkeling van Debian en de ondersteuning van gebruikers gebeurt door de community van ontwikkelaars en gebruikers. De mailinglijsten spelen daarbij de belangrijkste rol. Voor gebruikers is een Nederlandstalige mailinglijst. Voor gebruikers, systeembeheerders en ontwikkelaars heeft Debian tevens een wiki.

## Forks

Van Debian worden talrijke Linuxdistributies of forks afgeleid, zoals Ubuntu, Raspbian en Knoppix. Daarvan kunnen weer andere Linuxdistributies ("distro's") afgeleid worden, zoals gNewSense en Zorin OS. Volgens DistroWatch waren begin 2016 in totaal ongeveer 125 actieve distro's van Debian/Ubuntu afgeleid. Daarvan waren in totaal 57 distro's rechtstreeks van verschillende Debian-distrubuties afgeleid waarvan vervolgens 30 van enkel de stable- en 8 van enkel de testing-distributie van Debian afgeleid zouden zijn.

## Standaardsoftware

De volgende software wordt bij een standaard GNOME-desktop meegeleverd:
* Brasero, een brandprogramma voor cd's en dvd's
* Cheese, een programma om een webcam te bekijken en foto's en video's te maken
* Rhythmbox, een muziekspeler
* Totem, een muziek- en videospeler
* Eye of GNOME, een afbeeldingviewer
* Evolution, een e-mailprogramma
* GIMP, een programma om afbeeldingen te bewerken
* LibreOffice, een kantoorsoftwarepakket
* ImageMagick, een grafisch programma voor digitale beeldbewerking
* Inkscape, een programma voor het bewerken van vectorafbeeldingen
* Shotwell, een fotobeheerprogramma
* File Roller, een archief- en compressieprogramma
* Iceweasel, een webbrowser
* Empathy, een chatprogramma
* Liferea, een feedreader
* Ekiga, een opensourceprogramma voor VoIP en videoconferenties
* PulseAudio, een moderne geluidsserver voor Unix
* Transmission, een magnetlink- en BitTorrent-client
* GDM

## Versies

De namen van de versies zijn namen van personages uit de animatiefilm Toy Story:
| Versie | Codenaam | Uitgavedatum | Einde ondersteuning | Status |
| 1.1 | buzz | 17 juni 1996 | | Oude versie |
| 1.2 | rex | 12 december 1996 | | Oude versie |
| 1.3 | bo | 2 juli 1997 | | Oude versie |
| 2.0 | hamm | 24 juli 1998 | | Oude versie |
| 2.1 | slink | 9 maart 1999 | | Oude versie |
| 2.2 | potato | 15 augustus 2000 | eind juni 2003 | Oude versie |
| 3.0 | woody | 19 juli 2002 | eind juni 2006 | Oude versie |
| 3.1 | sarge | 6 juni 2005 | eind maart 2008 | Oude versie |
| 4.0 | etch | 8 april 2007 | eind februari 2010 | Oude versie |
| 5.0 | lenny | 14 februari 2009 | 6 februari 2012 | Oude versie |
| 6.0 | squeeze | 6 februari 2011 | februari 2016 | Oude versie |
| 7.0 | wheezy | 4 mei 2013 | eind mei 2018 | Oude versie |
| 8.0 | jessie | 25 april 2015 | eind juni 2020 | Oude versie |
| 9.0 | stretch | 17 juni 2017 | 1 juli 2022 | Oude versie |
| 10.0 | buster | 7 juli 2019 | 10 september 2022 | Oude versie |
| 11.0 | bullseye, "Oldstable" | 14 augustus 2021 | | Huidige versie |
| 12.0 | bookworm, "Stable" | 10 juni 2023 | | Huidige versie |

### Ontwikkelmodel

De pakketten van Debian worden verdeeld in vier secties:
* Unstable: deze is weinig getest en kan nog fouten bevatten. De unstable-distributie op zich zal nooit uitgebracht worden, maar uiteindelijk moeten de pakketten via testing hun weg vinden naar stable en zo in een echte uitgave verschijnen. Unstable heeft de nieuwste pakketten, met recentere mogelijkheden, maar kent wel bugs, aangezien de nieuwe pakketten nog niet uitvoerig getest zijn. De gebruikers van sid worden uitgenodigd te experimenteren met deze pakketten, om bugs te melden. Deze gebruikers zijn dan ook zelf meer betrokken in het systeemonderhoud. Merk op dat er een pakketbron (repository) bestaat die de naam experimental heeft. In die versie kan de software zelf onstabiel zijn, terwijl in unstable vooral het verpakken ervan onstabiel kan zijn.
* Testing: deze wordt getest maar is stabiel genoeg voor de meeste toepassingen. Het bevat pakketten die nog niet in een stabiele (stable) versie zijn opgenomen, maar in voorbereiding zijn voor opname. Testing is geen versie op zich, want de pakketten kunnen nog voortdurend door nieuwere vervangen worden. Deze distributie is dan ook recenter dan de stable-versie.
* Stable: deze is voldoende stabiel om officieel uitgebracht te worden. Dit betekent dat deze gedurende lange tijd is getest en dat voldoende problemen zijn opgelost om door het release-proces van Debian als een stabiel besturingssysteem te worden aangemerkt. Deze distributie is dan ook de productierelease, die door Debian aangeraden wordt voor dagelijks gebruik. Debian brengt een stabiele versie uit wanneer het releaseteam ervan overtuigd is dat minder speciale problemen zullen optreden met een nieuwe versie dan met de vorige. Wanneer een nieuwe versie verschijnt, wordt de versie die voordien stable was de oldstable-distributie; de versie die testing is neemt dan de plaats in van stable, maar deze blijft ook nog een tijd testing. Op deze manier zijn vlak na het verschijnen de inhoud van zowel stable als testing identiek.
* Oldstable: is de vorige stabiele distributie zolang er voor deze distributie nog beveiligingsupdates verstrekt worden. Het verstrekken van de beveiligingsupdates voor LTS-versies gebeurt tot hooguit vijf jaar nadat de distributie voor de eerste keer uitgebracht is om gebruikers in de gelegenheid te stellen hun systeem te upgraden.
De 'unstable'-versie draagt altijd de naam 'sid', naar het gelijknamige jongetje uit Toy Story dat al het speelgoed stuk maakte. Vaak wordt sid vertaald met still in development, maar dit is nooit de oorspronkelijke bedoeling van de naam geweest.
Het bovenstaande model speelt een centrale rol in het ontwikkelproces van Debian. Nieuwe softwarepakketten worden eerst toegevoegd aan de 'unstable' (onstabiel) versie. Pakketten uit 'unstable' schuiven door naar 'testing' waar het pakket en de gehele distributie verder getest worden.
Als er voldoende veranderingen zijn doorgevoerd voor een nieuwe versie, wordt de nadruk verlegd van het toevoegen van nieuwe functionaliteit naar stabiliseren. Dit duurt net zo lang tot de versie voldoende stabiel wordt bevonden. Als dat zo ver is schuift de complete 'testing'-versie door en wordt de nieuwe stabiele versie; een nieuwe 'testing'-versie wordt gecreëerd om volgende updates uit 'unstable' te kunnen ontvangen.

### Point releases

De zogeheten "point releases" zijn relatief regelmatige updates van de stable-distributie die alle veiligheidsupdates bevatten die Debian sinds de vorige point-release apart op het internet beschikbaar had gesteld. Daarnaast bevatten de updates soms ook verbeteringen van ernstige fouten, of het verwijderen van inhoud waarvan het verspreiden legaal gezien problematisch bevonden werd. Tegenwoordig gaat het om het nummer na de punt, bijvoorbeeld de "8" in Debian 7.8. In het verleden ging het om het deel na de "r", bijvoorbeeld de "6" in Debian 3.0r6.

### Backports

Vaak willen gebruikers een nieuwe versie van een programma, maar ook de stabiliteit van Debian stable. Hiervoor zijn de backports uitgevonden. Dit zijn nieuwe programma's uit testing, echter geschikt gemaakt (opnieuw gecompileerd) voor stable. Tijdens het installeren van een pakket zal de versie uit stable worden gebruikt, tenzij specifiek om de versie uit backports wordt gevraagd (of het pakket niet aanwezig is in stable maar wel in backports). Na het installeren zullen voortaan ook automatisch nieuwere versies van het programma worden geïnstalleerd. Het wordt aangeraden om alleen pakketten uit backports te gebruiken als dit echt nodig is, omdat de pakketten toch wat minder goed getest zijn dan de pakketten in stable. De backports-repository moet expliciet worden aangezet (tijdens de ontwikkeling van Debian 8 werd het enige tijd default aangezet). Veelgebruikte pakketten uit backports zijn de Linuxkernel (vanwege drivers voor nieuwe hardware) en LibreOffice.

## Ports naar verschillende kernels

Het Project zegt van zichzelf dat het een "universeel besturingssysteem" creëert, en ontwikkelt ports van alle userland-software naar de verschillende kernels van besturingssystemen:
| Naam | Kernel | Officieel |
| Debian GNU/Linux | Linuxkernel | Ja |
| Debian GNU/Hurd | Hurdkernel | Nee |
| Debian GNU/NetBSD | NetBSD-kernel | Nee |
| Debian GNU/kFreeBSD | FreeBSD-kernel | Ja |
| Nexenta OS | OpenSolaris-kernel | Nee |