Gentoo Linux (uttal: [ˈdʒɛntuː][2]) är ett operativsystem och en Linuxdistribution som är mest känd för sina konfigurationsmöjligheter, sin prestanda och aktiva community. Gentoo Linux kallas ofta för en metadistribution till följd av flexibiliteten som pakethanteraren Portage 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 som Mozilla Firefox och LibreOffice, 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 genom kommandotolken eftersom utvecklingen av den grafiska installationen har lagts ner.[4]

Gentoo Linux
En skärmdump från Gentoo Linux 12.0
Företag / utvecklareAllmänheten
OS-familjGNU/Linux
ArbetsstatusPågående
KällkodÖppen källkod
LicensGPL / Creative Commons[1]
KärntypLinux
Webbplatswww.gentoo.org

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.

Historia redigera

Gentoo skapades från början som Enoch Linux av Daniel Robbins, vars mål var att kunna distribuera källkod istället för färdigkompilerade binärer som ej var anpassade till hårdvaran.[5] På grund av hårdvaruproblem stannade utvecklingen av det som senare skulle bli Gentoo Linux. Under tiden gick Robbins över till FreeBSD för att komma undan problemen.[6] Det tog honom några månader att komma tillbaka till Linux och lite senare återupptogs utvecklingen av Gentoo Linux tillsammans med Achim Gottinger. Med nya erfarenheter från FreeBSD började utvecklingen av Portage, nästa generations pakethanterare baserad på FreeBSD ports.[7]

I mars månad 2002 släpptes den första versionen av Gentoo Linux, nämligen 1.0.[8]

Portabilitet redigera

Även om Gentoo från början var planerad för x86-arkitekturen, finns den nu porterad till många andra arkitekturer så som x86-64, IA-64, DEC Alpha, HPPA, ARM, MIPS, PowerPC, PowerPC 970 och SPARC.[9] Portabilitet utvecklas även till operativsystem som baseras på BSD genom projektet Gentoo/Alt.[10]

Portage redigera

Huvudartikel: Portage

Ett av Gentoos viktigaste element är pakethanteringssystemet Portage.[7] För att installera ett program använder man sig av verktyget emerge som är en stor del av Portage. Det använder sig, till skillnad från Make-filer, av ebuilds som beskriver funktioner för att ladda ned källkod, konfigurera, kompilera och installera för att slutföra en installation av ett specifikt paket. Kompileringen av källkoden utförs baserat på de optimeringar man har angett i /etc/portage/make.conf.[11]

Init-system redigera

Gentoos init-system är en viktig funktion. Den liknar det System V-init-system som de flesta Linuxdistributioner använder, men utnyttjar beroendebaserade skript och namngivna Runlevel istället för numrerade diton. Det inkluderar även ett kommando kallat rc-update, vilket hanterar systemets olika runlevels.

Uppstartsskript i Gentoo använder runscript-tolken, istället för det traditionella skalet.[12]

Ursprungligen var Gentoos rc-system helt skrivet i Bash 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åsom Gentoo/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 ett POSIX-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]

Installation redigera

Gentoo kan installeras på flera olika sätt. Det vanligaste är att använda en så kallad Gentoo minimal CD med en stage 3 tarboll. 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åsom Genkernel 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.

Catalyst redigera

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 av Funtoo Linux, en variant av Gentoo Linux som utvecklas och underhålls av Robbins.

Live USB redigera

En Live USB-version av Gentoo Linux kan skapas manuellt eller med verktyget UNetbootin.[17]

Installation med grafiskt gränssnitt redigera

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).

Referenser redigera

  1. ^ Gentoo Linux: Social Contract (läst 2009-02-01)
  2. ^ ”Gentoo Linux Frequently Asked Questions”. http://www.gentoo.org/doc/en/faq.xml#pronunciation. Läst 27 april 2013. 
  3. ^ Gentoo Linux: About Gentoo (läst 2009-02-01)
  4. ^ Gentoo Linux Installer: GLI Officially Deprecated Arkiverad 21 februari 2009 hämtat från the Wayback Machine. (läst 2009-02-01)
  5. ^ Gentoo Linux Documentation: Making the distribution, Part 1 Arkiverad 14 februari 2009 hämtat från the Wayback Machine.
  6. ^ Gentoo Linux Documentation: Making the distribution, Part 2 Arkiverad 23 februari 2009 hämtat från the Wayback Machine.
  7. ^ [a b] Gentoo Linux Documentation: Making the distribution, Part 3 Arkiverad 22 december 2014 hämtat från the Wayback Machine.
  8. ^ Slashdot: Gentoo 1.0 Released (läst 2009-02-01)
  9. ^ Gentoo Base System (läst 2009-02-01)
  10. ^ Gentoo Linux Project: Gentoo/*BSD Arkiverad 28 december 2007 hämtat från the Wayback Machine. (läst 2009-02-01)
  11. ^ Gentoo Handbook: A Portage Introduction (läst 2009-02-01)
  12. ^ Gentoo Handbook
  13. ^ ”Gentoo Linux Newsletter – 16 april 2007”. Gentoo.org. Arkiverad från originalet den 23 december 2010. https://web.archive.org/web/20101223034051/http://www.gentoo.org/news/en/gwn/20070416-newsletter.xml. Läst 28 januari 2010. 
  14. ^ ”How do I Install Gentoo Using a Stage1 or Stage2 Tarball?”. http://www.gentoo.org/doc/en/faq.xml#stage12. 
  15. ^ ”Compiling & Installing Linux 2.4”. Smartcomputing.com. 5 januari 2007. http://www.smartcomputing.com/Editorial/article.asp?article=articles/2001/s1204/48s04/48s04.asp&guid=. Läst 28 januari 2010. 
  16. ^ Gentoo Linux Documentation – Configuring the Kernel
  17. ^ ”UNetbootin – Universal Netboot Installer”. Unetbootin.sourceforge.net. http://unetbootin.sourceforge.net/. Läst 28 januari 2010. 

Externa länkar redigera