Linuxová distribuce je v informatice označení pro snadno použitelný Linuxový systém, přičemž název je odvozen od jádra Linuxu, které je základní součástí každé distribuce. Distribuce jsou vytvářeny proto, aby uživatel nemusel jádro a doplňující software sám náročným způsobem skládat do funkčního celku. Obsažený software je volně dostupný na Internetu (typicky open source software). Pro odlišení jsou distribuce pojmenovány (např. Ubuntu, Fedora), přičemž každá je jinak zaměřena (pro nezkušeného uživatele, pro vývojáře, výuku atp.).
Charakteristika
Linux je označení pro volně šiřitelné jádro unixového operačního systému, které vytvořil Linus Torvalds v roce 1991, tehdy jako 21letý student informatiky na Helsinské univerzitě ve Finsku. Jeho vývoj probíhá otevřeným způsobem, kdy Linus průběžně vystavuje na Internetu jeho zdrojové kódy, které si může kdokoliv stáhnout na svůj počítač, volně používat i dále sdílet včetně provedených změn (tzv. open source software). Tento způsob vývoje software, kdy může kdokoliv změny Linusovi poslat a on je může do svého jádra začlenit a tím zveřejnit, se označuje jako tržiště.
Již před vznikem Linuxu byl podobným způsobem, jako jádro Linuxu, pomocí Internetu vyvíjen i další volně šiřitelný software (označován podle specifických rysů jako svobodný software, open source software atp.). Mezi nejaktivnější, i když tehdy ne tak známé jako dnes, patřilo sdružení GNU. Takový volně dostupný zdrojový kód může kdokoliv použít a pomocí překladače vytvořit spustitelnou podobu, kterou již lze používat na vybraném počítači. Složením jádra Linuxu a dalšího vhodného software může vzniknout plnohodnotný systém, který je srovnatelný s komerčními alternativami (Microsoft Windows, Mac OS X apod.).
Vytvoření funkčního systému však není zcela jednoduché, a proto již záhy po zveřejnění prvních verzí jádra Linuxu vznikaly tak zvané distribuce, které bylo snadné z Internetu stáhnout, nainstalovat a používat. V současné době je na Internetu k dispozici mnoho distribucí, přičemž každá je výběrem obsaženého software a dalšími charakteristickými rysy určena jiné skupině uživatelů (začátečník, nadšenec, profesionál, …). Jednotlivé distribuce se vzájemně více či méně liší, protože všechny obsahují podobný software pocházející ze stejných zdrojů, avšak typicky získaný v jiném čase. Kromě volně dostupných distribucí jsou k dispozici i komerční distribuce, za jejichž používání je nutné platit (Red Hat Enterprise Linux, SUSE Linux Enterprise Server, a další).
Linuxová distribuce je obvykle šířena jako ISO obrazy, které je možné vypálit na CD, DVD nebo umístit na USB flash disk a z tohoto média pak instalovat na pevný disk počítače, případně ji přímo používat (tzv. Live distribuce, viz níže). Jednotlivé programy jsou rozděleny do balíčků, které je možné pomocí balíčkovacího systému do systému přidávat nebo z něj odebírat, případně systém aktualizovat a udržovat.
Historie
Po vydání prvního jádra Linuxu v roce 1991 musel být uživatel alespoň z části odborníkem a mít mnoho speciálních znalostí nejen o software, ale i hardware osobních počítačů. Kromě toho musel vědět podrobnosti o stavbě unixových systémů, práci s knihovnami a podobně. Proto se záhy po zveřejnění jádra začaly objevovat první linuxové distribuce, které výrazně zjednodušovaly nasazení Linuxu a jeho používání i bez hlubších odborných znalostí.
Rané distribuce linuxu
-
H J Lu’s „Boot-root“ – obsahoval dvě diskové dvojice s jádrem a minimálními prostředky k tomu, abyste mohli začít
-
MCC Interim Linux – byl zpřístupněn veřejnosti ke stažení na FTP serveru Manchesterské Univerzity v únoru 1992
-
TAMU – byl vytvořený jednotlivci na Texas A&M University přibližně ve stejnou dobu jako MCC
-
SLS – zkratka Softlanding Linux System
-
Yggdrasil Linux/GNU/X – základ linuxové distribuce, která byla distribuována na CD
Distribuce SLS nebyla dobře udržována, a proto Patrick Volkerding vydal v roce 1993 distribuci založenou na SLS, kterou pojmenoval Slackware. Slackware je dnes nejstarší distribucí, která je stále aktivní a dále se vyvíjí.
Uživatele přitahoval Linux jako alternativa operačních systémů DOS, Microsoft Windows, Mac OS, MINIX a proprietárních verzí Unixu. Většina nadšenců, kteří Linux používali, se s ním seznámila na svém pracovišti nebo ve škole. Přijali Linux z různých důvodů (vytváření webových serverů, BBS, dostupnost zdrojového kódu, nízké náklady, …). V současné době je používán i jako profesionální řešení.
Komponenty
Typická linuxová distribuce pro desktopový systém obsahuje linuxové jádro, GNU nástroje a knihovny, dokumentaci, nástroj pro grafické rozhraní (X Window System), desktopové prostředí a další software. Většinu použitého softwaru je možno volně šířit, jedná se totiž o takzvaný svobodný software nebo open source software. Vývojáři tak distribuují software ve zkompilované podobě, ale také jako zdrojový kód. To potom umožňuje uživatelům nejen nahlédnout, ale i upravovat a sestavit původní zdrojový kód. Některý software v distribucích může být proprietární, a jeho zdrojové kódy nemusí být volně k nahlédnutí. Mnoho distribucí poskytuje instalační prostředky podobné ostatním moderním operačním systémům. Některé distribuce jako Gentoo Linux, T2 a Linux From Scratch obsahují pouze zdrojové kódy, takže si každý uživatel může přeložit svůj unikátní systém dle svých požadavků.
Typy a trendy
Linuxové distribuce mohou být:
-
Komerční nebo nekomerční
-
Navržené pro firemní uživatele, pokročilé uživatele a domácí uživatele
-
Podporované pro několik typů hardwaru, pro specifické platformy
-
Navržené pro servery, stolní počítače a vestavěné systémy
-
Pro všeobecné použití nebo pro vysoce specializované stroje (např. firewall a počítačové clustery)
-
Zaměřené na konkrétní skupiny uživatelů, například prostřednictvím jazykové internacionalizace a lokalizace
-
Zaměřené především na bezpečnost, použitelnost, přenositelnost či úplnost
Rozmanitost linuxových distribucí je způsobena rozdíly v technických, organizačních a filozofických aspektech mezi prodejci a uživateli. „Tolerantní licence“ volně dostupného softwaru znamená, že každý uživatel s dostatečnými znalostmi a zájmem může přizpůsobit stávající distribuce nebo navrhnout změnu.
Live distribuce
Live distribuce může být spuštěna z kompaktního disku nebo z jiného vyměnitelného média (například DVD nebo USB flash disk) namísto z pevného disku. Je-li operační systém spuštěn ze zařízení, ze kterého lze jen číst (CD nebo DVD), nelze uživatelská data ukládat na spouštěcí zařízení, ale musí být uložena na jiné médium, obvykle na pevný disk. Dočasná data jsou uchovávána v operační paměti. Tyto přenositelné instalace se stávají výhodnými v situacích, kdy chcete demonstrovat nějaké aplikace, „oživit“ počítač nebo jako instalační média pro standardní distribuce. Mnoho populárních distribucí existuje ve variantě Live, ale také v tradiční formě na vyměnitelném médiu, která je určena pouze pro instalaci (například: SUSE, Ubuntu, Linux Mint, MEPIS, Sidux a Fedora). Některé distribuce jako je Knopixx, Devil-Linux a SuperGamer jsou určeny především pro Live CD, Live DVD nebo USB flash disk.
Vybrané distribuce
Některé z běžných distribucí jsou:
-
Debian – Jedna z nejstarších distribucí, zakladatelem je Ian Murdock. Distribuce je pojmenována po jeho ženě (Debra). Je to přísná open-source distribuce, která je vyvíjena dobrovolníky z celého světa. Nabízí on-line repozitář (server, kde jsou uloženy zdrojové kódy) softwarových balíků.
-
Kali Linux – distribuce odvozená z Debianu, slouží pro forenzní analýzu a penetrační testy
-
Tails – distribuce odvozená z Debianu, zaměřena na soukromí, bezpečnost a anonymitu
-
Ubuntu – Tato distribuce vhodná pro začátečníky vychází z Debianu. Je volně dostupná a přístupná v mnoha světových jazycích. Ubuntu zajišťuje komunitní i profesionální podporu. Je spravována britskou společností Canocnical Ltd. firemní web. Nové verze LTS (tzv. vydání s dlouhodobou podporou) vychází jednou za dva roky, běžné verze jsou pak vydávány dvakrát ročně. Kromě Ubuntu existuje ještě Kubuntu, které používá grafické uživatelské rozhraní KDE, nebo Xubuntu, které používá grafické uživatelské rozhraní Xfce na rozdíl od Ubuntu, které používá GNOME a další odnože. Také existuje Edubuntu, které je zaměřeno na výuku.
-
Linux Mint – Tato distribuce vhodná pro začátečníky i pokročilé vychází z Ubuntu, zaměřená hlavně na konzervativní uživatele. Je volně dostupná a přístupná v mnoha světových jazycích. Kolem distribuce vznikla rozsáhlá komunita, která zajišťuje podporu. Protože Linux Mint vychází z Ubuntu, tak přejímá i jeho systém vydávání nových verzí. Hlavní desktopová prostředí jsou Cinnamon, MATE, Xfce. Sesterská distribuce, která vychází z Debianu, se jmenuje Linux Mint Debian Edition.
-
-
Fedora – Sponzoruje firma Red Hat, jejíž distribuce je na tomto systému založena. Je to volná distribuce, která vzniká podobně jako Debian. Klade důraz na otevřenost a bezpečnost.
-
Red Hat Linux – jedna z nejstarších distribucí, dnes komerční hlavně díky Red Hat Enterprise Linuxu. V Red Hatu vznikl balíčkovací systém RPM. Na desktopech se již často nepoužívá.
-
Slackware – Jedna z prvních distribucí, vhodná spíše pro pokročilejší uživatele.
-
Gentoo – Metadistribuce, poskytující plnou kontrolu uživatele nad svým prostředím za cenu distribuce používající source based instalaci a kompilaci binárních balíčku až u uživatele. Po instalaci uživatel dostává optimalizovaný systém a software na svůj počítač.
-
OpenSUSE – Linuxová distribuce vyvíjená původně jako SUSE Linux firmou SUSE. Nyní s komunitním vývojem se zaměřením na snadnou správu systému a univerzální použití.
-
SUSE Linux Enterprise – komerční linuxová distribuce s rozšířeními na Server a Desktop. Používá se hlavně u velkých společností a mainframech
-
Arch Linux je nezávislá linuxová distribuce vytvořená Juddem Vinetem, jenž se inspiroval distribucí CRUX Linux. Arch Linux je vyvíjen jako nenáročný, odlehčený a snadno přizpůsobitelný systém. Tato distribuce obsahuje vlastní systém binárních balíčků, které jsou spravovány Pacmanem apod.
Velký přehled Linuxových distribucí (a nejenom Linuxových) najdete na serveru Distrowatch.com (v době psaní tohoto článku jich tam bylo 958).
Správa softwarových balíčků
Distribuce jsou obvykle rozděleny do balíčků. Každý balíček obsahuje konkrétní aplikaci nebo službu. Příklady balíčků jsou knihovna pro zpracování obrazového formátu PNG, kolekce písem a nebo webový prohlížeč.
Balíček je obvykle poskytován jako zkompilovaný kód, přičemž instalace a odstranění balíčků je řešeno systémem pro správu balíčků spíše než jednoduchým archivátorem souborů. Každý balíček určený pro takový systém obsahuje metainformace, jako je jeho popis, číslo verze a jeho závislosti (další balíčky, které vyžaduje ke spuštění). Systém správy balíčků vyhodnocuje tyto metainformace, aby umožnil vyhledávání balíčků, provedl automatické upgrady na novější verze a zkontroloval, zda jsou přítomny všechny závislosti balíčku (a buď upozorní uživatele, aby je nainstaloval, nebo je nainstaluje automaticky). Balíček může být také poskytnut i jako zdrojový kód ke kompilaci v systému.
Většina distribucí instaluje balíčky, včetně jádra a dalších komponent jádra operačního systému, v předem určené konfiguraci. Několik nyní vyžaduje nebo povoluje úpravy konfigurace při první instalaci. Díky tomu je instalace méně skličující, zejména pro nové uživatele, ale není vždy přijatelná. Pro specifické požadavky musí být velká část softwaru pečlivě nakonfigurována, aby byla užitečná, aby správně fungovala s jiným softwarem nebo byla zabezpečená, a místní správci jsou často nuceni trávit čas jeho kontrolou a překonfigurováním.
Některé (ale ne všechny) distribuce vynakládají značné úsilí na úpravu a přizpůsobení softwaru, který obsahují, a některé poskytují konfigurační nástroje, které uživatelům v tom pomáhají.
Získáním a instalací všeho běžně dostupného v distribuci může správce vytvořit instalaci „bez distribuce“. Je možné vybudovat takové systémy od nuly a zcela se vyhnout distribucím. Člověk potřebuje způsob, jak vygenerovat první binární soubory, dokud nebude systém hostit sám sebe. To lze provést kompilací na jiném systému schopném vytvářet binární soubory pro zamýšlený cíl (případně křížovou kompilací). Viz například Linux From Scratch.
Binární balíčky
Výhody:
-
Jednoduchá a rychlá instalace, správce balíčků umí vyřešit závislosti.
Nevýhody:
-
Mnoho závislostí na jiných balíčcích, někdy jsou závislosti téměř neřešitelné.
-
Některé balíčky nejsou dostupné pro některé distribuce, protože to autoři nedělají, nebo daná distribuce nemá tento balíček zařazen. (Týká se ho hlavně specialit).
Binární balíčky používá většina známých distribucí.
Debian a jeho klony mají příponu .deb, k instalaci a správě se používá program apt.
Redhat a jeho klony mají příponu balíčku *.rpm, k instalaci a správě se používá program yum.
Zdrojové balíčky
Výhody:
-
děláme si to sami ze zdojových kódů, můžeme si balíček přizpůsobit podle svého
Nevýhody:
-
kompilace je časově a výpočetné náročná a nemusí se to vždy povést na první pokus.
Průběžné distribuce versus standardní vydání
Průběžné distribuce (rolling distribution) Linuxu jsou udržovány aktuální pomocí malých a častých aktualizací (update).
Repozitáře průběžných distribucí obvykle obsahují velmi nedávné verze softwaru – často poslední dostupné stabilní verze. Mají pseudovydání a instalační média, která jsou pouhými snímky distribuce v době vydání instalačního obrazu. Obvykle lze operační systém s postupným vydáním nainstalovaný ze staršího instalačního média plně aktualizovat po jeho instalaci.
V závislosti na případu použití mohou existovat klady a zápory metod vývoje softwaru se standardním vydáním i postupným vydáním.
Pokud jde o proces vývoje softwaru, standardní vydání (standard releases) vyžadují značné vývojářské úsilí, aby staré verze byly aktuální, a to šířením oprav chyb zpět do nejnovější větve, oproti zaměření na nejnovější vývojovou větev. Na rozdíl od průběžných verzí také standardní vydání vyžadují vývoj a údržbu více než jedné větve kódu, což zvyšuje pracovní zátěž vývojářů a správců softwaru.
Na druhou stranu jsou softwarové funkce a plánování technologií jednodušší ve standardních verzích díky lepšímu pochopení nadcházejících funkcí v příštích verzích. Cykly vydávání softwaru lze také synchronizovat s cykly velkých upstream softwarových projektů, jako jsou desktopová prostředí.
Pokud jde o uživatelskou zkušenost, standardní verze jsou často považovány za stabilnější a bez chyb, protože softwarové konflikty lze snáze řešit a softwarový balík důkladněji testovat a vyhodnocovat během cyklu vývoje softwaru. Z tohoto důvodu bývají preferovanou volbou v podnikových prostředích a kritických úkolech.
Průběžné verze však nabízejí aktuálnější software, který může také poskytnout zvýšenou stabilitu a méně softwarových chyb spolu s dalšími výhodami nových funkcí, větší funkčností, vyšší rychlostí běhu a vylepšeným zabezpečením systému a aplikací. Pokud jde o zabezpečení softwaru, model postupného vydání může mít výhody ve včasných aktualizacích zabezpečení, opravách bezpečnostních chyb a zranitelností systému nebo aplikací, na které může standardní vydání čekat až do dalšího vydání nebo záplaty v různých verzích. V distribuci s postupným uvolňováním, kde se uživatel rozhodl provozovat jej jako vysoce dynamický systém, může neustálý přísun softwarových balíčků přinést nové nezamýšlené zranitelnosti.
Distribuce fungující pomocí standardních vydání (standard releases), poskytují většinou několik verzí:
-
development nebo unstable — aktuálně vyvýjená verze, která slouží k testování a která se později stane stable (stabilní verzí)
-
stable — podporovaná veze, vývojáři opravují chyby v softwaru, nové vlastnosti se nepřidávají
-
long term support — verze s dlouhou podporou
-
unsupported — nepodporovaná verze, která již nedostává aktualizace
Operační systémy založené na jádře Linuxu
-
Android, komerční operační systém společnosti Google založený na Android OSP, který běží na mnoha zařízeních, jako jsou chytré telefony, chytré televize, set-top boxy.
-
ChromeOS, komerční operační systém Google založený na ChromiumOS, který běží pouze na Chromeboocích, Chromeboxech a tabletech. Stejně jako Android má obchod Google Play a další aplikace Google. Podpora aplikací, které vyžadují kompatibilitu s GNU, je k dispozici prostřednictvím virtuálního počítače s názvem Crostini, který Google označuje jako podpora Linuxu, viz Chromebook — Kompatibilita s aplikacemi pro Linux (kompatibilita s GNU).
Zda se výše uvedené operační systémy počítají jako „distribuce Linuxu“, je kontroverzní téma. Používají linuxové jádro, takže Linux Foundation a Chris DiBona, šéf open-source společnosti Google, souhlasí s tím, že Android je distribuce Linuxu; jiní, jako například inženýr Google Patrick Brady, nesouhlasí s tím, že upozorňují na nedostatek podpory mnoha nástrojů GNU v Androidu, včetně glibc.
Mezi další operační systémy založené na jádře Linuxu patří Cyanogenmod, jeho fork LineageOS, Android-x86 a nově Tizen, Mer/Sailfish OS a KaiOS.
Specializované distribuce
-
Směrovače — například OpenWrt — super distribuce pro malé krabičky. Mikrotik RouterOS je komerční zavřený OS založený na Linuxu.
-
Specifické platformy — například Raspberry Pi OS pro platformu Raspberry Pi (wiki).
-
Počítačová bezpečnost, digitální forenzní a penetrační testování Kali Linux, Parrot OS
-
Soukromí a anonymita – například cílené na Tails, Whonix, Qubes a FreedomBox
-
Offline použití – například Endless OS
-
Hraní – například SteamOS
Instalace
Existuje několik způsobů, jak nainstalovat distribuci Linuxu. Nejběžnější metodou instalace Linuxu je zavedení z živého USB flash disku, který lze vytvořit pomocí aplikace pro zápis obrázků USB a obrazu ISO, který lze stáhnout z různých webových stránek distribuce Linuxu. Jako „instalační médium“ lze také použít DVD disky, CD disky, síťové instalace a dokonce i další pevné disky.
V 90. letech se linuxové distribuce instalovaly pomocí sad disket, ale to bylo u všech hlavních distribucí opuštěno. V roce 2000 mnoho distribucí nabízelo CD a DVD sady s důležitými balíčky na prvním disku a méně důležitými balíčky na pozdějších. Některé distribuce, jako například Debian, také umožňovaly instalaci přes síť po zavedení buď ze sady disket nebo CD s pouze malým množstvím dat.
Noví uživatelé obvykle začínají rozdělením pevného disku na oddíly, aby si zachovali svůj dříve nainstalovaný operační systém. Distribuci Linuxu pak lze nainstalovat na vlastní samostatný oddíl, aniž by to ovlivnilo dříve uložená data.
V nastavení Live CD počítač zavede celý operační systém z disku CD, aniž by jej nejprve instaloval na pevný disk počítače. Mnoho distribucí má instalační program Live CD, kde počítač zavede operační systém z disku a poté jej lze nainstalovat na pevný disk počítače, což zajišťuje bezproblémový přechod z operačního systému spuštěného z CD na operační systém spuštěný z pevného disku.
Servery i osobní počítače, které jsou dodávány s již nainstalovaným Linuxem, jsou k dispozici od prodejců včetně Hewlett-Packard, Dell a System76.
Na vestavěných zařízeních je Linux obvykle uložen ve firmwaru zařízení a může nebo nemusí být přístupný pro spotřebitele.
Anaconda, jeden z nejpopulárnějších instalačních programů, je používán Red Hat Enterprise Linux, Fedora (která používá Fedora Media Writer) a dalšími distribucemi ke zjednodušení procesu instalace. Debian, Ubuntu a mnoho dalších používá Debian-Installer.
Proces neustálého přepínání mezi distribucemi je často označován jako „distro hopping“. Software pro virtuální stroje, jako je VirtualBox a VMware Workstation, virtualizuje hardware a umožňuje uživatelům testovat živá média na virtuálním stroji bez instalace do skutečného systému. Některé webové stránky jako DistroWatch nabízejí seznamy distribucí a odkazují na snímky obrazovky operačních systémů jako způsob, jak získat první dojem o různých distribucích.
Instalace pomocí stávajícího operačního systému
Některé distribuce umožňují uživateli nainstalovat Linux nad jejich aktuální systém, jako je WinLinux nebo coLinux. Linux se instaluje na oddíl pevného disku systému Windows a lze jej spustit ze samotného systému Windows.
Virtuální stroje (jako VirtualBox nebo VMware) také umožňují provoz Linuxu v jiném OS. Software VM simuluje samostatný počítač, na kterém je nainstalován systém Linux. Po instalaci lze virtuální stroj spustit, jako by to byl nezávislý počítač.
K dispozici jsou také různé nástroje pro provádění úplných instalací s duálním spouštěním ze stávajících platforem bez CD, zejména:
Nyní zastaralý instalační program Wubi, který umožňuje uživatelům Windows stáhnout a nainstalovat Ubuntu nebo jeho deriváty do oddílu FAT32 nebo NTFS bez instalačního CD, což uživatelům umožňuje snadno duální bootování mezi oběma operačními systémy na stejném pevném disku bez ztráty dat . Nahrazeno Ubiquity.
Win32-loader, který je v procesu integrace do oficiálních CD/DVD Debianu a umožňuje uživatelům Windows nainstalovat Debian bez CD, i když provádí síťovou instalaci, a proto vyžaduje přerozdělení
UNetbootin, který umožňuje uživatelům Windows a Linux provádět podobné síťové instalace bez CD pro širokou škálu linuxových distribucí a navíc poskytuje živou podporu vytváření USB
Poznámka na konec
Kdysi jsem četl památnou větu Petera Nortona autora proslulého Norton Commanderu a Norton Utilities, že "Unix je mnohem větší zábava než DOS". K tomu mohu přidat, že "Linux je mnohem větší zábava než Windows".