Gentoo Linux (uttal:[ˈdʒɛntuː][2]) är ettoperativsystem och enLinuxdistribution som är mest känd för sina konfigurationsmöjligheter, sin prestanda och aktiva community. Gentoo Linux kallas ofta för enmetadistribution till följd av flexibiliteten sompakethanterarenPortage erbjuder då den även fungerar på andra distributioner.[3]Portage ger normalt inte användaren tillgång till förkompilerade binärer, utan i stället direkt tillgång till källkod då denna finns att tillgå. Det finns undantag för vissa stora paket somMozilla Firefox ochLibreOffice, som även finns förkompilerade, eftersom kompilering av dessa skulle vara för tids- och lagringsutrymmeskrävande för vissa användare. Installationen för senare versioner går endast att utföra genomkommandotolken eftersom utvecklingen av dengrafiska installationen har lagts ner.[4]
Distributionen har fått sitt namn efter det engelska namnet förÅsnepingvin (Gentoo), vilken är den snabbaste pingvinen i vatten. Detta skall reflektera den potentiella prestandavinst som maskinspecifik optimering kan ge i Gentoo Linux.
Gentoo skapades från början somEnoch Linux avDaniel Robbins, vars mål var att kunna distribuerakällkod istället för färdigkompilerade binärer som ej var anpassade tillhårdvaran.[5] På grund av hårdvaruproblem stannade utvecklingen av det som senare skulle bli Gentoo Linux. Under tiden gick Robbins över tillFreeBSD för att komma undan problemen.[6] Det tog honom några månader att komma tillbaka tillLinux och lite senare återupptogs utvecklingen av Gentoo Linux tillsammans medAchim Gottinger. Med nya erfarenheter från FreeBSD började utvecklingen avPortage, nästa generations pakethanterare baserad påFreeBSD ports.[7]
Imars månad2002 släpptes den första versionen av Gentoo Linux, nämligen 1.0.[8]
Ett av Gentoos viktigaste element är pakethanteringssystemetPortage.[7] För att installera ettprogram använder man sig av verktygetemerge som är en stor del av Portage. Det använder sig, till skillnad frånMake-filer, avebuilds som beskriver funktioner för attladda nedkällkod, konfigurera,kompilera och installera för att slutföra en installation av ett specifikt paket. Kompileringen av källkoden utförs baserat på deoptimeringar man har angett i/etc/portage/make.conf.[11]
Gentoosinit-system är en viktig funktion. Den liknar detSystem V-init-system som de flesta Linuxdistributioner använder, men utnyttjar beroendebaserade skript och namngivnaRunlevel istället för numrerade diton. Det inkluderar även ett kommando kallatrc-update, vilket hanterar systemets olika runlevels.
Uppstartsskript i Gentoo använderrunscript-tolken, istället för det traditionella skalet.[12]
Ursprungligen var Gentoos rc-system helt skrivet iBash och utgjorde en del av baselayout-paketet, som innehöll den grundläggande filsystemsstrukturen och nödvändiga filer för systemet. Detta ledde dock till flera tillkortakommanden. Vissa systemanrop var tvungna att vara tillgängliga under boot-sekvensen och krävde att C-baserade anrop lades till. Dessa anrop var statiskt länkade och medförde att rc-systemet svällde med tiden. I och med att Gentoo expanderade till andra plattformar såsomGentoo/FreeBSD och Gentoo Embedded blev kravet på det relativt tunga Bash-skalet till rc-systemet icke önskvärt och i vissa fall till och med ett omöjligt krav.
Detta ledde till utvecklingen av baselayout 2, som var skriven i C och endast krävde ettPOSIX-kompatibelt skal. Under utvecklingen av detta bestämdes det att det var bättre att baselayout endast bistod med basfiler och filsystemslayouten till Gentoo och att rc-systemet bröts ut till ett fristående projekt,OpenRC.[13]
Gentoo kan installeras på flera olika sätt. Det vanligaste är att använda en så kallad Gentoo minimal CD med en stage 3tarboll. Som med många Linuxdistributioner kan Gentoo installeras från nästan vilken Linuxmiljö som helst, exempelvis från en LiveCD från en annan linuxdistribution. En normal installation kräver Internettillgång, men det finns även möjlighet att installera systemet utan tillgång till Internet.
Tidigare stödde Gentoo installation från stage 1 och stage 2 tarbollar. Detta är inte längre rekommenderat av Gentoo Foundation och är numera endast avsett för Gentoo-utvecklare.[14]
Efter de initiala stegen av installationsprocessen beskriver Gentoo Handbook hur en ny Linuxkärna kompileras. Denna process krävs normalt inte av andra Linuxdistributioner. Även om processen är vitt ansedd att vara en komplicerad uppgift,[15] så finns dokumentation och verktyg såsomGenkernel för att förenkla processen och göra den lättare för nya användare.[16] Dessutom kan användare använda en redan existerande kärna som fungerar med deras system genom att kopiera denna till boot-katalogen och sedan uppdatera dess bootloader. Stöd vid installation kan fås på Gentoo forum och påIRC.
Från och med version 2004.0 så finns ett verktyg tillgängligt för Gentoo kallat Catalyst. Detta kan användas för att bygga alla Gentooutgåvor och kan bygga specialanpassade installationsmedia. Sommaren 2008 släppte Gentoos grundare, Daniel Robbins, ett nytt verktyg kallat Metro. Metro kan användas för att bygga utgåvor avFuntoo Linux, en variant av Gentoo Linux som utvecklas och underhålls av Robbins.
Att installera Gentoo Linux via ett grafiskt gränssnitt (Gentoo Linux Installer project eller GLI) släpptes med utgåva 2006.0, men projektet fick inte tillräckligt utvecklingsstöd och stöds inte längre (sedan 2008.0).