Úvod do linuxu



1. Na začátku byl UNIX

1.1. UNIX

Výběr z historie

Charakteristika UNIXu:

  1. Víceúlohový
  2. Víceuživatelský
  3. Univerzální
  4. Výkonný
  5. Robustní
  6. Bezpečný
  7. Vstup a výstup není závislý na zařízení - vše, i HW je soubor (čtení, zápis)
  8. Velmi silný příkazový řádek s vlastním programovacím jazykem

1.2. Linux

Charakteristika Linuxu:

2. Vývoj unixových systémů

3. GNU/Linux

Termín "GNU/Linux" se týká operačního systému, který vznikl spojením projektu GNU (GNU's Not Unix) a jádra Linux. Ačkoli se běžně mluví o "Linuxu" jako celém operačním systému, což zahrnuje jádro a mnoho dalších programů, Richard Stallman, zakladatel projektu GNU, upozorňoval na důležitost uznání příspěvku projektu GNU.

Richard Stallman a další zastánci otevřeného softwaru považují za důležité zdůraznit úsilí projektu GNU při vytváření svobodného operačního systému, a proto používají termín "GNU/Linux" jako způsob, jak upozornit na oba příspěvky - projekt GNU a jádro Linux - do vzniku tohoto operačního systému.

Toto označení však bylo a stále je předmětem debat a diskusí. Někteří lidé preferují jednodušší termín "Linux" pro celý operační systém, zatímco jiní zdůrazňují významné příspěvky projektu GNU a upřednostňují označení "GNU/Linux".

4. Kde se s Linuxem setkáme

Linux se vyskytuje a používá se v mnoha různých oblastech, ať už jde o profesionální nasazení, vývojové prostředí nebo domácí použití. Zde je deset hlavních oblastí, kde se Linux nejčastěji uplatňuje:

  1. Serverové prostředí: Linux je velmi populární jako operační systém pro servery (převažuje sestava LAMP). Jeho stabilita, bezpečnost a možnost práce s velkým množstvím uživatelů ho činí ideální volbou pro webové servery, aplikační servery, databázové servery a další.

  2. Cloudové a virtualizační platformy: Linux hraje klíčovou roli v cloudových službách a virtualizačních platformách, jako je například platforma OpenStack. Linuxové kontejnery (např. Docker) umožňují snadné balení a nasazování aplikací.

  3. Vývoj software: Mnoho vývojářů preferuje Linux pro vývoj softwaru, díky široké podpoře vývojářských nástrojů a terminálů. Mnoho open-source projektů má svůj základ právě na Linuxu.

  4. Superpočítače a výpočetní clustery: Linux je běžně používán pro superpočítače a výpočetní clustery díky své schopnosti efektivně spravovat výpočetní výkon a velké datové toky (www.top500.org).

  5. Síťová infrastruktura: Linux se často využívá pro správu síťové infrastruktury, jako jsou směrovače, firewally, přepínače a další síťová zařízení.

  6. Mobilní zařízení: Android, nejrozšířenější mobilní operační systém na světě, je postaven na jádru Linuxu. Toto jádro poskytuje základní funkčnost a komunikaci pro mobilní zařízení.

  7. Internet of Things (IoT): Linux je často používán v zařízeních Internetu věcí, od chytrých domácností až po průmyslová zařízení, protože nabízí možnost provozovat různé typy zařízení s různými konfiguracemi.

  8. Vestavěné systémy: Linux se používá v vestavěných systémech, jako jsou routery, televizory (Tizen - Samsung, WebOS - LG), digitální reklamní panely a další spotřební elektronika.

  9. Vzdělávací a výzkumné účely: Mnoho škol a výzkumných institucí používá Linux jako nástroj pro výzkum, výuku a vývoj nových technologií.

  10. Domácí a osobní počítače: Linux je k dispozici pro běžné uživatele jako alternativní operační systém k Windows a macOS. Existuje mnoho distribucí, které jsou zaměřeny na jednoduchost použití a estetiku pro běžného uživatele (Ubuntu, Mint, Fedora…).

Tyto oblasti jsou jen některými z mnoha, kde se Linux uplatňuje. Jeho flexibilita, otevřenost a rozmanitost přispívají k jeho širokému spektru využití.

5. GNU/GPL

GNU/GPL je sada licencí a jejich odvozenin (je jich hodně: www.gnu.org). CZ verze: https://jxself.org/translations/gpl-3.cz.shtml

GNU/GPL je licence pro svobodný a open source software, která byla vytvořena Richardem Stallmanem pro projekt GNU. Hlavními vlastnostmi této licence jsou:

Práva:

  1. Používat pro libovolný účel - soukromý, akademický, komerční
  2. Studovat zdrojový kód (je vojně dostupný na webu):
  3. Pozměňovat zdrojový kód
  4. Dále šířit

Povinnosti:

  1. Všechny změny zveřejnit
  2. Zachovat licenci

Takového SW existuje velmi mnoho a zdaleka nejen pro linux. Například?…

Nikde není výslovně řečeno, že takový SW musí být zdarma!

6. Odvozené licence

Seznam odvozených licencí od GNU/GPL, které jsou běžně používané v open source komunitě:

  1. GNU Lesser General Public License (GNU LGPL)
  2. Mozilla Public License (MPL)
  3. Eclipse Public License (EPL)
  4. Common Development and Distribution License (CDDL)
  5. Affero General Public License (AGPL)
  6. Apple Public Source License (APSL)
  7. IBM Public License (IPL)
  8. Open Watcom Public License (OWPL)
  9. Intel Open Source License (Intel OSL)
  10. Nokia Open Source License (Nokia OSL)
  11. MIT License (MIT)
  12. Berkeley Software Distribution License (BSD)
  13. ...

Seznam není úplný. Všechny obsahují plus mínus obdobná práva a povinnosti. Nejméně striktní je poslední (BSD), která nevyžaduje změněný kód zveřejnit.

7. Kdo jej vyvíjí

Linux je vyvíjen velkým množstvím jednotlivých vývojářů, komunit a také společností. Některé z největších firem a organizací, které aktivně přispívají do vývoje Linuxu, jsou:

  1. IBM: má dlouhou historii podpory Linuxu. Společnost přispívá k vývoji jádra, open-source projektů a poskytuje řadu produktů a služeb založených na Linuxu.

  2. Red Hat (nyní součástí IBM): je jedním z předních dodavatelů komerčních distribucí Linuxu a má také značný vliv na vývoj jádra a open-source ekosystému kolem Linuxu.

  3. Google: používá Linux pro mnoho svých služeb a produktů. Android, nejrozšířenější mobilní operační systém, je postaven na jádře Linuxu, a Google také aktivně přispívá k vývoji jádra a dalších open-source projektů.

  4. Intel: má zájem na podpoře Linuxu a otevřeného hardwaru. Přispívá k vývoji jádra, ovladačů a dalšího software pro optimalizaci na svých procesorech.

  5. AMD: je další významný výrobce procesorů, který přispívá k vývoji jádra Linuxu a ovladačů, aby zajišťoval optimální podporu svých produktů.

  6. NVIDIA: je známý výrobce grafických karet. Zatímco dříve byla kritizována za omezenou podporu otevřených ovladačů pro Linux, v posledních letech začala přispívat k vývoji open-source ovladačů pro své grafické karty.

  7. Microsoft: se v minulosti zaměřoval na svůj vlastní operační systém Windows, ale v poslední době začal přispívat k vývoji Linuxu. Společnost přinesla podporu pro Linux v cloudových službách Azure a také přispívá do jádra Linuxu a dalších open-source projektů.

Tato seznam není úplný, a existuje mnoho dalších společností, které přispívají do vývoje Linuxu. Vývoj Linuxu je kolektivním úsilím, kde přispívají lidé z celého světa, a spolupráce firem je důležitou součástí tohoto procesu.

GNU/Linux je největším a nejdůležitějším společným projektem lidstva. Nebýt jej, neexistuje Internet a vše, co s ním souvisí (a že toho je).

8. Generování zisku

Linux je open source operační systém, což znamená, že jeho zdrojový kód je veřejně dostupný a může být modifikován a distribuován bezplatně. To neznamená, že neexistuje způsob, jakým mohou firmy a jednotlivci vytvářet zisk s Linuxem. Níže je několik způsobů, jak může být generován zisk s Linuxem:

  1. Podpora a konzultační služby: Firma nebo jednotlivec může nabízet placenou technickou podporu pro Linux, což zahrnuje různé úrovně asistence, od základního poradenství až po řešení složitých problémů. Zákazníci, kteří potřebují spolehlivou pomoc při provozu a údržbě Linuxu, mohou být ochotni platit za tuto podporu.

  2. Vývoj zakázkových funkcí a úpravy: Firmy mohou vytvářet zakázkové funkce a úpravy operačního systému Linux pro specifické potřeby zákazníků. To může zahrnovat vývoj nových ovladačů, integraci s existujícími systémy nebo jiné úpravy, které zlepší funkcionalitu systému pro konkrétní klientelu.

  3. Distribuce a předplacené služby: Některé firmy nabízejí vlastní distribuce Linuxu s přidanou hodnotou, jako jsou nástroje pro snadnou instalaci a správu, nebo předem konfigurované verze pro určité účely (např. serverové nebo vývojové platformy). Tyto firmy mohou nabízet placené předplatné služby spolu s těmito distribucemi.

  4. Hardware a zařízení s Linuxem: Výrobci hardwaru mohou prodávat počítače, servery, zařízení IoT a jiné produkty, na kterých je operační systém Linux předinstalován. Tím mohou získat zisk z prodeje fyzických produktů.

  5. Patenty a duševní vlastnictví: Některé firmy mohou vlastnit patenty nebo duševní vlastnictví, které je spojeno s některými aspekty Linuxu. Mohou uzavřít licenční dohody s dalšími firmami, které chtějí používat tyto patenty, a tím získávat licenční poplatky.

  6. Cloudové služby a virtualizace: Mnoho cloudových poskytovatelů používá Linux jako základní operační systém pro své služby. Tyto služby mohou být placené a zahrnovat pronájem virtuálních serverů, správu dat a další funkce.

Je důležité si uvědomit, že i když je samotný Linux k dispozici zdarma, služby a přidaná hodnota kolem něj mohou být účtovány za účelem získání zisku. Společenství, vývojáři a firmy se často podílejí na vývoji a podpoře Linuxu a různých projektů s otevřeným zdrojovým kódem, což přispívá k jeho úspěchu a rozšíření.

9. Distribuce

Distribuce = Jádro (kernel) operačního systému + sada svobodného SW + instalátor + další utility + název + průběžná údržba (opravy, aktualizace…)

Existuje i mnoho speciálních distribucí. Jsou buď jednoúčelové nebo zaměřené na specifickou oblast použití. Níže je výběr některých z nich. Zvýrazněné aktivně využívám.

Seznam jsem delší dobu nekontroloval. Je možné, že některé už zanikly nebo se přejmenovaly.

  1. Linux From Scratch
  2. SystemRescueCd
  3. Ultimate Boot CD
  4. CloneZilla
  5. Coyote Linux
  6. IPCop
  7. BackTrack
  8. Sentry Firewall
  9. MoviX
  10. GeeXboX
  11. Flightlinux
  12. GParted Live
  13. Freeduc-games
  14. AdvanceCD
  15. XBMC/Kodi
  16. Linux Console
  17. Slax
  18. Cooperative Linux

10. Debian

Debian = Deborah (manželka) + Ian

10.1. Verze Debianu a jejich kódová jména

Nové verze vychází každý lichý rok


Obrázek: Kódová jména Debianu

10.2. Strom "potomků" Debianu

https://commons.wikimedia.org/wiki/File:Debian_family_tree_11-06.png

10.3. Debian jako aplikace na Windows 10/11

Procesor musí podporovat WSL2, viz https://learn.microsoft.com/en-us/windows/wsl/install-manual


Obrázek: Debian jako aplikace na Windows 10/11

11. Terminál

11.1. Přihlášení do linuxového terminálu

Přihlašovací údaje

Přihlášení přes příkazový řádek Windows

(1) Spusťte příkazový řádek Windows (Start > cmd > Enter) a zapište:

ssh 10XPrijmeniJ@tux.panska.cz

(2) Při prvním přihlášení na daném počítači musíte navíc odsouhlasit výměnu šifrovacích klíčů (zapsat yes a Enter).

(3) Zapište vaše školní heslo a potvrďte Enterem.

*) ssh = Secure Shell

