GNU/Linux
2 GNU Slovo GNU je jednak rekurzivní zkratka anglických slov GNU's Not Unix, jednak také anglickým výrazem pro pakoně. Maskotem GNU je tedy pakůň Heckert, kterého nakreslil Etienne Suvasa.
3 Linux Aktuálním logem Linuxu je tučňák, ale nebylo tomu tak vždy. Larry Ewing jej vytvořil v grafickém programu GIMP až v roce Samotného tučňáka si ale vymyslel Linus Torvalds. Po vytvoření samotného obrázku začalo hledání vhodného jména. Nakonec zvítězil Tux. Jméno Tux vychází jednak ze zkratky Torvalds UniX a jednak je to zkráceně tuxedo, což je anglický výraz pro frak.
4 Historie GNU V roce 1983 založil Richard Matthew Stallman projekt GNU, jehož cílem bylo vytvořit nový operační systém unixového typu, který by byl složen jen ze svobodného software. Za tímto účelem sepsal Stallman novou licenci GNU GPL, pod kterou jsou šířeny všechny části systému GNU. Během necelých deseti let se GNU stal zcela použitelným systémem kompatibilním s komerčními unixy. K dispozici byly všechny důležité aplikace, systémové knihovny, překladač (GCC), textový editor (Emacs), shell (bash a další). Chybělo jen jádro, které by zajistilo samotný běh systému a komunikaci s hardware. V roce 1990 začal projekt GNU vyvíjet své vlastní jádro jménem GNU Hurd (po upuštění od předchozího pokusu jménem Trix). Podle Thomase Bushnella, původního architekta Hurdu, bylo původním plánem přepracovat jádro BSD 4.4-Lite. Stallman kvůli špatné spolupráci programátorů z Kalifornské univerzity v Berkeley, rozhodl použít mikrojádro Mach. Ale, jak se později ukázalo, vývoj byl nečekaně složitý a pokračoval velmi pomalu.
5 Historie Linux Mezitím v roce 1991 v Helsinkách započal vývoj jiného jádra, které nakonec dostalo jméno „Linux“. Původně ho začal psát finský student univerzity Linus Torvalds jako svůj koníček. Torvalds vycházel z Minixu, což byl zjednodušený klon Unixu napsaný Andrejem Tanenbaumen pro účely výuky návrhu operačních systémů. Avšak Tanenbaum nikomu nedal svolení k úpravám svého systému, a tak Torvalds napsal vlastní náhradu Minixu. Linux začal jako emulátor terminálu napsaný v IA-32 assembleru a jazyce C, který byl pak zkompilován do binární podoby a nabootován z diskety, takže mohl běžet mimo původní operační systém. V terminálovém emulátoru běžela dvě vlákna: jedno pro odesílání znaků na sériový port a druhé pro příjem. Když pak Linus chtěl číst nebo zapisovat data na disk, rozšířil tento terminál, který uměl přepínat úlohy, o celý ovladač souborového systému. Poté se začal pomalu rozvíjet v celé jádro operačního systému určené pro systémy kompatibilní se standardem POSIX.
6 Historie - Linux Jeho jádro si okamžitě našlo řadu příznivců, kteří začali na jeho vývoji spolupracovat a přispívat vlastními myšlenkami. Vývoj se rozrostl do obřích rozměrů. Linus se později rozhodl zdrojové kódy uvolnit pod svobodnou licencí GNU GPL. Jelikož byl vývoj Linuxu mnohem úspěšnější a rychlejší něž vývoj Hurdu, poměrně brzy došlo k logickému kroku a operační systém GNU se začal používat společně s jádrem Linux. Tím vznikl výsledný produkt se správným názvem GNU/Linux. Velmi často se používá jen krátké označení Linux, ale podstatná část systému pochází právě z projektu GNU, který kromě Linuxu může běžet s jádry Hurd, Minix, FreeBSD a dalšími. Velmi často je také chybně uváděno, že Linux je součástí GNU nebo naopak. Jedná se stále o dva zcela nezávislé projekty, které ovšem dohromady tvoří nejpoužívanější kombinaci, kterou můžeme ve světě svobodného software nalézt.
7 Současnost Spojením GNU, Linuxu a dalších projektů vznikají takzvané distribuce, jež jsou kompilací jednotlivých částí, a tvoří tak komplexní operační systém. Nikdy proto doopravdy nepracujeme jen s Linuxem nebo GNU, ale s konkrétní distribucí. Hurd není stále dokončen a jeho moderní návrh velmi komplikuje vývoj a testování. Práci na Hurdu se také věnuje řádově méně programátorů než práci na Linuxu. Přesto lidé z GNU stále plánují jeho dokončení. Protože se Linux neustále vyvíjí, je třeba zavést pořádek do jednotlivých verzí jádra. Označení jádra se skládá ze tří částí. První část označuje číslo verze. Pokud máte verzi 1 a 2, zjistíte, že je v nich podstatný rozdíl. Druhé číslo označuje různé revize jednotlivých verzí. Pokud je číslo sudé, jedná se o stabilní revizi, pokud je číslo liché, jedná se o testovací revizi. Po otestování a opravení chyb je revize prohlášena za stabilní a je jí přiděleno sudé číslo. Třetí číslo pak označuje podverzi revize (např.: ) Linus dnes žije v Portlandu v Oregonu a je stále správcem vývoje a ponechává si výhradní právo rozhodování ve všech otázkách kolem projektu. Aktuální jádra obsahují přibližně 2 % jeho kódů. Richard Stallman se dnes věnuje obhajobě svobodného software a práci pro GNU Foundation. Ve volném čase vyvíjí textový editor GNU Emacs.
8 Licence Linuxové jádro a mnoho dalších GNU komponent je licencováno pod GNU General Public License (GPL). Zdrojové kódy software pod GPL mohou být svobodně upravovány a používány, šířeny však musí být opět pod GPL (jestliže se je rozhodnete dále šířit) avšak binární formy software používající GPL mohou být poskytovány za libovolně vysokou úplatu. Ostatní subsystémy mohou mít jiné licence, ale všechny spadají do kategorie svobodného softwaru/open source. Některé knihovny například mají volnější licenci LGPL a X Window System používá MIT licenci. Ochrannou známku Linux (č ) na „software počítačového operačního systému, který usnadňuje práci s počítačem“ vlastní Linus Torvalds. Licencování této ochranné známky nyní obstarává Linux Mark Institute (LMI).
9 Distribuce Linux se převážně používá jako jádro GNU/Linuxových distribucí (zkráceně též distro). Ty jsou sestavovány jednotlivci, volnými týmy, ale i profesionálními organizacemi. Typická distribuce zahrnuje jádro, další systémový a aplikační software spolu s prostředky, jak celý systém nainstalovat na počítač. Různé distribuce byly vyvinuty k různým účelům, mezi než patří možnost mít hotový systém připravený k použití, lokalizace, podpora určité počítačové architektury, použití v real-time a v embedded systémech. Některé záměrně obsahují výhradně svobodný software. V současné době existuje kolem 450 různých distribucí. Typická distribuce k obecnému použití obsahuje linuxové jádro, určité GNU knihovny a nástroje, příkazové shelly a tisíce balíčků aplikačního softwaru - od kancelářských balíků a grafického prostředí X Windows System, přes kompilátory různých jazyků, textové editory a vědecké nástroje. Mnoho screenshotů různých linuxových distribucí a programů (např. Arch Linux, Danix, Debian GNU/Linux, Fedora, Tentok, Knoppix, Mandriva Linux, Red Hat Enterprise, Slackware, Slax, Sourcemage, SuSE, Ubuntu).
10 Základy ovládání (shell) Nástroje pro textové zpracování Výstup kompletních souborů catspojení více souborů a zápis na standardní výstup tacspojené a zápis souborů v opačném pořadí nlčíslování řádků a zápis na standardní výstup Výstup pouze části souboru headvýstup začátku souboru tailvýstup konce souboru splitrozdělení souboru do více stejně velkých částí
11 Nástroje pro textové zpracování Sumarizace obsahu souboru wcpředá počet bajtů, slov a řádků souboru zjistí počet řádků (-l), slov (-w) či znaků (-c) ve vstupním souboru sumpředá kontrolní součet souboru Třídění obsahu souboru Třídění obsahu souboru sortsetřídí obsah souboru -n - setřídění numerické (pokud jsou číselné hodnoty) -r - setřídění sestupné -b - ignorovat počáteční mezery -f - nebudou se rozlišovat malá a velká písmena (velká písmena se převádí na malá) -u - z výstupního souboru budou vyloučeny duplicitní řádky (pro posouzení duplicit se porovnávají pouze klíče)
12 Nástroje pro práci se soubory Příkaz pro čtení obsahu adresáře lsvýpis adresáře -a vypisuje jména všech souborů v adresáři (včetně těch, které začínají tečkou) -l vypisuje kromě jména souboru i další informace o něm, např. přístupová práva, vlastníka souboru, velikost souboru, čas poslední modifikace souboru). Tomuto typu výpisu se říká "dlouhý výpis". -R vypisuje i obsah podadresářů daného adresáře. Příkazy pro kopírování, přesun, rušení souborů apod. cpkopírování souborů a adresářů -r spolu s adresářem kopíruje i jeho obsah mvpřesun, přejmenování souborů a adresářů lnvytvoření odkazů
13 Příkazy pro kopírování, přesun, rušení souborů apod. rmrušení souborů a adresářů -f - program rm se neptá uživatele na potvrzení vymazání souborů -i - program rm se ptá uživatele u každého souboru, zda se má opravdu zrušit -r - zrušení celého podstromu včetně adresářů (i neprázdných) touchzměna časové informace souboru dd kopírování souboru s konverzemi
14 Nástroje pro práci se soubory Příkazy pro změnu vlastnictví a přístupových práv chgrpzměna skupiny vlastníků chownzměna vlastníka a skupiny vlastníků chmodzměna přístupových práv u – vlastník, g – skupiny, o – ostatní přidělení práv: r – čtení, w – psaní, x - spouštění Příkazy pro vytvoření, rušení a zjištění kapacity adresářů mkdirvytvoření adresáře rmdirzrušení prázdného adresáře duzjištění kapacity adresáře Další příkazy dfzjištění volné kapacity systému souborů mkfifovytvoření roury mknodvytvoření speciálního souboru
15 Shellovské nástroje Přesměrování teepřesměrování výstupu do více souborů -a nový text se připojí na konec souboru Příkazy pro výpis a nastavení pracovního prostředí pwdzjištění pracovního adresáře sttyvýpis a změna charakteristik terminálu printenvvýpis aktuálních proměnných prostředí ttyzjištění jména terminálu Informace o uživatelích idoznámení o UID a GID lognameoznámení přihlašovací jméno uživatele whoamioznámí informace o aktuálním uživateli groupsoznámí skupinu uživatelů usersoznámí jména přihlášených uživatelů whooznámí info o přihlášených uživatelích
16 Shellovské nástroje Systémové informace date unameinfo o systému hostnameoznámí a nastaví jméno počítače Jiné způsoby spouštění příkazů envspustí příkaz ve změněném prostředí nicespustí příkaz se změněnou prioritou suspustí proces pod jiným uživatelem