Úvod do světa Linuxu
Vznik Linuxu a jeho historie
Historie operačního systému Linux sahá do 20. století, na jehož sklonku prahnul jeho autor Linus Torvalds po vlastním operačním jádře, které by bylo plně nezávislé na konkrétní společnosti, bylo snadno upravitelné a zároveň jej mohl používat kdokoliv.
Finský programátor Linus Torvalds se čerstvě po své oslavené dvacítce pustil do bujarého psaní tzv. linuxového jádra. Jeho první vydaná verze spatřila světlo světa již o pár měsíců později, v roce 1991, konkrétně 17. září. Od takřka všech dosud vydaných operačních systémů se odlišoval svou svobodností. Linuxové jádro, na němž je samotný operační systém Linux postavený, může využívat, modifikovat, rozšiřovat i prodávat kdokoliv bez jakéhokoliv omezení.
Linus se při vývoji svého vlastního linuxového jádra štědře inspiroval u operačního systému UNIX, který vyvíjela americká společnost AT&T od roku 1969. Dnes je pod pojmem UNIX chápán jakýsi standard operačního systému s jednotnou adresářovou strukturou, kdy je vše uloženo ve společném kořenovém adresáři (nemá disky C:\, D:\ a podobně jako konkurenční Windows) a který byl častokrát vytvořen s nekomerčním úmyslem a na jehož vývoji se často podílí komunita. Ostatně nejinak je tomu i právě u Linuxu.
Proč právě Linux? Je to jednoduché. Jak jste se již dozvěděli, autorem je Linus a jádro je postavené na Unixu, odvozením a spojením počátečních a koncového písmena těchto dvou slov získáme Linu(s)(Uni)x, tedy Linux.
Operační systém Linux si představme podobně, jako kupříkladu konkurenční a komerční Windows od společnosti Microsoft. Samotné jádro systému umožňuje současný běh více úloh najednou. Pod pojmem úloha si můžeme představit jednoduchý skript dotazující se některého z mnoha webových stránek na aktuální teplotu v Praze, může to však být též komplexní aplikace zajišťující běh této webové stránky.
Uplatnění Linuxu
Kde se vlastně s operačním systémem Linux setkáme v praxi? Prakticky všude kolem nás. Velká množina všech webových stránek běží na serverech, které jsou poháněný operačním systémem Linux. Samozřejmě mohou běžet i na konkurenčních systémech, například na Windowsu, ovšem pokud nevyžadují uživatelé těchto systémů některé specifické funkcionality, vyplatí se spíše bezplatný Linux.
Linux ale nepohání pouze webové servery, nalezneme jej také ve smartphonech vlastních či našich známých. Celý mobilní operační systém Android totiž běží na Linuxovém jádře, které si vývojáři Androidu upravili k obrazu svému. Konkurenční operační systém iOS od společnosti Apple není založený na Linuxu, ale svými principy fungování vychází z nadřazenějšího UNIXu. Z toho, jak již víte, vychází také Linux, tudíž svým způsobem nalezneme v obou světech jisté podobnosti, avšak stejné zajisté nejsou.
Svobodný Linux nalezneme samozřejmě jako plnohodnotný desktopový operační systém pro „běžnou“ uživatelskou každodenní činnost. Proč jsem uvedl „běžnou“ do uvozovek? Jednoduše řečeno je Linux, potažmo některé jeho distribuce, o nichž si řekneme více později, příliš otevřený jakýmkoliv změnám, kdy sebemenší špatné nastavení s dobrými úmysly může zapříčinit poměrně snadný pád systému. Jistě můžete namítnout, že toto se přeci může stát i kdekoliv jinde a máte pravdu. Pouze je Linux je však svou otevřeností až moc náchylný.
Definice a časté termíny
Distribuce
A právě proto existují různé distribuce, které nám v eliminaci tohoto rizika pomohou. Pro velice primitivní a velmi nepřesnou ukázku si představme například Android, jde o operační systém založený na Linuxovém jádře, avšak příliš snadno jej „rozbít“ nelze. Zaměříme se proto primárně na desktopové a serverové edice Linuxu – takzvané distribuce.
Již v úvodu jsem zmínil, že Linux je svobodný operační systém a kdokoliv může přidat ruku k dílu, systém buďto vylepšovat v jeho „výchozím“ nastavení anebo si založit svoji vlastní odnož Linuxu. Už vnímáte tu podobnost slova distribuce a vytvoření si něčeho alespoň trochu vlastního? Modifikací Linuxu jako takového vlastně tvoříte něco nového. Operační systém si vytvoříte dle obrazu svého a můžete jej nabídnout zdarma ke stažení. Anebo tento upravený LInux využít pro svůj produkt, například ovládací panel chytré domácnosti.
Protože však ne každý člověk je tak znalý linuxového jádra, vznikají otevřené distribuce operačního systému Linux. Tyto distribuce následně udržují v provozu a vyvíjí většinou komunita či nějaká organizace, která je placená z dobrovolných příspěvků uživatelů těchto distribucí. K tomu však může s vývojem pomoci i kdokoliv další, a to i bez nároku na honorář.
Mezi zcela nejznámější distribuci LInuxu je nutné zařadit Debian. Jde o jednu z nejdéle existujících odnoží Linuxu, která si svou popularitu získala hlavně díky obrovskému repozitáři dostupných softwarových nástrojů a obří komunitě nadšenců po celém světě. Debian nachází uplatnění primárně jako poháněč serverů, jak webových, databázových, tak i mailových a dalších.
Další distribucí je například Fedora, jejíž vývoj není plně v rukou dobrovolníků, ale sponzoruje ji americká společnost Red Hat, která má mimojiné pobočku i u nás v České republice, konkrétně v Brně.
Pokud opustíme svět především serverových distribucí, dostáváme se k Ubuntu, snad nejoblíbenější Linxové distribuci pro běžnou kancelářskou činnost. Ubuntu je vhodná i pro naprosté začátečníky v Linuxu. V základu poskytuje příjemné grafické rozhraní, orientace v operačním systému tedy probíhá podobně jako například v konkurenčním operačním systému Windows. Nalezneme zde prohlížeč Firefox, kancelářské aplikace LibreOffice a další programy, které umožní nahlédnout pod pokličku i geekům, kteří chtějí okusit i něco jiného, než je Windows či macOS a zároveň se nevylekat zcela neznámým prostředím. Podobně působí také distribuce Linux Mint.
Úplným protipólem zde vyjmenovaných operačních systémů je Arch Linux, jenž by si pod svou taktovku měli vzít pouze zkušení „linuxáří“, kteří opravdu vědí, co dělají a jak Linux a jeho jádro funguje.
Nesmím zapomenout na operační systém (distribuci) Kali Linux. Ten budete jakožto budoucí hackeři doslova milovat (pokud neskončíte u populárního Ubuntu). Kali Linux je speciálně vyvíjená distribuce poskytující v základu mnoho nástrojů, které se hodí například pro skenování sítě, penetrační testy (odhalování zranitelností) a mnohé další. Tyto nástroje lze však dodatečně nainstalovat jako jakýkoliv jiný balíček i na všechny již jmenované distribuce Linuxu.
Jádro
Jakožto jádro operačního systému si lze představit důležitou součást operačního systému, která se přečte z úložiště (HDD, SSD, USB) a uloží do operační paměti RAM. Jak víte, nebo se nyní dozvíte, operační paměť RAM je tzv. volatilní. To znamená, že si dokáže pracovat s informacemi v ní uloženými pouze při neustálém napájení. Jakmile se napájení přeruší, paměť veškerá data zapomene. Z tohoto pohledu je tedy jasné, že do paměti RAM se linuxové jádro zavádí (kopíruje) pokaždé, když zapneme počítač/server/mobilní telefon.
O zavedení jádra se postarají obvody na základní desce, které, po úplném načtení jádra do paměti RAM, předají řízení operačního systému a dalších pokynů právě tomuto jádru. Pod pojmem jádro si tedy představme určitý centrální „mozek“ (pomiňme nyní procesor) operačního systému, který zadává pokyny k vykonání. Volá a spouští jednotlivé soubory z úložiště operačního systému. Tyto spuštěné procesy pak řetězově spouští a volají další a další části systému.
Jádro operačního systému prakticky slouží jako takový „můstek“ mezi aplikací spuštěnou v operačním systému Linux (a v rámci jeho distribucí) a procesorem, pamětí RAM a dalšími periferiemi počítače. Mezi ně můžeme zařadit pevný disk, síťovou kartu, klávesnici, myš, monitor, reproduktory a podobně.
GNU
Projekt nesoucí název „GNU“ byl, jak lze v tuto chvíli říci, pokus o vytvoření nového svobodného operačního systému. Zkratku GNU doslova znamená „GNU’s Not Unix“, tedy, že GNU není Unix. Snahou GNU tedy bylo (ačkoliv snahy stále pokračují, dá se říci, že klesají) vytvořit operační systém zcela odlišný od UNIXu, který nebude obsahovat jediný kus zdrojového kódu z UNIXu. Problémem však bylo chybějící jádro operačního systému.
Jelikož jeho jádro nebylo nikdy oficiálně naprogramováno, začalo se používat právě jádro využívané v operačním systému Linux. Neoficiální verzí GNU jádra nezaloženého na UNIXu je tzv. „GNU Hurd“, ovšem toto jádro nikdy nebylo dokončeno.
Mezi zastánci projektu GNU se proto vžilo označení „GNU/Linux“, které kombinuje vlastnosti operačního systému GNU a prozatímního Linuxového jádra. O používání takového spojení se vedou jisté kontroverze, avšak vzhledem k tomu, že Linux je svobodný software, nelze proti tomuto využití prakticky nic namítat.
Open source
Od začátku čtení vás tímto textem provází slovní spojení „svobodný software“. V anglické interpretaci se jedná o tzv. open source. Jde o jakýkoliv projekt, který je uvolněn k užívání širokou veřejností, která má přístup k jeho zdrojovému kódu a může jej takřka libovolně modifikovat.
Pod pojmem „open source“ si lze vedle označení zdrojových kódů představit také licenci pro jejich následné šíření. Narozdíl od proprietárního (uzavřeného) zdrojového kódu, umožňuje open source komunitě podílet se na jejím vylepšování. Nevýhodou ovšem je jeho zranitelnost. Jelikož má potenciální útočník okamžitý a bezplatný přístup ke všem zdrojovým kódům, může v nich snadno objevit možnou zranitelnost a tu následně využít.