Gentoo – dar viena savarankiška Linux distribucija, jos šaknys siekia 1999 metus, kuomet pirmą kartą buvo išleista Enoch Linux 0.75 distribucija. Vėliau „Enoch“ distribucija buvo pervadinta į „Gentoo“ („Gentoo“ yra greičiausiai plaukianti pingvinų rūšis), norint pabrėžti potencialų spartos prieaugį dėl programinės įrangos optimizavimo konkrečiai sistemai. Gentoo Linux 1.0 išleista 2002 metais ir nuo tada pradėta aktyviau plėtoti. Gentoo projekto pirminis tikslas buvo sukurti efektyviai sistemos resursus naudojančią distribuciją, atsisakant nebūtinos ir iš anksto sukompiliuotos programinės įrangos, tačiau
suteikiant įrankius programinės įrangos sukompiliavimui sistemos viduje iš išeities kodo, taip, pagal vartotojo parametrus ir aparatinę įrangą, programas optimizuojant konkrečiai sistemai. Visgi šiandien dalis programų, ypač didesnės apimties dėl ilgo kompiliavimo sąnaudų, pateikiamos ir iš anksto sukompiliuotos (įskaitant patentuotą programinę įrangą).
Gentoo Linux, panašiai kaip Arch Linux distribucija, yra orientuota
į Linux entuziastus ir įgudusius vartotojus, kuriems suteikiama minimali bazinė
struktūra, kurios pagrindu bus statoma sava Linux distribucija, atitinkanti
individualius vartotojo poreikius. Dėl savo neriboto lankstumo Gentoo dažnai
vadinama meta-distribucija*: ji gali būti serveris, darbo/laisvalaikio/žaidimų kompiuterio sistema ar
įterptinių sistemų sprendimas – viskas priklauso nuo vartotojo norų. Tačiau
skirtingai nuo Arch, kuri pateikia savo programinę įrangą iš anksto sukompiliuotą, Gentoo tikslas sukompiliuoti programinę įrangą konkrečios sistemos viduje, siekiant maksimalios jos spartos (optimizacija).
* Terminas meta-distribucija vartojamas beveik neribotai pritaikomoms distribucijoms, kurios leidžia sukurti individualias sistemas pagal vartotojo specifikacijas.
Panašiai kaip Arch Linux, Gentoo
neturi numatytosios grafinės darbalaukio aplinkos. Kita vertus, būtų galima
pasakyti, jog visos darbalaukio aplinkos yra Gentoo numatytosios, nes
oficialiai palaiko platų pasirinkimo spektrą ir įgalina vartotoją naudoti bet
kurią: Awesome, Enlightenment, Fluxbox,
GNOME, KDE, LXDE-Meta, Openbox, XBMC ir
Xfce. Apskritai Gentoo Linux neturi savos standartinės išvaizdos ir pojūčių
atmosferos (look-and-feel), visą
programinę įrangą stengiamasi pateikti tokią, kokią jos autoriai ir numatė.
Gentoo projekto plėtotojai nemodifikuoja ir netaiso programinės įrangos
išeities kodo, jei tai nėra būtina Gentoo Linux sistemos architektūrai ir
vientisumui išlaikyti.
Gentoo Linux 2012-08-17 su GNOME darbalaukio aplinka |
Pagrindinė ypatybė, išskirianti Gentoo iš kitų Linux distribucijų, yra vadinamoji Ports tipo galinga paketų tvarkymo sistema Portage*, ji dirba su kelių tipų paketais, kurių plėtiniai .ebuild** ir .tbz2***. Pirmasis tipas (ebuild) yra pagrindinis ir numatytasis Gentoo sistemoje, naudojamas programinei įrangai diegti iš išeities kodo ją adaptuojant ir optimizuojant konkrečiai sistemai, siekiant didžiausio efektyvumo. Antrasis formatas (tbz2) talpina iš anksto sukompiliuotų programų failus su bendraisiais nustatymais ir be maksimalios optimizacijos konkrečiai sistemai. Būtent Portage lankstumas leidžia Gentoo vadinti meta-distribucija. Ji lėmė staigų jos išpopuliarėjimą 2002 metais ir daro ją savarankiška-nepriklausoma Linux distribucija.
* Portage paketų tvarkyklės koncepcijos idėja pasiskolinta iš Unix operacinės sistemos FreeBSD paketų tvarkyklės, vadinamos Ports. Panašiomis funkcijomis gali pasigirti ir Arch Linux distribucijos ABS sistema, visgi Portage sistema yra pažangesnė.
** Bash komandų aplinkos scenarijus (script), automatizuojantis programinės įrangos išeities kodo kompiliavimo ir diegimo procedūras Gentoo sistemoje.
*** Gentoo Linux sistemai skirti iš anksto sukompiliuotų programų tar archyvai (tarballs).
Portage sistemos pagrindą sudaro ebuild sistema ir emerge
įrankis, kaip visuma Portage paketų tvarkyklė yra Gentoo Linux sistemos šerdis ir atlieka keletą pagrindinių funkcijų:
- Platina programinę įrangą Gentoo projektui – su emerge įrankiu, parašius vieną komandą (emerge --sync), galima sinchronizuoti sistemos vietinį Portage medį (Portage tree) su interneto saugyklomis (repositories). Šitaip atsisiunčiant vėliausius .ebuild failus į savo sistemą, iš kurių galima sukurti ir įdiegti naujausius Gentoo programinės įrangos paketus.
- Yra paketų kūrimo ir diegimo sistema – užtenka vos vienos komandos, norint įdiegti konkretų paketą (emerge paketas), Portage automatiškai parsiunčia ir sukompiliuoja programą konkrečiai sistemai pagal jos individualius nustatymus ir naudojamą aparatinę įrangą (optimizuoja programinę įrangą konkrečiai sistemai) bei ją įdiegia.
- Palaiko naujausią sistemos versiją – kaip ir Arch Linux, Gentoo yra tęstinio leidimo (rolling-release) distribucija, todėl su viena komanda (emerge -uD world) galima automatiškai atnaujinti visą sistemos programinę įrangą į vėliausią versiją (apie tai plačiau vėliau).
Taigi, Portage yra labai pažangi ir galinga paketų tvarkymo sistema.
Keletas apibendrintų jos savybių: sugeba automatiškai išspręsti programinės
įrangos priklausomybes nuo kitų paketų; leidžia adaptuoti diegiamai programinei
įrangai pavienius ir globalius nustatymus su vadinamosiomis vėliavėlėmis (USE flags); suteikia vietinę ebuild failų saugyklą ir geba ją
sinchronizuoti su interneto saugyklomis (repositories);
leidžia lygiagretų paketo versijų diegimą; su emerge komanda diegiami paketai pirmiausiai testuojami sistemos
virtualizacijoje (sandbox) ir tik
neaptikus klaidų įdiegiami į tikrąją sistemą.
Dar vienas Gentoo Linux paketų tvarkymo sistemos Portage privalumas – labai platus programinės įrangos paketų medis,
leidžiantis rinktis net iš +37000 ebuild
failų, skirtų programinės įrangos kompiliavimui sistemos viduje, ir +17000 iš
anksto sukompiliuotų programinės įrangos paketų.
Portage sistema paketus skirsto į
tris lygius: stabilius (stable),
testuojamus (keyword masked) ir
nestabilius (hard masked); vartotojas turi laisvę rinktis bet kurį lygį,
visoms ar tik pavienėms programoms. Paketus sistemoje galima tvarkyti iš
komandinės eilutės emerge įrankio
pagalba arba per grafinę vartotojo sąsają, kurią suteikia Porthole ir Himerge
programos.
Paketo diegimas emerge įrankio pagalba |
Gentoo distribucija pasižymi
nepriekaištinga dokumentacija, todėl net nepatyręs Linux vartotojas gali ją
gana nesunkiai įsidiegti į savo kompiuterį, teriekia prieš imantis darbo
perskaityti Gentoo vadovą (rekomenduojama bet kuriam naujam Gentoo Linux
vartotojui). Kadangi tai yra bendruomenės, savanorių plėtojamas projektas,
mokamos pagalbos ir palaikymo čia nerasite. Nepaisant to, Gentoo projektas
užtikrina kokybę ir operatyviai išleidžia saugumo bei kitų klaidų, įtakojančių
sistemos vientisumą, pataisas. Iškilusias problemas tenka spręsti pirmiausiai
pačiam, o nepavykus galima susisiekti su kitais, labiau patyrusiais Gentoo
Linux vartotojais per forumus, el. pašto diskusijas ar IRC pokalbių kambarius
(kaip ir visose savanorių varomose distribucijose).
Kita ypatybė dar kartą pabrėžianti Gentoo panašumą į Arch Linux sistemą ir išskirianti jas iš daugumos Linux
distribucijų – taikomas tęstinio leidimo (rolling-release)
vystymo modelis. Vadinasi, teoriškai naujausią Gentoo sistemos versiją galima
įdiegti iš bet kurio jos diegimo atvaizdo (installation
image), tereikia po įdiegimo įvykdyti pilną sistemos atnaujinimą emerge įrankio pagalba (su komanda emerge -uD world) ir sistema (jos visa
programinė įranga) automatiškai atnaujinama į vėliausią versiją iš programinės
įrangos saugyklų internete (repositories).
Praktiškai tai ne visada tiesa, nes retkarčiais visos sistemos atnaujinimas
reikalauja didesnio vartotojo įsikišimo dėl stambesnių Gentoo Linux bazinės
struktūros pakeitimų ar kitų nenumatytų klaidų. Kuo diegimo atvaizdas senesnis, tuo Gentoo
sistemos atnaujinimo procedūra į vėliausią jos versiją tampa sudėtingesnė. Kita
vertus, gana senas Gentoo Linux diegimo atvaizdas gali nepalaikyti ir
neatpažinti vėlesnės techninės įrangos. Patys Gentoo projekto išleidžiami
sistemos diegimo atvaizdai (installation
image) yra tiesiog naujausia bazinės Gentoo sistemos momentinė kopija (snapshot) su diegimo sistema. Iki 2008
metų diegimo atvaizdai buvo leidžiami labai nereguliariai, apie kelis
kartus per metus. Nuo 2008 m. sistemos diegimo atvaizdų kūrimas, t. y. vėliausios bazinės Gentoo
sistemos momentinio būvio kopijos (snapshot)
bei diegimo sistemos kūrimas buvo automatizuotas ir pradėtas leisti reguliariai
kas savaitę.
Prieš visos sistemos atnaujinimą rekomenduojama pasitikrinti kas ir kaip bus įrašoma su komanda emerge -puvD world |
Be reguliariųjų sistemos diegimo atvaizdų (installation images) Gentoo projektas išleidžia ir vadinamuosius Live
CD/DVD-ISO atvaizdus, kurie įgalina vartotoją išbandyti Gentoo Linux operacinę
sistemą jos neįdiegus į savo kompiuterį. Live atvaizdai numatyti su grafine darbalaukio aplinka (KDE, GNOME, Xfce, Fluxbox, LXQt) bei būtiniausiomis asmeninio
kompiuterio programomis. Kompiuterio kietajame diske esančių duomenų Live sistema neliečia ir neįrašo naujų, visi OS reikalingi duomenys įrašomi į operatyviąją atmintį. Šie atvaizdai automatiškai
paleidžia grafinę darbalaukio aplinką, todėl tai yra puikus būdas išbandyti Gentoo
Linux sistemą. Visgi jos pilnas diegimas į kompiuterį gali trukti nuo kelių valandų
iki dienų. Kita vertus, šių atvaizdų leidimas labai nepastovus – tarp paskutinių
LiveDVD versijų yra net dvejų metų intervalas.
Gentoo Linux 20140826 - LiveDVD su KDE darbalaukio aplinka |
Gentoo projektas plėtoja ir
naudoja kaip numatytąją OpenRC
inicijavimo sistemą (init system).
Tiesa, tai nėra pilnas tradicinės inicijavimo sistemos pakaitalas, o tik jos
papildymas (dažniausiai tradicinės SysVinit
inicijavimo sistemos), leidžiantis išplėsti funkciuonalumą iki modernios
inicijavimo sistemos ir yra naudojamas kaip analogija, kontraversiškai
vertinamai Systemd inicijavimo
sistemai. OpenRC pasižymi portatyvumu
– jos tikslas efektyviai veikti visose Unix tipo distribucijose kaip
inicijavimo sistema*, tuo tarpu Systemd pritaikyta tik
Linux distribucijoms. Keletas distribucijų tai vertina kaip didelį minusą, nes
yra plėtojamos ne tik darbui su Linux branduoliu (pvz., Debian ir Gentoo). OpenRC plėtojama laikantis Unix
filosofijos, kur svarbu paprastumas, primityvumas ir efektyvumas. Todėl OpenRC suteikia daugiau laisvės
vartotojui valdant savo sistemą, nei gana gremėzdiška Systemd inicijavimo sistema (init
system), išpūsta įvairiausiomis automatinėmis funkcijomis, kurių ne visoms
sistemoms reikia.
* OpenRC projekto įkūrėjas buvo/yra Unix NetBSD operacinės sistemos plėtotojas. Vėliau OpenRC inicijavimo sistemos (init system) plėtojimą perėmė Gentoo projektas.
Dar viena Gentoo Linux ypatybė – platus kompiuterinių sistemų architektūrų palaikymas. Tarp oficialiai Gentoo
projekto palaikomų ir vertinamų kaip stabilių architektūrų yra: x86, x86-64, IA-64, PA-RISC, PowerPC,
PowerPC 970, SPARC 64-bit ir DEC
Alpha procesoriai. Oficialiai palaikomos, bet pažymėtos kaip testuojamos
procesorių architektūros: MIPS, Cell,
System Z/s390, ARM ir SuperH.
Toks platus kompiuterių architektūrų palaikymas nesunkiai įmanomas dėl Gentoo
projekto pirminio tikslo – plėtoti savo distribucijos programinę įrangą ne iš
anksto sukompiliuotą paketuose, o automatizuoti jos išeities kodo kompiliavimo
procesą konkrečios sistemos viduje (siekiant maksimalios jos spartos toje
sistemoje). Tai įgyvendinti padeda Portage
paketų tvarkyklė su ebuild failais, kurie turi programų kompiliavimo
instrukcijas skirtingoms kompiuterių architektūroms.
Nuo pat pirmos stabilios Gentoo Linux 1.0 versijos išleidimo
Gentoo greitai tapo viena populiariausių distribucijų: 2002 ir 2003 metais, DistroWatch.com duomenimis, ji užėmė
atitinkamai 3 ir 4 vietas populiariausių distribucijų reitinguose. Tačiau 2006
metais nukrito į 10 vietą ir iki 2014 metų populiarumas išblėso iki 37
pozicijos populiariausių distribucijų sąraše.
Linux distribucijų apžvalgos turinys su nuorodomis pateiktas apačioje:
• Įvadas
- Debian GNU/Linux
- Ubuntu
- Linux Mint
- Slackware
- openSUSE
- SUSE Linux Enterprise (SLE)
- Fedora
- Red Hat Enterprise Linux (RHEL)
- CentOS
- Arch Linux
- Gentoo Linux
Komentarų nėra:
Rašyti komentarą