Gentoo

A Gentoo Linux (kiejtés /ˈdʒɛntuː/ dzsen-tú) egy Linux-disztribúció. A tervezésénél fő szempont volt a modularitás, hordozhatóság és az optimalizálhatóság a felhasználó gépének megfelelően.  Ezt úgy éri el, hogy az összes program alapvetően forrásból telepíthető a felhasználó által megadott optimalizálási paraméterekkel. A nagyobb programcsomagok rendelkezésre állnak előre lefordított, bináris formátumban is különböző architektúrákra. A Gentoo mindezt a Portage csomagkezelési rendszer használatával éri el.

A Gentoo Linux a hosszú farkú szamárpingvin (Pygoscelis papua) angol megfelelőjéről kapta a nevét a gyorsaságuk és alkalmazkodóképességük miatt. A szamárpingvin akár 36 km/h-s sebességgel is képes úszni és kiválóan alkalmazkodik a legzordabb időjáráshoz is.

A Gentoo forrásalapúsága és nagyfokú rugalmassága miatt kiválóan alkalmas forkolásra, saját disztribució kiadására, hisz könnyen saját igényre szabható a rendszer. Köztük, olyan nem kis cégek is vannak, mint pl. a Google a Chromium OS disztribúciójával.

Történelmi áttekintés 
Az első Gentoo Linuxot, még Enoch Linux néven Daniel Robbins alkotta meg. A cél egy binárisok nélküli disztribúció készítése volt, mely lehetővé teszi a hardverekre való optimalizálást a legszükségesebb programok használatával. Az Enoch disztribúciót 1999 decemberében adták ki 0.75-ös verziószám alatt.

Daniel Robbins és társai kifejlesztettek egy GCC klónt EGCS néven és ezen a ponton átkeresztelték a disztribúciót Gentoora. A változtatások olyan sikeresek voltak, hogy később hivatalosan is a GCC (v2.95) részévé váltak.

Ahogy az Enoch egyre finomodott, átnevezték Gentoo Linuxnak, noha párhuzamosan kiadtak még néhány Enoch verziót. Az első stabil verzió, a Gentoo Linux 1.0 2002 március 31 jelent meg. Robbins ez idő tájt még egy 450 MHz-es órajelre tuningolt Celeron 300-ason futtatta a Linuxait, de vett egy újabb gépet, amin nem működött megfelelően a rendszer. Később realizálódott benne, hogy másoknak is ugyanilyen gondjai vannak, amit nem tud megoldani és - szégyenszemre, mint Linux fejlesztő - FreeBSD-re váltott, majd néhány hónap múlva a BSD-s tapasztalatokkal felvértezve újult erővel vágott bele a Gentoo fejlesztésébe.

Noha a 2.2-es Linux kernel kiadása csalódás volt számára, a javított 2.4-es szériával úgy érezte új világ nyílt meg előtte, szóval a Gentoo Linux feléledt hamvaiból. E kudarcnak és a BSD-nek hála ekkor vágott bele a Portage koncepcióba, ami a Gentoo disztribúciók nélkülözhetetlen alapkellékévé vált.

Robbins 2000. január 3-án Új Mexikói székhellyel bejegyezte a Gentoo Technologies, Inc. céget, majd miután a Gentoo az egyik legmeghatározóbb Linux disztribúcióvá vált, 2004. 05. 28-ai dátummal bejegyezte a non-profit Gentoo Alapítványt (Gentoo Foundation, Inc. néven) és levédette a jogokat. A Gentoo Alapítványnak ma az elnök mellett öt tagja van.

A nagyobb döntések meghozatalához létrehoztak egy Gentoo Tanácsot, melynek jelenleg hét tagja van, melyeket egy évre választanak és havonta, vagy, ha a tagok szerint szükséges többször üléseznek egy nyilvános meeting keretein belül.

Jellemzők 
A Gentoo főként azon Linux felhasználók tetszését nyerheti el, akik teljes kontroll alatt akarják tartani a gépüket. Ideális azok számára, akiknek van kedvük pepecselni azzal, hogy a lehető legjobban a saját hardverükre legyen optimalizálva a rendszer kezdve az architektúrától, a kernel modulokon át a felhasználó szintű szoftverekig.

Ennek az optimalizálhatóságnak köszönhetően a Gentoo kiváló asztali gépeknek éppúgy, mint szervereknek és régebbi gépeken is meglehetősen jól fut bizonyos keretek közt.

A Gentoo kiváló a tanulni vágyóknak is, programozóknak, adminisztrátoroknak, hisz a legalapvetőbb szinten kell a rendszert telepíteni, konfigurálni.

Portage 

