четвртак, 25 априла, 2024
Ослобађање

У потрази за идеалном дистрибуцијом: Почетак

Аутор: Дејан Маглов

Овај серијал, који смо започели у прошлом броју часописа, замишљен је као серијал који кроз наша искуства помаже FLOSS почетницима да пронађу идеалну дистрибуцију за себе. Због велике дисперзије FLOSS оперативних система, питање свих питања за почетнике јесте „Која је идеална дистрибуција за мене”. Идеално не постоји. Оно што је за једну особу идеално није идеално за неког другог. Према томе, ова наша потрага за идеалним је у ствари „прича која се никад не завршава” (NeverEnding Story).

Ако сте почетник у FLOSS-у или вас је само наш часопис „заголицао” и заинтересовао за FLOSS, можда вам сад и није баш најјасније шта значи тражити идеалну дистрибуцију. Као прво, морамо разјаснити шта је „дистрибуција” у овом контексту. За почетак претпоставимо да сте се заинтересовали за слободни софтвер. Као прва „раскрсница” стоји вам одабир FLOSS оперативног система. У FLOSS понуди вам је Linux, BSD и неколико много мањих пројеката. Сразмера популарности, међу обичним корисницима, између Linux-а и BSD-а је отприлике као и између Windows-а и Linux-а. Међу обичним корисницима Linux је много популарнији од BSD-а, па претпоставимо да сте се определили за неку варијанту Linux-а.

Када кажемо Linux, то значи да користимо неки оперативни систем чији кернел је Linux. Кернел је „срце” оперативног система. Упроштено, он представља везу између корисника и хардвера. Ако сте читали наш двадесет и трећи број и чланак „Linux унатрашке”, могли сте да видите да је и сам оперативни систем сложенији и да је кернел само један његов део. Linux кернел јесте најважнији део оперативног система, али без апликација, сервера и менаџера, оперативни систем не би постојао као целина која обавља одређени посао за корисника. FLOSS чистунци, стога, овај оперативни систем зову GNU/Linux, где GNU представља слободне апликације, менаџере и сервере, а Linux-у остаје заслуга само за кернел (срце система). У наставку текста испоштоваћемо ову конвенцију код именовања, па ћемо комплетан оперативни систем звати GNU/Linux, а ако мислимо само на кернел зваћемо га просто Linux.

Спајањем различитог слободног софтвера са Linux кернелом може се добити огроман број комбинација. Ако томе додамо различиту „шминку” и подешавања, број комбинација је неограничен. Свако од нас, ако има довољно знања, може сам да направи своју комбинацију Linux-а, слободног софтвера, „шминке”, подешавања и направи свој GNU/Linux. Ако свој сопствени GNU/Linux понудите и другима на коришћење, то ће се звати вашом Linux дистрибуцијом јер даље дистрибуирате (делите) Linux кернел. Због тога се варијанте GNU/Linux-а зову дистрибуцијама Linux-а по његовом најважнијем делу – кернелу.

Огромна већина нас, не само почетника већ и прилично искусних корисника GNU/Linux-а, нема довољно знања да састави идеалну дистрибуцију за себе из саставних делова, зато користимо услуге програмера који су то већ урадили за нас и понудили нам своје производе. Ти програмери су искомбиновали идеалну дистрибуцију за себе, али су и надоградили још неке ствари како би задовољили и неке шире укусе. То што је идеално за њих можда није идеално и за нас. Свака дистрибуција је специфична на свој начин и има акценат на оном што је било битније програмеру који ју је комбиновао. На нама је сад да у мору већ готових дистрибуција пронађемо ону која најбоље ради на нашем хардверу, која има нагласак на функције које су нама битне, додамо шминку и подешавања по свом укусу. Сад је, ваљда, мало јасније зашто се сви у GNU/Linux свету претварамо у истраживаче у потери за идеалном дистрибуцијом.

Потрага за идеалном дистрибуцијом по кернелу

