Gentoo

Från Unix.se, den fria unixresursen.

Gentoo är en distribution som fokuserar på användaranpassning och optimering.

Innehåll

Filosofi

Gentoo utvecklas av ett antal frivilliga programmerare över Internet. Upphovsrätten till koden innehas av den ideella organisationen Gentoo Foundation. Eftersom Gentoo drivs av en ideell organisation finns inget vinstbehov, och hela utvecklingsprocessen hålls öppen.

Portage

För huvudartikeln se portage

Hjärtat i Gentoo är dess pakethanteringssystem portage. Det har, som namnet antyder, hämtat mycket inspiration från BSD-varianternas ports-system. Portage är en pakethanterare som inte först och främst installerar program från färdiga paket utan snarare automatiskt laddar ner, kompilerar och installerar program. Det gör att man, om man så vill, kan bygga hela sitt system från grunden, med fördelar som total konfigurerbarhet och processoroptimering. Portage hanterar dessutom beroenden automatiskt, vilket innebär att alla icke tillfrädställda beroenden installeras innan ett specifikt program. Portage kan även installera färdigkompilerade paket.

Det s.k. portage-trädet, som är centralt i Gentoo, består av textfiler med den information som behövs för att ladda hem, packa upp, kompilera och installera ett program. Varje sådan textfil kallas för en ebuild.

Viktiga kataloger i Gentoo

  • /usr/portage/ - Den lokala kopian av portage-trädet. Alla ändringar här kommer att skrivas över vid nästa synkronisering mot det officiella trädet.
  • /var/db/pkg/ - Alla installerade ebuilds samt information om vilka kompileringsinställningar och USE-flaggor som användes vid installationen. Uppbyggd som en delmängd av portage-trädet.
  • /etc/init.d/ - Initskript för daemoner och nätverk.
  • /etc/conf.d/ - Inställningar för vissa daemoner.

Viktiga filer i Gentoo

  • /etc/make.conf - Inställningar för portage (kompileringsinställningar, USE-flaggor, features, etc).
  • /etc/rc.conf - Terminalinställningar (språk och typsnitt), förvald editor, val av displaymanager för X och inställningar för systemklockan (UTC eller lokal tid).
  • /usr/portage/profiles/use.desc - Lista och beskrivning av alla USE-flaggor.
  • /etc/portage/package.unmask - Om en ebuild blivit "maskad" (masked) av utvecklarna kan man inte installera den utan att lägga dess namn i denna fil.
  • /etc/conf.d/local.start - Kommandon som ska exekveras vid uppstart, t ex hdparm-kommandon.
  • /etc/conf.d/local.stop - Kommandon som ska exekveras vid avstängning.

Viktiga kommandon i Gentoo

Installera en ebuild (och eventuella andra ebuilds som den beror av):

# emerge ebuild

Sök efter ebuilds med ett visst namn:

# emerge -s sökterm

Se vilka beroenden en ebuild har, samt visar vad emerge skulle ha gjort vid # emerge ebuild:

# emerge -p ebuild

En annan variant på att se beroenden är:

# emerge -a ebuild

Se vilka möjliga useflaggor som finns att välja på och visar vad emerge skulle ha gjort:

# emerge -pv ebuild

Använda useflaggor:

# USE="something -another" emerge ebuild

Avinstallera en ebuild:

# emerge unmerge ebuild

Synkronisera det lokala portage-trädet med det officiella:

# emerge sync

Starta, stoppa och starta om en daemon $DAEMON (om den har ett initskript):

# /etc/init.d/$DAEMON start|stop|restart

Uppdatera alla dina paket till senaste versionen:

# emerge -u world

Uppdatera dina konfigurationsfiler (efter en emerge -u world):

# etc-update

Det finns ett par andra praktiska växlar man kan använda (som t.ex. -D i kombination med en emerge -u world), som man hittar i den eminenta manualsidan.

# man emerge

Vid en uppdatering eller vid en vanlig emerge bör man alltid köra # emerge -p ebuild för att kontrollera att man inte installerar något man inte vill. Och kontrollera om några ebuilds är maskerade eller om man behöver några andra växlar.

Automatiskt uppstart av tjänster

Med kommandot rc-update kan är det möjligt att ange vilka tjänster som ska starta då operativsystemet går in i en viss runlevel, t ex boot eller default. Initskriptet för tjänsten måste finnas i katalogen /etc/init.d/. För att t ex låta webbservern Apache (version 2.x) starta automatiskt på runleveln default, körs följande kommando som root:

rc-update add apache2 default

Vad rc-update då egentligen gör är att skapa en symbolisk länk till initskriptet /etc/init.d/apache2 i katalogen /etc/runlevels/default/, där Gentoos bootskript sedan läser av den.

Se även

Externa länkar

Personliga verktyg