A Portage a Gentoo szoftver disztribúció és csomagkezelő rendszere. Az eredeti koncepció a port rendszer volt, melyet Berkeley Software Distribution (BSD) rendszerekhez fejlesztettek ki és amely nagyfokú rugalmasságot enged meg a telepítés során éppúgy, mint a szoftverek karbantartása területén. Erről a flexibilitásról a fordítási időben használható un. USE flagek gondoskodnak, melyek lehetővé teszik a függőségek kezelését, biztonságos telepítést (sandbox-on keresztül), a rendszer profilok használatát, vagy éppen a telepített fájlok felülírását, vagy megőrzését. A Portage rendszert Python nyelven programozták, ez a disztribúció „lelke”.

Jelen pillanatban közel 20 000 csomag található a hivatalos Portage rendszerben, de léteznek nem hivatalos kiterjesztések is (Gentoo Portage Overlays), sőt a rendszer azt is megengedi, hogy saját magunk is létrehozzunk egyet a Layman repo menedzselő eszköz jóvoltából.

Noha a Gentoot nem bináris disztribúciónak tervezték, a Portage rendszer lehetővé teszi a bináris csomagok telepítését is, abban az esetben, ha azok a túl nagyok, vagy épp nem érhetők el forrásban.

Hordozhatóság 
A Gentoo és a Portage rendszer lehetővé teszi, hogy telepítés közben  forrásból natív kódot állítsunk elő az adott architektúrára. Így noha a fordítás jelentős időt és erőforrást emészt fel, lehetővé válik a hordozhatóság, virtuális gép futtatása nélkül is.

Eredetileg a Gentoot x86-os architektúrára tervezték, de jelenleg az alpha, amd64, arm, arm64, hppa, ia64, ppc, ppc64, risc, sparc, x86 architektúrákat támogatja.

Az architektúra kiválasztását, valamint a fordító paraméterezéseit a /etc/portage/make.conf fájlban lehet megtenni, pl., ha Sandy Bridge chipünk van, akkor következőképpen: CHOST="x86_64-pc-linux-gnu"
CFLAGS="-march=sandybridge -O2 -pipe"
CXXFLAGS="${CFLAGS}"A CPU család és modell meghatározásában segíthet /proc/cpuinfo tartalma, amit a következő módon nézhetünk meg:user# grep -m1 -A3 "vendor_id" /proc/cpuinfoA biztonságos Gentoo C flagek használatáról itt olvashatsz, további információk pedig GCC dokumentációjában.

Modularitás, optimalizáció 

A Gentoo a forrás alapúságának és a Portage rendszernek köszönhetően nem csak csomagokat képes kezelni, hanem a csomagokon belül is tud optimalizálni.

Íme néhány szempont, ami miatt a Portage modulárisnak tekinthető:
 profilok (BSD, Linux és az architektúrák stb.) választhatósága
 a Portage rendszerben a csomagok kategória, valamint azon belüli csomagnév szerint érhetőek el.
 vannak olyan csomagok, melyek összessége "meta-csomagok" is elérhetőek
 egyes megkülönböztetett, dinamikus csomaghalmazok az emerge parancs előre definiált paramétereként is elérhetőek
 USE flagek (csomagokon belüli modulok pl. USB, nyelvi modulok stb.)
Pár érv, mely bizonyítja, hogy a Gentoo a legmélyebben optimalizálható rendszerek körébe tartozik:
 make paraméterek választhatósága
 több architektúra (x86, amd64) támogatásának konfigurálhatósága (akár csomagonként)
 a már szemléltetett architektúra választhatóság, C flagek használata
 USE flagek (SSE, MMX, több szálas támogatás stb.)
 verziókezelés (rugalmas maszkolhatóság, csomagonként, architektúránként)
 maszkolás licencek alapján
 külső (akár saját) csomagok integrálhatósága

Telepítés és konfigurálás 
A Gentoo-t többféleképpen lehet telepíteni. A leggyakoribb módja a gentoo telepítésének a Minimális Telepítő CD, vagy Hibrid ISO használata, de más LiveCD, LiveUSB, vagy akármilyen másik Linux segítségével, de akár hálózatról is telepíthető.

A koncepció lényege az, hogy egy működő rendszer segítségével elő lehet készíteni a telepítést (particionálás, formázás stb.), majd a felmásolt alap – magát már fejleszteni képes – Gentoo rendszer (un. stage) számára át lehet adni a környezeti paramétereket és a vezérlést, úgynevezett chroot környezet használatával.

További információ a Gentoo kézikönyvben található.

