2015 m. sausio 24 d.

Gentoo Linux

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


Komentarų nėra:

Rašyti komentarą