# Gentoo Linux

Gentoo Linux is een Linuxdistributie. De distributie is genoemd naar de ezelspinguïn, door de bewoners van de Falklandeilanden met Gentoo aangeduid. De distributie heeft als doelstelling om modulair, eenvoudig in gebruik en overdraagbaar te zijn. Verder zorgt Gentoo ervoor dat de software geoptimaliseerd wordt voor het systeem van de gebruiker. Om dit te bewerkstelligen laat Gentoo alle applicaties door het systeem zelf compileren; maar voor het gemak van de eindgebruiker biedt het enkele van de grotere pakketten ook voorgecompileerd aan. Dit alles wordt in goede banen geleid door het softwarebeheersysteem Portage.

## Geschiedenis

De maker van Gentoo, Daniel Robbins, heeft de initiële ontwikkeling van zijn distributie omschreven in een driedelige artikelenreeks genaamd Making the Distribution.
Op 26 april 2004 verliet Robbins het Gentoo-project om een carrière te beginnen bij Microsoft. Alvorens hij vertrok hielp hij met de oprichting van de Gentoo Foundation en droeg alle auteursrechten en merkenrechten die betrekking hadden op Gentoo over.
De initiële raad van bestuur van de Gentoo Foundation werd door Robbins zelf aangesteld, maar op 25 mei 2005 werden de eerste democratische verkiezingen gehouden waarbij 13 bestuursleden verkozen werden, de Trustees genaamd. Er is tevens een adviesraad met 7 adviseurs gekozen, de Council genaamd. Deze adviseurs, die op 31 augustus 2005 verkozen werden door de Gentoo ontwikkelaars, hebben als doelstelling de ontwikkeling van Gentoo in goede banen te leiden.

## Overdraagbaarheid

Initieel was Gentoo gericht op de x86-architectuur, maar kort na zijn ontstaan werden al snel andere architecturen ondersteund, mede dankzij de hoge overdraagbaarheid van de Linuxkernel, de GNU-compilers en -bibliotheken en de programmeertaal Python. Op dit moment ondersteunt Gentoo naast de x86-architectuur tevens PowerPC, SPARC, AMD64, IA64, MIPS, DEC Alpha, HP/PA, ARM en zSeries/s390.
De kracht van Gentoo op het vlak van overdraagbaarheid wordt snel duidelijk wanneer we zien dat Gentoo de eerste distributie was die een volledig functionele 64-bit Linuxomgeving voor de PowerPC 970-architectuur aanbood.
Er bestond tevens een "Gentoo voor Mac OS X"-project dat het mogelijk maakt om Portage te gebruiken onder Apple's huidige besturingssysteem. Gentoo Linux voor Mac OS X was het eerste niet-Linuxproject van Gentoo. De bedoeling hiervan was om op Mac OS X een Portagesysteem mogelijk te maken onafhankelijk van het besturingssysteem. Dit hield in dat in een aparte map Gentoo-programma's geïnstalleerd konden worden zonder programma's van het besturingssysteem kapot te maken. Dit kan worden vergeleken worden met Fink en MacPorts. Het project is niet langer actief omdat het project bijna niet onderhouden werd waardoor er onvoldoende pakketten beschikbaar waren. Gentoo Prefix heeft dit project opgevolgd.
Onder het Gentoo/Alt-subproject wordt er gewerkt aan het overdragen van Gentoo naar andere besturingssystemen, zoals de verschillende BSD-varianten. Er is bijvoorbeeld al een Gentoo-versie beschikbaar die gebruikmaakt van de FreeBSD-kernel.

## Portage

Portage is gelijkaardig aan het softwarebeheersysteem dat BSD kent onder de naam ports — oorspronkelijk werd Portage ontwikkeld met dit beheersysteem in gedachten. Wat betreft werking kan het vergeleken worden met de verschillende andere Linux-softwarebeheersystemen: je kunt er eenvoudig software mee installeren of verwijderen, doorzoeken of manipuleren.
De Portage-software, geschreven in Python, is het gereedschap dat Gentoo onderscheidt van de andere Linuxdistributies. De bekendste interface is emerge.

### USE-flags

Een van de krachtigste mogelijkheden van Portage is de ondersteuning van de USE-flags. Hiermee kan de gebruiker definiëren voor welke einddoelen hij zijn software wenst te gebruiken. Via deze USE-Flags zal Portage dan beslissen of bepaalde optionele ondersteuning meegeleverd moet worden of niet. Hiermee onderscheidt Gentoo zich van andere distributies die wegens het ontbreken van deze functionaliteit altijd alle mogelijke ondersteuning aanbieden, ongeacht of de gebruiker deze nodig heeft of niet.

### Ebuilds