Сви GNU/Linux-и имају „једнак” Linux кернел који се развија контролисано под надзором његовог творца Линуса Торвалдса. Кернел није измишљотина GNU/Linux-а: поседују га и сви остали оперативни системи (Windows, MacOS, BSD).

Разлика између Windows и Linux кернела је у транспарентности тог дела оперативног система и у одвојеност Windows кернела од управљачког софтвера за хардвер (drivers-а). За разлику од Windows-а, Linux има уграђене управљачке програме за већину познатог хардвера.

Код инсталације OS Windows-а, корисник прво што мора да одради јесте да инсталира све припадајуће покретачке програме да би хардвер прорадио. Код GNU/Linux-а, ако је све прошло како треба (одабран је одговарајући Linux кернел), сав стандардни хардвер треба да ради одмах по инсталацији система. Неки специфични хардвери нуде додатне покретачке програме за Linux, ако је то произвођач предвидео. Осим тога, кориснику је дато да бира да ли ће да користи слободне покретачке програме за графичку картицу или власничке покретачке програме које нуде произвођачи графичких картица (Nvidia, AMD-Radeon).

На почетку овог поглавља, ставили смо под наводнике реч „једнак”. У принципу Linux кернел има једнак принцип рада али, углавном због различитих управљачких програма, постоје више верзија Linux кернела у оптицају који се редовно одржавају. У тренутку писања овог чланка, најстарији Linux кернел који се редовно одржава је са ознаком 2.6, а најновији стабилни је 3.16. Поред њих са продуженим одржавањем, од стране kernel.org-а, у оптицају су и верзије 3.2, 3.4, 3.10, 3.12, 3.14. Осим ових верзија које одржава kernel.org и саме веће дистрибуције за своје потребе одржавају неку међуверзију кернела, као на пример кернел 3.13 који ће бити одржаван од стране Canonicala за потребе Ubuntu 14.04 LTS до 2019. године.

Од кернела зависи функционалност оперативног система, зато треба водити рачуна да се изабере кернел који одговара хардверу. Ми нећемо сами компоновати GNU/Linux систем, већ ћемо бирати дистрибуцију из гомиле већ понуђених. Кернел је, вероватно, први и најважнији критеријум за одабир одговарајуће дистрибуције.

Како бирати? Код Linux-а не значи да је најновији кернел и најбољи. Хардвер се мења, а са тим мењају се и неки принципи рада тако да најновији хардвер неће радити са старијим кернелима јер не постоје управљачки програми за њега, али исто тако и старији хардвер често одбија да буде покренут најновијим кернелом. Поуздано знамо да стари рачунар Pentium 2 класе може да покрене кернел 3.10 и старији. Новији кернели неће радити на тој старој машини.

Проблеми око кернела углавном се односе на екстремне случајеве хардвера, као што су потпуно нов хардвер и много стари хардвер. Ако поседујете неки од актуелних хардвера, што претпоставља хардвер који није „последњи крик” технологије и не старији од четири године, највероватније нећете имати проблема са кернелом. Мада можда, треба избегавати најновији кернел због могућих багова који су се „провукли” и који ће тек бити уочени и отклоњени али исто тако и најстарији кернел који се одржава јер је он баш намењен за застарели хардвер.

Ресурси хардвера као критеријуми за одабир идеалне дистрибуције

Од кернела зависи функционалност оперативног система. Сама функционалност не подразумева и угодан рад. Предуго чекање на одзив система на постављени захтев корисника може да буде иритирајуће. На „живахност”, односно брзи одзив система, утичу хардверски ресурси. Најважнији хардверски ресурси на које треба обратити пажњу, јесу количина RAM меморије, брзина процесора, број језгара процесора, величина хард диска, брзина хард диска, квалитет графичке картице и други мање уочљиви хардверски ресурси за корисника. Идеално би било имати брз процесор (2.5 GHz и више) са два језфра или више њих, више хард дискова великог капацитета (преко 250GB) за складиште, SSD (eng. solid-state drive) – хард диск брзог одзива који је идеалан за оперативни систем и апликације, доста брзе системске меморије (преко 4GB RAM-a), квалитетну графичку картицу са добрим графичким процесором и што више сопствене брзе графичке меморије (преко 1 GB). Обичан корисник рачунара нема потребе за толиком хардверском снагом. За удобан свакодневни канцеларијски рад (рад у office пакету програма, интернет претраживачу, музичком и видео плејеру) довољан је и много слабији хардвер.