Stage-ek 
A stage-ek (állapotok) tömörített formában érhetőek el. 2005 októbere után az első két stage hivatalosan már nem támogatott, mivel folyamatos körkörös hibákat okozott és a teljes rendszer újrafordításával ugyanúgy elérhető a megfelelően optimalizált állapot a stage 3 esetében is.
Stage 1: újrafordítás és konfigurálás az alap toolchaintől kezdve.
Stage 2: a toolchain félkész állapotban van, de még egyes elemek fordítást igényelnek.
Stage 3: a rendszer már indításra kész, s az alaprendszer is le van fordítva. Csak a kernelt kell fordítani, illetve igény szerint speciális eszközöket (boot loader, cron és syslog démon). Adott esetben konfigurációs fájlok szerkesztése.
Stage 4: teljes Gentoo környezetet tartalmazó bootolható rendszer. Kiválóan alkalmas backupok számára, vagy olyan helyeken, ahol problémás a chrootolás.
A processzor architektúráknak és a rendszer elsődleges céljának megfelelően több stage 3 és stage 4 tölthető le, ilyenek pl. a minimal, multilib, cloud, hardened verziók.

Kernelek 

A kernel (rendszermag), mint általában minden csomag, szintén forrásban érkezik a Gentooba. Mint a legtöbb Linux disztribúció a Gentoo is kínál egy előre konfigurált kernelt, de szabad kezet ad a konfigurálásban is, ugyanakkor annyit segít, hogy számos patch settel elérhető a hivatalos Linux kernel.

Néhány kernel a teljesség igénye nélkül:
 genkernel: előre konfigurált kernel azok számára, akik nem értenek hozzá, vagy nem akarnak a konfigurálással foglalkozni.
 gentoo-sources: ajánlott rendszermag, ami több a Gentoo által alkalmazott foltot tartalmaz.
hardened-sources: szerverek számára ajánlott Gentoo kernel.
vanilla-sources: a hivatalos kernel fa.
git-sources: a hivatalos kernel fa napi frissítése, ami leginkább fejlesztőknek, tesztelőknek ajánlott.
ck-sources: Con Kolivas kernel patch setje, a maximális interaktivitás és reagálási képesség elérése céljából.

Rendszerbetöltő 
Miután a kernel telepítve lett, egy boot loadert (rendszerbetöltőt) kell még feltennünk, hogy a rendszert külső indítóeszköz nélkül tudjuk elindítani. Ez a rendszerbetöltő telepíthető a MBR-ba, egy adott partícióra, vagy egy másik eszközre és általában alkalmas több rendszer indítására (másik Linux, Windows stb.) egy menü segítségével. Ilyen rendszerbetöltők pl. a Grub, vagy a Lilo.

Szolgáltatások 
Ahhoz, hogy egy rendszer a mindennapi használatra alkalmas legyen szükség van szolgáltatások (fájlrendszerek csatolása, naplózás, hálózatkezelés, grafikus környezet stb.) elindítására. Ezeket végzik az init (indító rendszerek).

A Gentoo több lehetőséget kínál fel, használható az alapértelmezett OpenRC, de választható pl. a legtöbb Linux disztribúció által támogatott systemd is.

Az alapértelmezett OpenRC nem rugaszkodik el sem az eredeti unixos filozófiától (KISS), sem az init rendszerek eredeti céljától, ugyanakkor a mai igényeknek megfelelően rugalmas is, így egy modern, de Unix közeli operációs rendszer számára ideális. A Gentoo init szkriptjei 100%-osan kompatibilisek az OpenRC-vel, sőt a Gentoo külön OpenRC kompatibilis szolgáltatásokat tart karban pl. eudev (ami a ma már sysemd-be integrált udev alternatívája).

Gentoo kiadások 
A Gentoo ma verzió nélküli un. rolling kiadású disztribúció, ami a gyakorlatban azt jelenti, hogy ha az emerge parancs (emerge --syncután az emerge --update) lefut, akkor a rendszer friss az előző verziótól függetlenül. Habár a Gentoonak is van egy verziószámot mutató fájlja (/etc/gentoo-release), az azonban "Gentoo Base System release" néven a sys-apps/baselayout verzióját tartalmazza.

Gentoo alapú disztribúciók 
Rengeteg Gentoo alapú (vagy Gentoo repót használó) disztribúció (vagy egyéni projekt) létezik. A teljesség igénye nélkül az alábbi lista a 2021. 05. 01-ei állapotot tükrözi.

Az elmúlt évben aktív disztribúciók