In tegenstelling tot de meeste Linuxdistributies maakt Gentoo Linux geen gebruik van voorgecompileerde pakketten maar van scriptbestanden genaamd ebuilds. Deze bevatten metadata over het pakket (zoals afhankelijkheden, omschrijving en versie-informatie) alsook de instructies om de software te compileren.
Elk ebuild-script omschrijft een specifiek softwarepakket. Aangezien er meer dan 22.000 ebuilds door Gentoo ondersteund worden, zal het dan ook niet verbazen dat Gentoo kan bogen op een zeer uitgebreid arsenaal van beschikbare software. Dagelijks worden er ebuilds aangepast of toegevoegd. Telkens als de eindgebruiker software wenst te installeren kan ervoor gekozen worden eerst alle recente ebuilds te downloaden. Dit laat toe dat Portage ook direct kan opmerken wanneer er veiligheidsupdates beschikbaar zijn naast de algemene updates. In tegenstelling tot Microsoft Windows worden hierbij alle softwaretitels in aanmerking genomen en niet enkel die welke specifiek voor Gentoo ontwikkeld werden. Het onderhouden van een Gentoo-installatie is dan ook zeer eenvoudig.

### Ontwikkeling

Aangezien Gentoo een vrijesoftware-ontwikkelingsmodel volgt is alles beschikbaar voor de eindgebruiker. Om kwaliteitsgerichte software aan te kunnen bieden maakt Gentoo gebruik van specifieke stadia waarin een ebuild zich kan bevinden.
Het standaard stadium wordt arch genoemd (bijvoorbeeld x86, in het geval van de meest algemene architectuur). Een ebuild in dit stadium wordt als stabiel omschreven en werd gedurende een bepaalde periode grondig getest.
Het tweede stadium is ~arch. Ebuilds die in dit stadium vertoeven zijn volledig functionerend volgens de hoofdontwikkelaar van de ebuild, maar vereisen nog grondige tests door vrijwilligers en andere ontwikkelaars alvorens ze naar het arch-stadium worden gepromoveerd.
Een derde stadium is masked. Een ebuild die gemaskeerd is is ofwel in volle ontwikkeling (en dus zeker als onstabiel te beschouwen), ofwel bevat ze veiligheidsproblemen. Het wordt ten zeerste afgeraden gemaskeerde pakketten te installeren zonder enige kennis van de software of de reden van maskeren.
Een vierde stadium is -arch. Wanneer een ebuild zich in dit stadium bevindt is het bekend dat de software niet werkt op de architectuur arch. Bijvoorbeeld, OpenOffice.org bevindt zich in stadium -mips omdat de software niet werkt op de MIPS-architectuur.

## Trivia
### Initialisatie

Gentoo heeft een eigen initialisatiesysteem voor de verschillende diensten die opgestart worden bij het opstarten van het systeem. In tegenstelling tot de meer bekendere System V en BSD init-systemen gebruikt Gentoo een dynamisch init-systeem met kennis van afhankelijkheden. Tevens hebben in Gentoo de initialisatieniveaus namen, terwijl nummers in de Linux-wereld gebruikelijk zijn. Deze namen zouden het comfort voor de eindgebruiker moeten verhogen.

### Logo

Het officiële logo van Gentoo is een gestileerde kleine letter "g". Officieuze logo's en mascottes zijn onder andere Larry de koe en Znurt het vliegende schoteltje.

### Documentatie

Gentoo heeft een uitgebreide verzameling documentatie, waarbij rekening wordt gehouden met zowel de beginnende, als de vergevorderde gebruiker.

## Versiegeschiedenis

* 1.0, 31 maart 2002
* 1.2, juni 2002
* 1.4, 5 augustus 2003 (met de introductie van binaire pakketondersteuning)
* 1.4-r1, 11 september 2003
* 2004.0, 1 maart 2004
* 2004.1, 28 april 2004
* 2004.2, 26 juli 2004
* 2004.3, 15 november 2004
* 2005.0, 27 maart 2005
* 2005.1, 8 augustus 2005
* 2005.1-r1, 21 november 2005
* 2006.0, 27 februari 2006
* 2006.1, 30 augustus 2006
* 2007.0, 7 mei 2007
* 2008.0, 6 juli 2008
* 2008.0-r1, 8 juli 2008
* 11, 9 maart 2011
* 12.1, 1 april 2012
* 20121221 - 21 december 2012
Benadrukt dient te worden dat deze versies enkel van toepassing zijn op de installatiemedia (de cd's waarmee Gentoo Linux geïnstalleerd kan worden). Als Gentoo Linux eenmaal geïnstalleerd is, zijn er geen versies meer: het systeem wordt door eenvoudige updates blijvend onderhouden onafhankelijk van zijn voorgeschiedenis. Hierdoor is Gentoo een zogenaamde metadistributie.