11.2. Příkazový interpret (shell)

Když se přihlásíte do operačního systému Linux, objeví se na obrazovce výzva příkazového řádku (prompt), která může vypadat různě, v Debianu typicky vypadá takto:

jmeno@pocitac:~$

Podle názvu „výzva příkazového řádku“ lze usuzovat, že systém na tomto místě očekává zadání příkazu. Každý příkaz operačního systému Linux představuje posloupnost písmen, čísel a znaků. Nepatří sem však mezery. Platnými příkazy operačního systému Unix jsou například: ls, cat nebo cd.

Unix má také vlastnost označovanou jako „case-sensitive“ (doslova citlivý na malá a velká písmena). Příkaz ls je správně, naopak příkazy Ls, LS nebo lS nebudou fungovat - shell vypíše chybové hlášení.

11.3. bash (příkazový interpret)

Bash byl vytvořen nadací Free Software Foundation.

Bash je zkratkou pro Bourne Again Shell, což tradičně představuje spíše slovní hříčku typickou pro operační systém Unix. Jedná se o vylepšený příkazový procesor Bourne shell.

Má podobné programátorské vlastnosti jako Bourne shell a také má spoustu dobrých vlastností převzatých z příkazového interpretu C shell.

Bash je implicitním příkazovým interpretem v systémech Linux i macOS.

Když se přihlásíte do systému, je to právě program bash, který zobrazuje výzvu příkazového řádku (prompt). Bude vás tak bude provázet po celou dobu práce s linuxem.


Obrázek: Bash ve Windows (WSL)

12. ❓ Kontrolní otázky

  1. Co bylo na začátku vývoje operačního systému Linux?
  2. Jaký je hlavní rozdíl mezi systémem UNIX, Linuxem a GNU/Linux?
  3. Kde všude se můžeme setkat s operačním systémem Linux?
  4. Co znamená zkratka "GNU/GPL" a jaký je její význam pro Linux?
  5. Co jsou to odvozené licence v kontextu Linuxu?
  6. Kdo má hlavní zodpovědnost za vývoj jádra Linuxu?
  7. Jakým způsobem mohou organizace a jednotlivci generovat zisk pomocí Linuxu?
  8. Co je distribuce v kontextu operačního systému Linux?
  9. Uveďte několik verzí Debianu a jejich příslušná kódová jména.
  10. Jaký je vztah mezi Debianem a jeho "potomky" a proč se používá toto označení?