Egy évnél régebben aktív, vagy inaktív disztribúciók 
3viltoo, AnikOS, Argent Linux, BinToo GNU/Linux, BOO Linux, Clumix, Dalai Lama GNU/Linux, Echse Recovery Cd, eHorizon, enVision Linux, Flash Linux, Fireball ISO, GaryOS, Genesis, Gentoo4Raspi, GentooCNC, Gentoo Studio, GentooTH Live CD/USB Linux, Gentoox, GuARD, iBox, Jollix, Knopperdisk, Liberté Linux, Litrix, Mac-TV, Mayix LiveCD, Mediabox, Minimax livecd, OpenNAO,  PapugLinux, Phaeronix, PixieLive , PrometheOS, redWall Firewall CD, Securix, Shark Linux, Spike Linux, TinHat, Toorox, TsGoo, Ututo, Vidalinux, Vinque GNU/Linux, Virtualtoo, WiiToo!, Zentoo Linux, ZerahStar Zesktop

Népszerűség 
A Gentoo a DistroWatch.com-on nagyon hamar népszerű lett és a legjobb eredményét napi 326 találattal 2002-ben a 3. helyen érte el, amíg a legrosszabb helyezése a 45. volt 285 találattal 2015-ben.

Noha, rolling disztribúció révén nyilvánvalóan nem a DistroWatchról való letöltögetéssel fogják elérni a friss állapotot, a Gentoo LiveDVD állapotát jól tükrözheti ez a statisztika.

A Gentoo népszerűségét az is mutatja, hogy (2011-ben) csak a gentoo.org rsync szervereit több, mint 20 000 alkalommal érték el naponta. Ebben természetesen nincsenek benne a nem hivatalos, nem regisztrált és a helyi Gentoo szerverek sem.

A phoronix  2017. júniusában végzett házi felmérése szerint, 3,9%-kal a Gentoo a 7. legnépszerűbb Linux disztribúció laptopon.

Az időközben bezárt LinuxCounter.net listáján - a valamivel több, mint 160 ezer regisztrált gép között - a 6. helyen állt a Gentoo. A becslések szerint nagyjából a Linux felhasználók 0,7%-a (600 ezer) regisztrálta itt magát.

A Lifewire technológiai oldal 2019 februárjában a Gentoo Linuxot negyedik helyen megemlítve minden idők 9 legjobb disztrója közé sorolta, a DistroWatch.com adatai alapján "Bukott Sztár"-ként aposztrofálva.

A Gentoo népszerűségét tovább növeli, hogy a forrásalapúsága miatt - noha használható „késztermékként” - egy könnyű közbenső állapotot jelenthet a többi fork, disztribúció számára, hisz könnyen saját igényre szabható a rendszer. Köztük, olyan nem kis cégek is vannak, mint pl. a Google a Chromium OS disztribúciójával, melyet 2010 májusáig több, mint 1 millióan töltöttek le.

További érdekesség, hogy Greg Kroah-Hartman - a Linux Kernel stabil ágának karbantartója - a verzió nélküli jelleg miatt szintén futtat Gentoot.

Larry, az április bolondja

Larry, a tehén 
Larry, a tehén a Gentoo nem hivatalos kabalafigurája. Larry, a tehén az ősfelhasználó, ő "a példa", ő "a troll":Ő maga "az Isten":Ugyanakkor szegény Larryt gyakran kritikák is érik megmagyarázhatatlan státusza miatt:Ám hiába okozott feloldhatatlan frusztrációt egyeseknek, hogy egy „pingvin Linuxnak” egy „tehén fiú” az ősfelhasználója, 2004-ben testet is öltött.

A maja világvége 
Nem Larry az egyetlen vicces dolog a Gentoo körül, hisz a 2012-ben aktuális „maja világvégére” még utoljára kiadtak egy világvége verziót.

Múltidézés 
A világvége után érthető 2015 április elsejére a Gentoo már olyan retró lett, hogy még a weboldala is CGA optimalizálttá vált.

Azért, hogy a Gentoo még különlegesebb legyen a weboldalukat a CGA Web szabványnak megfelelően 16 színűvé tették és 640x200-as felbontásra optimalizálva. Ugyanakkor a Gentooról készült képernyőképeket gyakorlatban pusztán a kontraszt megnövelésével tették ódon hangulatúvá.

Azt is írták, hogy az új oldal ezentúl elérhetővé válik Gopher protokollal a Gopher://gopher.gentoo.org/ cím alatt. 

Mindezt a Gentoo célközönsége miatt kellett megtenni, akik még IBM XT hardvert használnak és 5,25”-os floppykon tartják az adataikat, miközben betárcsázásos modemmel kommunikálnak.

Természetesen az 5,25"-os floppykkal sikerült 700 alá lenyomni a Gentoo lemezek számát.

Galéria

Források

További információk 
 A Gentoo weboldala 
 A Gentoo Linux a DistroWatch.com-on 
 Twitter oldal 
 Facebook oldal 

Linux-disztribúciók