default-pic

Nekonečná debata o distribúciách

V súčasnosti máte často problém nájsť dvoch linuxákov, ktorí majú rovnaký názor na jednotlivé distribúcie Linuxu. Fakt, že ich je veľa spôsobuje to, že každý administrátor a používateľ má tú svoju. Možnosť výberu a konkurencia by ich mala robiť lepšími. Ktorá je teda tá najlepšia distribúcia?

Otázka je položená schválne trošku prvoplánovo, lebo je jasné, že na ňu neexistuje priama a jednoduchá odpoveď. “Závisí na tom, čo od nej očakávate”. Klasický rozdiel medzi desktopovým používateľom a serverovým administrátorom nám napríklad rozdelí distribúcie na “bleeding edge”, teda také, ktoré majú najaktuálnejšie verzie všetkých balíkov a serverové, ktoré poskytujú stabilitu, netreba ich upgradovať každý deň alebo sledovať, či náhodou ten konkrétny build, ktorý máte nemá bezpečnostnú dieru.

Keď sme ako firma začínali so správou Linuxových systémov, začali sme používať Debian. Hneď v prvom momente sme získali aj zákazníka, ktorý mal serverovú farmu postavenú na Solarise. Sen o homogénnom prostredí teda netrval ani jednu noc a vzdali sme sa ho. Veľa ľudí rozdeľuje distribúcie podľa nejakého kľúča, majú svoje obľúbené, majú svoje skúsenosti. Čo týmto úvahám však častokrát chýba je temporálny faktor: Kedy ste sa naposledy pozreli, či dôvody, pre ktoré ste sa rozhodli pre tú či onú distribúciu (alebo OS) stále platia. A kedy ste sa pozreli, či konkurencia tieto dôvody nerieši?

Je veľmi veľa ľudí, ktorí sú spokojní so Slackware alebo Gentoo distribúciami. Predstava, že by sme spravovali desiatky serverov založených na týchto distribúciách však nie je reálna. Nevidím však dôvod, prečo by si niekto nedal Gentoo, ktorá má naozaj najaktuálnejšie balíčky na svoj desktop. Dôvod rozhodnutia pre Debian bol jednoduchý: menej časté nové verzie, balíčkovací systém, ktorý robí údržbu jednoduchou, včasné bezpečnostné aktualizácie.

Ako mnoho projektov založených na dobrovoľnosti sa stali obeťou úspechu iného projektu, v tomto prípade ním bol Ubuntu. Predikovateľnejšie verzie, viac integrovaných patchov. Mnoho vývojárov Debianu prešlo pod krídla Ubuntu a aj keď sa snažili zmeny tlačiť aj do pôvodnej distribúcie, toto nadšenie pomaly utíchalo. Pred istým časom sme podľahli aj my: úspešná firma musí reagovať na realitu a technologické zázemie a nesmie byť limitovaná žiadnou platformou (tu treba povedať, že v prípade, že zákazník mal akékoľvek požiadavky na inú distribúciu, či už kvôli supportu, podpore hardvéru alebo softvéru, nemali sme problém spravovať aj iné distribúcie).

Dlhoročná výhoda Debianu - bezpečnostné aktualizácie - sa ukázali ako málo nadčasové, keď vyšla diera v jadre Debianu, ktorá nebola vyše roka opatchovaná (samozrejme, Debian vydal nové jadro, to však nebolo kompatibilné so starými modulmi a upgrade nebol za každých okolností úplne samozrejmý).

Jeden zákazník mal potrebu vytvoriť virtualizované desktopové prostredie pomocou Wine, aby znížil náklady na beh windowsovej aplikácie, ktorej licencia bola oveľa lacnejšia ako licencia OS Windows. Preprogramovanie by zase bolo veľmi nákladné. Aplikácie pod Wine bezproblémov fungovala. Vytvorili sme teda pomocou VNC niekoľko stoviek inštancií virtuálnych desktopov. Jediný problém nastal, keď sme zistili, že aplikácie síce beží, ale pod Wine pod VNC nebeží – VNC X server nepodporoval jedno rozšírenie, ktoré Wine potrebovalo. Po krátkom googlení sme zistili, že v Red Hat Enterprise Linuxe sa nachádza patch, ktorý pridáva do VNC servera túto funkcionalitu. Zjavne ju potreboval nejaký iný enterprise zákazník.

