Co to je Linux? *BSD?Linux je členem rodiny Open operačních systémů. Tyto OS jsou volně šiřitelné. To znamená, že je kdokoliv může kopírovat a dávat dál. Pokud jde o naší záslikovou službu, zaměřujeme se na ty varianty OS, které se k otevřenosti vysloveně hlásí. Proto tu najdete čtyři "distribuce" Linuxu a ještě FreeBSD (které ovšem není Linuxem - a BSD-čkáři jsou na to patřičně hákliví.:o). Proto budeme hovořit o otevřených OS (OOS), abychom se nikoho nedotkli. Pod pojmem OOS budeme chápat jednotu dvou věcí:
Protože je softwaru skutečně velmi mnoho a často se duplikují (dělají
totéž), vyvinul se na trhu OOS takový systém distribuce, že nějaká firma
(či jednotlivec) dá dohromady nějakou verzi jádra a různou množinu dalších
softwarů a tento celek pak rozšiřuje (distribuuje) pod nějakým snadno
zapamatovatelným názvem (třeba RedHat ap.:). Odtud tedy pochází pojem
"distribuce". Rozdíly obecné - filosofie distributorůV historii Linuxu byly různě zaměřené distribuční firmy, které se lišily (a liší) především svou filozofií: Některé dávají přednost nejnovějším verzím jádra a softwaru a snaží se být stále na špici vývoje. Jiné zas upřednostňují rozšiřování softwaru ověřeného delším užíváním - software v jejich distribučním balíku je pak sice "starší", ale stabilní a odladěný. Další možné dělení distributorů je podle cílové skupiny. Některé distribuce směřují spíše na servery, jiné na pracovní stanice, jiné zas do domácností. Samozřejmě jsou i distributoři, snažící se maximálně pokrýt všechny tyto skupiny. Jejich distribuce pak obsahuje tolik různého softwaru, že se v tom nevyzná ani nesmrtelník. V současnosti můžeme považovat za nejrozšířenější distribuce Linuxu: Red Hat, Mandrake, SuSE, Debian, Slackware, Caldera, Turbo, a několik dalších, které neznám.:o) Z rodiny otevřených BSD systémů jsou nejznámější: FreeBSD, OpenBSD a NetBSD. Snad nebude úplně zbytečné doplnit, že všechy zmíněné OS patří do rodiny Unixu - vynikajícího stabilního síťového operačního systému s bohatou historií a ještě bohatší přítomností. Podrobnosti ale hledejte už jinde.:o) Rozdíly z hlediska instalačních a údržbových utilitDalší podstatná věc, která jednotlivé distribuce od sebe odlišuje jsou instalační programy, a pomocné utility pro správu systému. Instalační utility se od sebe ještě tak moc neliší - snad jen v tom, že některé se snaží myslet za vás trochu víc, jiné vám zase víc věří a dovolí.:o) Utility na údržbu systému pak celkem dobře prozradí, na koho se distributor zaměřuje. Jsou-li utilitky krásně barevné a vše se ovládá myší, jsme určitě u distributora, který se zaměřuje na "laického" uživatele. To by bylo dobré pro začátečníky. Časem se ale uživatel se svým Uni*em sblíží natolik, že dá přednost ručnímu nastavování systému (protože to je hlavní výhoda otevřených systémů, že si všechno můžeme konfigurovat sami). Pak asi přejde k jednodušším a čistším distribucím. Mezi laicky zaměřené distribuce můžeme počítat SuSE a Mandrake. Na opačném konci spektra najdeme Slackware a FreeBSD. Nenechte se ale příliš unést. Skutečně zásadní rozdíly tu neexistují. Spíš jde jen o to, že když chcete používat automatické konfigurační utility, nemá cenu ručně hrabat do konfiguačních souborů. A naopak: Kdo dospěl k poznání sladkosti konfigurace přes ruční úpravu textových konfiguračních souborů, nebude hledat výhodu v distribuci, která má množství nastavovacích utilitek. O tomto tématu by se dalo hovořit nekonečně dlouho, a je také vděčným bodem flame-wars na různých diskuzních serverech.:o) Rozdíly z hlediska instalace softwaruRozdíly mezi distribucemi můžeme hledat i z hlediska toho, jaký mají systém pro instalaci a odinstalaci softwaru. Základní uin*ovou metodou je metoda kompilace zdrojových programů. Je to metoda výborná, a je jednou z hlavních předostí otevřených OS. Máte k dispozici zdrojový kód programu a můžete si ho zkompilovat na svém systému do podoby, která vašemu systému padne nejlépe. Za každou výhodu se něco platí. Tady platíte za optimalizaci a rychlost programů pomalostí instalace. Takový HTML editor Quanta jsem na Pentiu 166 MMX kompiloval 5 hodin. A kompilace skončila chybou... Ale to se stane jen zřídka.:o) Aby instalace softwaru byla přinejmenším tak snadou jak ji znají uživatelé Windows, vyvinuli různí fištróni metodu instalace předkompilovaných balíčků. Ta spočívá v tom, že dostanete balíček obsahující programy už zkompilované. Takový balíček byl zkompilován na stroji s konfigurací, která je hodně obecná. Tím se splňuje požadavek, aby takový program běhal pokud možno na všech systémech. Z toho také vyplývá, že takový balíček programů už nemusíte kompilovat. V podsatatě to funguje tak, že instalační utilita tento balíček rozbalí, tj. soubory v něm obsažené překopíruje do adresářů kde mají být (programy do */bin, konfiguráky do /etc, dokumentaci do /usr/share/doc, a tak dále). Po tomto rozbalení se ještě může spustit nějaký post-instalační program - skript, který může zasáhnout do obecných nastavení systému (třeba po naistalování nějakého serverového programu se může přidat do skriptových programů spouštěných po nastartování počítače příkaz ke spuštění tohoto serveru ap.), nebo přidá do konfigurace správce desktopu příkazy, které umožní tento program spouštět vyhledáním v menu tohoto desktopu. Předkompilované balíčky mají obrovskou oblibu a většina uživatelů dává přednost instalaci softwaru z těchto balíčků. Po kompilační metodě sáhnou tehdy, není-li balíček pro jejich distribuci k dispozici. A nebo, jsou-li kompilačními fajnšmekry. Takový dobře vyladěný systém... co si budeme povídat. I tady má stavovská hrdost svoje místo.:o) Předkompilované balíčky jsou tedy oblíbené pro rychlost instalace (max. desítky vteřin). Nevýhoda je zřejmá. Balíčky jsou kompilovány s ohledem na jakýsi obecný systém. Třeba Red Hatí balíčky jsou kompilovány pro procesory řady i386. To znamená, že pokud máte PIII, tak jeho možnosti nebudou optimálně využity. Na druhou stranu to Red Hatu zajišťuje slávu a oblibu u většiny uživatelů, zvláště těch s pomalými 386-kami, na nichž by kompilace trvala straaašně dlouho. Varianty předkompilovaných balíčků.Každý distributor má svůj systém správy balíčků. Nejrozšířenější je systém "rpm", který vymysleli u Red Hatu (rpm = Red Hat package management - tedy redhatí správa balíčků). Tento systém používají i další distributoři (neboť i tento systém je otevřený a free:). Z těch hlavních třeba SuSE a Mandrake. Jiná situace je u Debianu, který má vlastní "deb" balíčky. Slackware zase používá balíčky sbalené do "tgz" - forma čitelná i bez speciálního software obecnými unixovými utilitami tar a zip. Ačkoli se může zdát samozřejmé, že když Red Hat a Mandrake používají stejný systém pro správu balíčků - "rpm", musí být vše mezi těmito systémy vzájemně nahraditelné a kompatibilní, není tomu tak. Bohužel. Proč? Odpověď bychom musel hledat v historii Linuxu, který se zkraje vyvíjel dost živelně, což odnesla i struktura adresářů. Její vývoj poznamenali i různí distributoři, kteří zkraje neměli k dispozici autoritu, která by všemu dala jednotný ráz. Z unixu sice existovaly jisté zvyklosti, ale ty neřešily různé "podvarianty", které se při instalaci SW mohou vyskytnout. Navíc ani unix není úplně jednotná platforma (BSD x System V). A tak se jistá nekompatibilita v adresářové struktuře a přístupu k systémovým skriptům zachovala dodnes. Proto se může stát, že redhatí balíček rozbalený pod Mandrakem nebude zcela funkční... Pro klid duší ale dodejme, že u většiny uživatelského softwaru ona vzájemná přenositelnost balíčků fungovat bude. Závislosti - je taková hra na slepičku a dusícího se
kohouta.:o) Myšlenka závislostí je dobrá. Velmi dobrá. Jde v ní o to, že
balíček, který se chystáte nainstalovat v sobě obsahuje mj. seznam
požadavků, které musí váš systém splňovat. Jinak se balíček odmítne
nainstalovat. Logické. Chybí-li v systému knihovna funkcí, kterou daný
balíček sw pro svou práci potřebuje, byl by po nainstalování stejně
nefunkční. Takže vám instalační systém řekne co schází, vy to
donistalujete a vrátíte se k instalaci žádaného balíčku. A je to... Ehmm
No, nebo taky ne. Může být, že váš balíček vyžaduje cosi z jiného balíčku
a ten jiný balíček zas vyžaduje cosi z dalšího balíčku. A když i ten
najdete a zkusíte nainstalovat, zas vám řekne, že to nejde protože i jemu
něco ve vašem systému schází... A je tu ta pohádka o kohoutkovi a
slepičce. Než přiběhne s vodou, kapoun skape. A totéž martirium může
nastat při odinstalovávání softwaru, který nepotřebujete. Jako napotvoru
je v balíčku tohoto sw jakási knihovna, kterou potřebuje i jíný program. A
tak je vám odinstalace znemožněna. Jsou tu sice možnosti, jako
Pokud vás ale předchozí odstavce vyděsily, dejte si Slackware a máte klid. Tam se na závislosti nehraje.:o) Jaký operační systém si vybrat?Vezměme to postupně a bez emocí. Vyjmenujeme jen ty OS, které máme v nabídce.
ZávěrVěřím, že vám tento článek pomohl trochu ozřejmit různé varianty otevřených operačních systémů. Není, nemůže a ani nechce být vyčerpávající. Další informace je možné hledat v různých diskuzních fórech po internetu. V Česku třeba v newsové skupině cz.comp.linux, nebo třeba na mageo.cz - auditorium "Linux, *BSD...". Budeme rádi, když nám své nejasnosti a připomínky budete posílat na náš e-mail. Zapracujeme je do tohoto textu, aby mohl sloužit i dalším zájemcům o otevřené operační systémy. Diskuze k tomuto tématu běží na Mageu: Zdraví strýček Grumpa :o)
Licence k tomuto článku je GNU/GPL - verze pro dokumentaci. Stručně
řečeno, můžete tu cokoliv vobšlehnout, třeba i celý článek, ale musíte
uvést zdroj (tedy toto místo a mě jako autora). A nesmíte to prodávat. Bez
zeptání. Jasný?
Autor © Viktor Matys - Grumpa;
II.2002. |