Хардверски минимум за мало захтевније кориснике који може да „потера” било коју до сада познату Linux дистрибуцију је рачунар Pentijum 4 класе са процесором 2.5GHz са 2 језгра, 4 GB RAM-а, хард диском од 250GB, са екстерном графичком картицом класе Gforce 8 са 1 GB графичке меморије. Овакве спецификације задовољава хардвер стар 4-5 година.

И много скромнији хардвер може успешно да ради под GNU/Linux-ом али захтева мало рационализације и бирања софтвера који није толико захтеван за хардверским ресурсима. Један од споредних делова GNU/Linux-а чијим правилним избором може доста да се уштеди на потрошњи хардверских ресурса је графичко окружење.

GNU/Linux оперативни систем може, теоретски, да функционише и потпуно без графичког окружења. Наравно то подразумева и употребу апликација без графичког окружења. Пошто се савремени оперативни систем не може замислити без графичког окружења и апликација (програма) са графичким окружењем, и GNU/Linux има графичко окружење и то не једно него више њих. Нека графичка окружења су усмерена ка дисплејима осетљивима на додир (Gnome, Unity), нека дају пуну графичку прилагодљивост кориснику уз нешто већу потрошњу хадверских ресурса (KDE, Cinnamon), затим компромисна решења који су балансирани однос графичке прилагодљивости и потрошње ресурса (Xfce, Mate), лака графичка окружења (LXDE. Enlightenment), графичка окружења која се заснивају само на менаџерима прозора (Openbox, Fluxbox) и још многа друга. Ово набрајање је управо ишло од захтевнијих ка мање захтевним графичким окружењима. Ако сте испробали неку GNU/Linux дистрибуцију и нисте задовољни брзином њеног рада, највероватније је за то кривац управо уграђено графичко окружење. Нека од ових окружења троше превише RAM-а, нека сувише оптерећују GPU (графичку процесорску јединицу – графички процесор на графичкој картици) и/или CPU (централну процесорску јединицу – процесор рачунара). Једно од решења проблема са презахтевним графичким окружења је инсталација истог GNU/Linux-а са мање захтевним графичким окружењем. На пример, уместо Ubuntu-а са Unity графичким окружењем Xubuntu са Xfce графичким окружењем. Сам хардвер диктира идеално графичко окружење за тај систем. Ако сте корисник доброг хардвера који успешно може да користи било које графичко окружење, на избор идеалног окружења утичу други фактори. Напоменули бисмо да графичко окружење са собом повлачи и специфичне апликације које су потпуно прилагођене том графичком окружењу. Понекад су те апликације само са промењеним именом. Пример: управљач датотекама Nautilus (као File Explorer у Windows-у) се у Cinnamon-у зове Nemo а у MateCaja. У већини других окружења управљачи датотекама су потпуно другачије апликација, на пример у KDE управљачн датотекам је Dolphin, у XfceThunar а у LXDEPCManFM. Иако раде сви једнак посао, разлике нису само у „шминки”, него и сваки од управљача има неке специфичне функције. Све то збуњује нове Linux кориснике, поготову што морају да се навикну на промењена имена апликација, па сад кад промене и GNU/Linux радно окружење и добију потпуно нова имена апликација то буде прилично збуњујуће, као да је у питању потпуно нови оперативни систем.