Pri nasadzovaní virtuálnej infraštruktúry pre seba a pre zákazníkov sme narazili s kolegami na niekoľko problémov s kernelom Debianu a neskôr Ubuntu. Mnohé z nich boli nareportované mesiace (jeden dokonca rok a pol), avšak ani jedna z distribúcií problém neriešila (aj keď v Red Hat jadre patch bol cca od času, kedy bol nahlásený do Debianu a Ubuntu). Prišli sme na to, že hora vývojárov (z ktorých mnohí sedia v Brne) a správcov balíčkov, ktorí sú platení firmou, ktorá zarába na tom, čo robí má význam. Teraz minimálne na virtualizáciu, ale aj na iné serverové úlohy nasadzujeme Red Hat Enterprise Linux alebo Centos. Nevravím, že to je vždy najlepšie rozhodnutie, ani že je jediné správne a už vôbec nie, že vydrží dlho: to si autori distribúcie musia zaslúžiť.

Cieľom tohto blogu bolo poukázať na tri základné fakty:

Rozhodnutie pre konkrétnu distribúciu (alebo operačný systém) je potrebné robiť vždy s ohľadom na aktuálny stav distribúcií (teda treba mať prehľad nie len o tom, aké verzie balíčkov sú vo vnútri, ale ako sa vývojári o ne starajú, ako reagujú na bezpečnostné chyby, ako rýchlo opravujú užívateľmi nahlásené chyby). Tento stav sa môže s časom meniť.

Niektoré distribúcie sú vhodné na niečo a niektoré na niečo iné. S Gentoo na desktope by som problém nemal, na serveri by to bolo nespravovateľné.

Zabudnite na homogénne prostredie. Ak chcete mať stále najrozumnejšie rozhodnutie a v konkrétnom čase sa rozhodnúť pre najlepšiu voľbu, je takmer nemožné, že firma (od istej veľkosti) bude počas niekoľkých rokov svojej existencie používať jeden operačný systém. Od začiatku je potrebné myslieť na to, že prostredie niekedy bude heterogénne. Platí to pre všetkých fanatikov, bez ohľadu na to, z ktorého sú tábora.

Mark Shuttleworth (majiteľ Canonical, firmy stojacej za Ubuntu) niekoľkokrát volal po väčšej spolupráci. Keď som sa stretol na OSSConf v Žiline s ľuďmi z Novellu a Red Hatu, ktorí robia na distribúciách, príjemne ma prekvapilo, že sa rozprávali a počúvali o tom, kto čo ako robí. Zdravá konkurencia a vtipkovanie striedali snahu počúvať a pochopiť, ako rieši problém “tá druhá strana”. Väčšina distribúcií sa snaží svoje zmeny presadiť aj do projektu, z ktorého čerpá (niekedy, napríklad v spomínanom príklade s VNC to je trochu problém, pretože upstream projekt nie je aktívne udržiavaný). Na to, aby spolupráca fungovala dokonale by sa ľudia, ktorí sa starajú o konkrétny balíček v danej distribúcii mali pozerať na to, aké zmeny oproti štandardnému balíčku majú konkurenčné distribúcie a prečo sa tam dostali. Ak pridajú svoj quality assurance proces, ušetria množstvo času pri riešení rovnakých problémov a samotné distribúcie sa dostanú oveľa ďalej.

Čas, kedy debata o tom, ktorá distribúcia je najlepšia, mali aspoň nejaký zmysel sú už dávno preč. Je to debata o výhľade na horu z idúceho shinkansenu.

Podobné blogy