Управљач датотекама је само један од примера различитих апликација у различитим радним окружењима. Могуће је инсталирати апликације и из другог графичког окружења, али то повлачи доста зависности оригиналног графичког окружења што може да оптерети ресурсе хардвера нарочито ако имате мало простора на хард диску. Осим оптерећивања складишног простора на хард диску, инсталацијом зависности везаних за оригинално графичко окружење, могуће је повући и неке функције које оптерећују ресусе RAM-а и CPU-а што је корисник у старту хтео да избегне инсталирањем лакшег окружења. Зато треба избегавати мешање подразумеваних апликација из различитих радних окружења ако имате проблем ограничених ресурса.

Избор идеалне дистрибуције преко избора пакет менаџера

До сада смо бирали идеалну дистрибуцију условљени расположивим хардвером. Постоји још један критериј по којем можемо да бирамо идеалну дистрибуцију. То је избор према пакет менаџеру.

GNU/Linux дистрибуције и апликације се испоручују корисницима путем интернета у облику пакета изворног кода или путем пакета већ компајлираног бинарног кода. За разлику од Windows инсталационих програма, GNU/Linux пакети нису монолитни пакети који садрже све функције тог програма. Врло често поједине функције GNU/Linux апликација су у посебним пакетима, а и изглед апликације је у посебном пакету. Тако се обезбеђује да поједине функције могу да користе неке друге апликације, а и изглед се прилагођава изабраном графичком окружењу. Све то ствара проблем за ручну инсталацију нових програма на GNU/Linux-у.

Зато постоје пакет менаџери, чија је улога да препознају захтев корисника за инсталацијом тачно одређене апликације, проналазак његових пакета у интернет ризницама дистрибуције, препознавање потребних међузависности са пакетима који нису директно везани за апликацију али су неопходни апликацији (нпр. изглед апликације у графичком окружењу – енг. GUI), препознавање који су од међузависних пакета већ инсталирани и које тек треба инсталирати, распакивање, компајлирање (ако пакети нису бинарни), инсталација, уклањање непотребног софтвера и међузависности које не користи неки други инсталирани програм и на крају, „апдејт” (енг. update) инсталираног софтвера.

Ако од кернела зависи уопште функционисање оперативног система, од графичког окружења зависи удобност рада, онда од пакет менаџера зависи једноставност одржавања система. Стога је прави избор пакет менаџера један од битних критеријума за избор OS-а.

Данас су напознатија три формата GNU/Linux пакета: DEB карактеристичан за Debian и његове деривате, RPM карактеристичан за Red Hat и његове деривате и обични TXZ, TGZ пакети који могу бити пакети изворног кода, али и пакети предкомпајлираног кода. Са овим форматима се „боре”: DEB – dpgk и APT, RPM – yum, TXZ – slackpkg, TARpacman. Ово је само неколико најпознатијих пакет менаџера. Треба нагласити да немају сви ови менаџери све раније набројане функције. Неки се добро „боре” са међузависностима док други ни не покушавају да их решавају. Затим, неки од ових менаџера имају и своје апликације са графичким интерфејсом, као на пример Synaptic који је графичка апликација за APT или Pamac – графичка апликација за pacman. Ове графичке апликације много помажу, нарочито почетницима да лако нађу, инсталирају и одржавају свој софтвер. Искуснији корисници ће понекад радо жртвовати једноставност пакет менаџера зарад неке повећане сигурности, прецизности и стабилности софтвера одређене дистрибуције.

За крај епизоде

Тек смо загребали по површини проблема како изабрати идеални GNU/Linux оперативни систем. Поменули смо три најважнија критеријума, а томе бисмо могли додати и избор према начину инсталације система (графички или текст инасталер), па избор према врсти инсталационог диска (прости инсталациони диск или живи диск), па према начину надоградње система (системи са периодичним стабилним верзијама, системи са rolling update-ом…) и још много других критеријума. наша потрага ће се наставити. Вероватно ћемо у наредним епизодама овог серијала поменути и те друге битне критеријуме за избор идеалне дистрибуције.