Open source a free software



Podobné dokumenty
konec šedesátých let vyvinut ze systému Multics původní účel systém pro zpracování textů autoři: Ken Thompson a Denis Ritchie systém pojmnoval Brian

Základní příkazy UNIXu (Linuxu)

Licence software. Přednáška číslo 10

Open source a Free software

Úvod do Linuxu SŠSI Tábor 1

99 % všech desktopů na platformě MS Windows

Rozdělení operačních systémů

Operační systém GNU/Linux

Přesměrování vstupu a výstupu. Posloupnost příkazů. Příkazy pro informaci o uživatelích

úvod Historie operačních systémů

Linux historie a současnost

Přednáška 2. Systémy souborů OS UNIX. Nástroje pro práci se souborovým systémem. Úvod do Operačních Systémů Přednáška 2

Svět svobodného softwaru

Před instalací 25 Minimální požadavky na systém Linux a Windows na jednom disku Zrušení instalace Mandriva Linuxu...

Tomáš Borland Valenta

Computer Press Brno 2003

LINUX ADRESÁŘOVÁ STRUKTURA. Co to, hrome, je? V této lekci se budeme brouzdat adresáři. SPŠ Teplice - 3.V

IT ESS II. 1. Operating Systém Fundamentals

Minimální požadavky na systém Linux a Windows na jednom disku Zrušení instalace Mandriva Linuxu... 23

Úvod do UNIXu. Okruh č. 1 - přihlášení, historie, práce se soubory. Jakub Galgonek. verze r1. inspirováno materiály Davida Hokszy

monolitická vrstvená virtuální počítač / stroj modulární struktura Klient server struktura

9. Software: programové vybavení počítače, aplikace

Jak funguje GNU/Linux

Úvod do operačního systému Linux Mgr. Josef Horálek

Základní příkazy pro práci se soubory

Definice OS. Operační systém je základní programové vybavení počítače, nezbytné pro jeho provoz.

ZÁKLADY PROGRAMOVÁNÍ. Mgr. Vladislav BEDNÁŘ /14

VY_32_INOVACE_INF.20. OS Linux

SÁM O SOBĚ DOKÁŽE POČÍTAČ DĚLAT JEN O MÁLO VÍC NEŽ TO, ŽE PO ZAPNUTÍ, PODOBNĚ JAKO KOJENEC PO PROBUZENÍ, CHCE JÍST.

Středisko UN*Xových technologií

1. přednáška pro začátečníky

Historie UNIXu a LINUXu - 1

Stručná instalační příručka SUSE Linux Enterprise Server 11

Software programové vybavení. 1. část

SOFTWARE. Programové vybavení počítače

PC Fand a Linux Budoucnost PC FANDu

Základní principy Open Source

Software. Placený, nebo zdarma? Ing. Simona Martínková Masarykovo gymnázium, Plzeň

Úvod do Unixu. man: příkaz pro zobrazení nápovědy k danému příkazu, programu (pokud je k dispozici), např. man cp. pwd: vypíše cestu k aktuální pozici

VirtualBox desktopová virtualizace. Zdeněk Merta

Linux jako alternativní operační systém

Základy informatiky. Operační systémy

František Hudek. únor ročník

VY_32_INOVACE_INF.18. Otevřený software

Na různých druzích počítačů se používají různé operační systémy. V průběhu času

DISTRIBUCE GNU/LINUXU

Historie UNIXu a Linuxu. Bohdan Milar bohdan.milar@liberix.cz

LINUX SOUBORY. Zadejme příkaz ls l! V této lekci se odrazíme od dlouhého výpisu příkazu ls a uvidíme, kam nás to zanese. SPŠ Teplice - 3.

Projekt implementace OS Linux do výuky informačních technologií

Aplikační programové vybavení

Linux-příkazový řádek

Téma 1: Práce s Desktop. Téma 1: Práce s Desktop

09. Operační systémy PC 1. DOS. Nejdůležitější zástupci DOSu:

Úvod do operačního systému Linux Mgr. Josef Horálek

Systém souborů (file system, FS)

IMPLEMENTACE OPERAČNÍHO SYSTÉMU LINUX DO VÝUKY INFORMAČNÍCH TECHNOLOGIÍ

Alternativní operační systémy. Martin Drlík, Daniel Krotil OSY2A, ITV

1.2 Operační systémy, aplikace

INFORMATIKA. Grafické studio ve škole

Architektura rodiny operačních systémů Windows NT Mgr. Josef Horálek

Srovnání Linuxu a BSD z pohledu jádra. Jan Dyrczyk

O projektu OpenOffice.org a IBM OS/2 OS/2 a Open Source

MS WINDOWS I. řada operačních systémů firmy Microsoft *1985 -? Historie. Práce ve Windows XP. Architektura. Instalace. Spouštění

SOU Valašské Klobouky. VY_32_INOVACE_01_15 IKT Operační systémy, základní vlastnosti, přehled. Mgr. Radomír Soural

SADA VY_32_INOVACE_PP1

Lekce 1 IMPLEMENTACE OPERAČNÍHO SYSTÉMU LINUX DO VÝUKY INFORMAČNÍCH TECHNOLOGIÍ

9. Sítě MS Windows. Distribuce Windows. Obchodní označení. Jednoduchý OS pro osobní počítače, pouze FAT, základní podpora peer to peer sítí,

Instalace OS, nastavení systému

Open Source alternativy

Úvod do Operačních Systémů

SÁM O SOBĚ DOKÁŽE POČÍTAČ DĚLAT JEN O MÁLO VÍC NEŽ TO, ŽE PO ZAPNUTÍ, PODOBNĚ JAKO KOJENEC PO PROBUZENÍ, CHCE


Úvod do autorského práva, ochrana software, licence. SŠSI Tábor - Aplikační software 1

Linuxové distribuce. Michal Dočekal

Úloha 3 editor a skripty. připojte se vzdáleně na dray6.feld.cvut.cz heslo získáte na adrese

O projektu Nasazení OpenOffice.org v praxi

FORTANNS. 22. února 2010

Softwarová konfigurace PC

Operační systémy. Tomáš Vojnar IOS 2009/2010. Vysoké učení technické v Brně Fakulta informačních technologií Božetěchova 2, Brno

2.16 Právo v oblasti počítačů, licencování

INSTALACE SW V GNU/LINUXU

Instalace a první spuštění Programu Job Abacus Pro

Operační systémy 1. Přednáška číslo Souborové systémy

Pro označení disku se používají písmena velké abecedy, za nimiž následuje dvojtečka.

Česká pošta, s.p. na Linuxu. Pavel Janík open source konzultant

Identifikátor materiálu: ICT-1-17

Programové prostředky IS/IT

Využití systému Dynamips a jeho nástaveb pro experimenty se síťovými technologiemi Petr Grygárek

Operační systémy: funkce

Software. 2. Uživatelský software (aplikace) software, pro danou činnost, kterou uživatel na počítači vykonává.

Úvod. unx-predn_01-uvod.odt :13:43 1

Úvod do programovacího jazyka Python

Radim Dolák Gymnázium a Obchodní akademie Orlová

ODBORNÝ VÝCVIK VE 3. TISÍCILETÍ

Svobodný software, open source, licence. Michal Dočekal

Instalační příručka Command WorkStation 5.6 se sadou Fiery Extended Applications 4.2

Linux připojování zařízení. 6 praktická část

Ochrana software. Katedra softwarového inženýrství Fakulta informačních technologií ČVUT Alžběta Krausová, 2011

Lekce 26 IMPLEMENTACE OPERAČNÍHO SYSTÉMU LINUX DO VÝUKY INFORMAČNÍCH TECHNOLOGIÍ

Transkript:

JIHOČESKÁ UNIVERZITA V ČESKÝCH BUDĚJOVICÍCH PEDAGOGICKÁ FAKULTA Katedra informatiky Open source a free software Mgr. Jiří Pech, Ph.D. České Budějovice 2008

Tato publikace neprošla redakční ani jazykovou úpravou. Grafická úprava: Jiří Pech 2

Obsah 1 Úvod 6 2 Vymezení pojmů 7 2.1 Přehledkategoriísoftware... 7 2.2 Freesoftware(FS).... 9 2.3 OpenSourceSoftware(OSS).... 11 2.3.1 VztahGNUaOSS... 13 2.4 PříkladyOSSaFSprogramů... 13 3 UNIX se představuje 15 3.1 HistorieUNIXu.... 15 3.2 VlastnostiOSUNIX... 17 3.2.1 Systémsouborůaadresářovýstrom.... 18 3.2.2 BezpečnostuživatelůUNIXu.... 19 3.3 ZákladnípříkazyUNIXu.... 20 3.4 Grafickýrežim... 27 3.5 PřehledUNIXů.... 28 3.5.1 GNU/Linux.... 28 3.5.2 BSD.... 28 3.5.3 MINIX... 32 3.5.4 IRIX... 32 3.5.5 AIX.... 32 3.5.6 HP-UX.... 33 3.5.7 MacOSX... 33 3.5.8 GNU/Hurd.... 33 4 Linux UNIXpromasy 34 4.1 CojeLinux.... 34 4.2 HistorieLinuxu.... 35 4.2.1 Vývojverzí.... 36 4.3 DistribuceLinuxu... 37 3

4.4 Slackware... 38 4.5 RedHatajehoodvozeniny... 39 4.5.1 SUSELinuxaOpenSUSE... 39 4.5.2 Mandriva... 40 4.5.3 Dalšírpmdistribuce.... 40 4.5.4 Ukázkaprácesprogramemrpm.... 40 4.6 Debianajehoodvozeniny... 40 4.6.1 UkázkaprácesprogramemAPT... 41 4.6.2 Ubuntuajehoodvozeniny... 41 4.6.3 JinédistribucezaloženénaDebianu.... 42 4.7 Překládanédistribuce... 42 4.7.1 GentooLinux... 42 4.7.2 Ukázkaprácesprogramememerge.... 42 4.7.3 Jinépřekládanédistribuce... 43 4.8 ArchLinux.... 43 4.8.1 Ukázkaprácesprogramempacman.... 43 4.9 DeliLinux... 44 4.10 Livedistribuce.... 44 5 Svobodné operační systémy neunixového typu 46 5.1 FreeDOS.... 46 5.2 ReactOS,svobodnéWindows... 47 5.3 OdBeOSukHaiku.... 48 5.4 AROSanebAmigaforever... 48 6 Další open-source a free software programy 50 6.1 Kancelářskéaplikace... 50 6.1.1 OpenOffice.org... 50 6.1.2 LyX.... 53 6.1.3 Abiword.... 53 6.1.4 Jinékancelářskébalíky... 54 6.2 ProhlížečeWWWstránek... 54 6.2.1 MozillaFirefox... 54 6.2.2 Jinésvobodnéprohlížeče.... 55 6.3 Programypročteníelektronicképošty.... 56 6.3.1 MozillaThunderbird.... 56 6.3.2 Jinéprogramypročtenípošty... 57 6.4 ProgramyprovytvářeníWWWstránek.... 57 6.4.1 NvuaKompozer.... 57 6.4.2 Jiné svobodné programy pro vytváření WWW stránek 57 6.5 Graficképrogramy.... 58 4

6.5.1 Gimp.... 58 6.5.2 TuxPaint... 59 6.5.3 Inkscape... 59 6.5.4 Jinévektorovégraficképrogramy... 60 6.6 PortableApplications... 60 7 Závěr 61 A Licence GPL 69 B Komentovaná definice Open Source Software 84 C Oznámení o vývoji Linuxu 88 D InfokjádruLinuxu0.1 89 5

Kapitola 1 Úvod Tato publikace je především určena všem, kteří se chtějí orientovat ve světě svobodného software. Zejména pak studentům a pracovníkům ve státní správě, které by tato problematika měla zajímat nejvíce. Softwarové pirátství patří k jednomu z největších problémů současnosti. A jedním ze způsobů jak mu čelit a omezit jej, je i využívání svobodného software. Pokud si například studentizvyknounatakovýtosoftwarejižveškole,budoujejpoužívativpraxi. V druhé kapitole jsou probrány jednotlivé kategorie licencí software. Čtenář se zde například dozví, že free software nemusí nutně znamenat software zdarma. V další kapitole se čtenář seznámí s operačním systémem UNIX. Tato kapitola tvoří vlastně jakousi předmluvu následující kapitoly, která se věnuje fenoménu dneška svobodnému operačnímu systému Linux. Ve páté kapitole se dozvíme, že existují i jiné svobodné operační systémy. Závěrečná kapitola pak podává stručný přehled všech svobodných programů, které by neměly chybět na vašem počítači. Jak číst tuto publikaci. Studenti počítačových oborů, počítačoví odborníci a fanouškové si mohou přečíst vše, s tím že mohou libovolně přeskakovat kapitoly. Ostatním doporučuji přeskočit kapitoly 3.2 až 3.4. Kapitolu 3.3 pak doporučuji číst pouze čtenáři, který to myslí s UNIXem(Linuxem) vážně, ostatní by mohla od tohoto systému odradit. Všichni pak by si rozhodně měli přečíst druhou kapitolu, kde jsou vysvětleny základní pojmy. 6

Kapitola 2 Vymezení pojmů Pokud se zeptáte běžného uživatele počítačů, co znamená pojem free software,skorojistěvámodpoví,žesejednáosoftware,kterýjezdarma.tovšak není pravda, ale jeden z nejčastějších počítačových mýtů. Takový software se nazývá public domain. Správný překlad pojmu free software do češtiny je svobodný software. Tato kapitola by vám měla pomoci s orientací v kategoriích software a typech softwarových licencí. 2.1 Přehled kategorií software Nejprve si probereme přehled všech kategorií software a u všech se stručně zmíníme o jejich vlastnostech. Přehled všech hlavních kategorií a jejich vzájemný vztah naleznete na obrázku 2.1. Free software Doporučený překlad do češtiny je svobodný software. Jedná se o software, ke kterému je k dispozici rovněž zdrojový kód a uživatel má právo software libovolně používat, měnit a šířit. Svobodný software je obvykle zdarma, ale nemusítovždytakbýt. Více se dozvíte v dalším textu anebo na webových stránkách[1]. Open source Česky nejlépe otevřený software, je takový software, se kterým získá jeho uživatelijehozdrojovýkód.tentozdrojovýkódjebuďpřímopřiloženkprogramu, anebo může být například přístupný na webu ke stažení. Pro open source software se používá zkratka OSS. 7

Existuje organizace Open Source Initiative(OSI), která se zabývá licencováním OSS. Software, jehož licence vyhovuje pravidlům OSI se pro přehlednost nazývá Open Source(obě písmena velká). Více se dozvíte na webových stránkách OSI[2], anebo v dalším textu. Public domain Česky nejlépe volné dílo. Jedná se o takový software, který jeho autor dává volně k dispozici, bez jakýchkoliv nároků na autorská práva. Takovýto software lze užívat a modifikovat libovolným způsobem. Freeware Programy, u kterých je povolena distribuce zdarma, ale ne modifikace. Nezaměňovat s Free softwarem. Jedná se například o ovladače hardwarových zařízení anebo Adobe Acrobat Reader. Shareware Software, který je možné volně distribovat a vyzkoušet. Doba na vyzkoušení je dána buď časově anebo počtem spuštění software. Po uplynutí této doby by měl uživatel software zaplatit(popřípadně se pouze registrovat), anebo jej přestat používat. Pokud nedojde k zaplacení nelze program dále používat anebo dojde k omezení jeho funkčnosti. Příkladem jsou třeba Total Commander, WinRAR. Adware Program zdarma se všemi funkcemi jako plnohodnotný komerční program, ale obsahující navíc reklamu. Např. ICQ. Proprietary Česky nejlépe vlastnické právo. Software ke kterému si jeho tvůrce zachovává plná práva. Takovýto software je obvykle nutné platit a bez svolení prodejce jej nemůžeme nijak měnit ani dále šířit. Například MS Windows nebo MS Office. Komerční software Obvykle proprietární software(ale nemusí být). Je to software vyvíjený za účelem zisku. Může to být i free software, ke kterému je prodávána komerční podpora(např. Ada překladač nebo některé distribuce Linuxu). 8

Closed Česky uzavřený software. Takový software, ke kterému není k dispozici zdrojový kód. Uživatel se nemůže dozvědět, jakým způsobem program funguje a zda nevykonává ještě jinou(nechtěnou) činnost. Zvláštní případy Samozřejmě, že i mezi softwarem lze najít případy, které se dají jen velmi obtížně zařadit do některé kategorie. Příkladem budiž například typografický program TEX. Podle jeho licence je k dispozici zdrojový kód, lze jej libovolně šířit a překládat jej pro libovolné operační systémy avšak v jeho zdrojovém kódu nelze nic měnit. Obrázek 2.1: Jednotlivé kategorie software a jejich vzájemné vztahy 2.2 Free software(fs) V této kapitole si vymezíme podrobněji pojem free software. Jak jsme si již řekli, neznamená to software, který je zadarmo, ale svobodný software. Vysvětlenípojmusvobodnýsoftwarejenásledující: Freespeechnotfreebeer (svoboda slova, ale ne pivo zdarma). Tedy software, který můžeme svobodně 9

používat, ale nemusí být zdarma. Pro přesné vymezení tohoto pojmu a stanovení všech pravidel byla v USA v roce 1985 založena nezisková organizace Free Software Foundation(FSF). Hlavním zakladatelem a současně duchovním vůdcem této organizace je pan Richard Stallman autor textového editoru Emacs. Tato organizace se od svého začátku zaměřila zejména na vývoj svobodného operačního systému na bázi UNIXu. Tento systém pak byl označován zkratkou GNU (GNU s Not Unix)(viz stránky[4]) podle stejnojmenné organizace založené již v roce 1983 Richardem Stallmanem. Z tohoto projektu vznikl později přidáním jádra operačního systému vyvinutého panem Linusem Torvaldsem operační systém GNU/Linux. Dnes do projektu GNU patří i software nevztahující se přímo k Linuxu. Obrázek 2.2: Logo organizace GNU Pro podporu programátorů vytvářejících svobodný software GNU vytvořila licenci GPL(GNU Public Licence), kterou mohou používat pro licencování svého software všichni tvůrci svobodného software. Její plné znění přináší příloha A. Svobodný software dává jak tvůrcům tak uživatelům právo se svými programy svobodně nakládat. To znamená libovolně je užívat, šířit a upravovat. Přikaždézměněkóduvšakmusíbýtuvedenautortétozměny,abynapříklad špatná funkce programu nebyla přisuzována původnímu autorovi. Je naprosto běžné, že pokud autor přestane mít zájem o další vývoj svého díla, převezme jej někdo jiný a pokračuje ve vývoji.(doporučuji čtenáři přečíst si textkatedrálaabazarodericaraymonda[3],kdejepodobnásituacepopsána.) Při žádné změně kódu, ale nesmíte výsledný program šířit pod jinou licencí než původní autor. Program kategorie free software nemusí být nutně zdarma, ale pokud si 10

jej zakoupíte, pak máte právo jej dále prodávat anebo i darovat komukoliv a kdekoliv. Pro svobodný software jsou definovány čtyři následující svobody: 0 Svoboda spustit program za jakýmkoliv účelem 1 Svoboda studovat, jak program pracuje a přizpůsobit ho svým potřebám. 2 Svoboda šířit kopie, aby jste pomohli ostatním. 3 Svoboda vylepšovat program a zveřejňovat zlepšení, aby z nich měla prospěch celá komunita. Předpokladem pro svobodu 2 a 4 je přístup ke zdrojovému kódu. 2.3 Open Source Software(OSS) V této kapitole si blíže popíšeme kategorii Open Source Software, která mnoha uživatelům splývá s Free Softwarem. Obecně se pod pojmem open source rozumí každý software, ke kterému je k dispozici zdrojový kód. Pokudseslovoopensourcepoužívájakopřídavnéjméno,mělobysepsátopensource.Například: Totojeopen-sourceeditor. Podobně jako exituje pro svobodný software organizace GNU, existuje organizace Open Source Initiative(OSI), která definovala pravidla pro open source. Software vyhovující těmto pravidlům se nazývá Open Source Software (s velkými písmeny), zkratka je OSS. Zakladatelem této organizace je pan Eric Raymond, autor již zmiňovaného textu Katedrála a bazar(viz[3]). Obrázek 2.3: Logo organizace OSI OSI stanovila 10 základních svobod OSS. Zde je uveden překlad Václava Radoměřského uveřejněný na serveru abclinux[5]. Plné originální znění naleznete v příloze. 11

1. Licence programu nesmí nikoho omezovat v prodávání nebo rozdávání programu jako součást celku obsahujícího programy z různých zdrojů. Licence nesmí vyžadovat licenční poplatek nebo jiný poplatek za takový prodej. 2. Program musí zahrnovat zdrojový kód a musí být umožněna jeho distribuce jak ve zdrojové formě, tak v kompilované formě. Když nějaká forma produktu není distribuována společně se zdrojovým kódem, musí existovat dobře propagované možnosti získaní zdrojového kódu za cenu nepřesahující přiměřené reprodukční náklady, nejlépe bezplatným stažením z Internetu. Zdrojový kód musí být preferovanou formou modifikování programu. Úmyslně zatemnělý(zmatený) zdrojový kód není dovolen. Polotovary(meziprodukty) jako výstup preprocesoru nebo překladače nejsou dovoleny. 3. Licence musí povolovat modifikace a odvozená díla a musí dovolovat, aby byly distribuovány za stejných podmínek jako originální software. 4. Licence může omezit distribuci modifikovaných verzí zdrojového kódu pouze tehdy, jestliže umožňuje distribuci patch souborů spolu se zdrojovým kódem za účelem modifikace programu při jeho kompilaci (sestavení). Licence musí výslovně dovolovat distribuci softwaru vytvořeného z modifikovaného zdrojového kódu. Licence může vyžadovat, aby odvozená díla nesla odlišný název než původní produkt nebo jiné číslo verze. 5. Licence nesmí diskriminovat žádnou osobu nebo skupinu osob. 6. Licence nesmí nikoho omezovat v používání programu při konkrétním snažení. Například nesmí omezovat užití programu při podnikání nebo pro genetický výzkum. 7. Práva spojená s programem se musí vztahovat na každého, komu byl program redistribuován bez nutnosti akceptovat dodatečné licence. 8.Právaspojenásprogramemnesmízávisetnattom,zdajeprogramčástí určité softwarové distribuce. Pokud tento program je extrahován z této distrubuce a používán nebo distribuován v souladu s ustanoveními jeho licence, potom všechny strany, kterým byl tento program redistribuován, by měly mít stejná práva, jaká dopřávala originální softwarová distribuce. 12

9. Licence nesmí ustanovit omezení na jiný software distribuovaný spolu s licencovaným softwarem. Např. licence nesmí vyžadovat, aby všechen ostatní software distribuovaný na stejném médiu musel být opensource. 10. Žádné ustanovení licence nesmí být založena na jakékoli individuální technologii nebo stylu rozhraní. 2.3.1 VztahGNUaOSS Mezi skupinami OSS a GNU existuje jistá vzájemná nevraživost(asi jako mezi frakcemi revolucionářů), ačkoliv jinak jsou schopní se na základních principech licencí software shodnout. Obě výše popsané licence ve své podstatě popisují tytéž vlastnosti. Autoři software se tak musí rozhodnout, zda jejich dílo bude splňovat obě licence anebo pouze jedinou. Uživatelé, kteří se rozhodnou daný software upravovat nebo šířit, by si měli důsledně prostudovat licenci, aby jí nějakým způsobem neporušili. Příkladem jsou distribuce Linuxu. Pokud má splňovat konkrétní distribuce Linuxu licenci GPL, nesmí obsahovat jiný než svobodný software. Takováto distribuce se pak označuje GNU/Linux. Naopak i distribuce Linuxu obsahující proprietární software(např. Adobe Acrobat) mohou splňovat podmínky OSS(viz. bod 9 v předchozí kapitole). Dobrým příkladem je Debian Linux. Ten v základní distribuci obsahuje pouze balíky se svobodným softwarem. Proto se také někdy označuje jako GNU/Debian Linux. Uživatel si ovšem může dodatečně nainstalovat i proprietární software. Pak by se ovšem již nemělo mluvit o Debian GNU/Linuxu. 2.4 PříkladyOSSaFSprogramů Nyní se zde pokusím vyjmenovat nejznámější příklady programů patřících mezifsanebooss(popřípadněmeziobojí-prokaždýpřípadzvlášťje nutné si prostudovat nejnovější licenci daného produktu). Operační systémy Linux, FreeBSD, FreeDOS, OpenSolaris Kancelářský balík OpenOffice.org, spolu s otevřeným formátem souborů Open Document Bitmapový editor Gimp Webový prohlížeč Mozilla Firefox 13

Poštovní klient Mozilla Thunderbird Databázové systémy MySQL, PostgresSQL Programovací jazyky GCC, PHP, Perl, Python, Ruby, Tcl Servery BIND(name server), Apache(web server), Sendmail(poštovní server), Samba(souborový server) Videopřehrávač- VLC Formát hudebních souborů- OGG Hry-FrozenBubble,Wesnoth 14

Kapitola 3 UNIX se představuje Abychom si v další kapitole mohli představit Linux, je nutné začít s UNIXem, neboť Linux patří do třídy tzv. unixových operačních systémů. Mnohým uživatelům počítačů pojmy Linux a UNIX často splývají a pokud se zeptáme, zda znají jiný UNIX než Linux málokdo správně odpovía dokáže jmenovat aspoň jeden příklad. 3.1 Historie UNIXu Historie UNIXu začíná ve druhé polovině šedesátých let, v době sálových počítačů. V té době platilo, že co typ počítače, to speciální operační systém. UNIX byl vlastně výsledkem snahy o unifikaci. Byl vyvinut na základě operačního systému Multics(Multiplexed Information and Computing Service) ([6]). Za tvůrce operačního systému UNIX jsou považováni pracovníci Bellových laboratoří firmy A&T, Ken Thompson a Dennis Ritchie(viz. obr. 3.1). Původně byl UNIX vyvinut jako systém pro zpracování textů, proto práce s textovými soubory patří dodnes k jeho silným stránkám. Byl napsán v programovacímjazyceb 1.NázevUNIXvymyslelBrianKernighan(viz.3.2). UNIX je postaven jako operační systém skládající se z monolitického jádra (je tvořeno pouze jedním souborem) a velkého množství programů, pro které jsou stanovena následující pravidla: Programyjsouvytvářenytak,žedělajíprávějednuvěc,atudělají dobře. 1 JazykBvyvinulKenThompsonjakonásledníkajazykaA(Assembleru),kterýbylpro mnohé příliš nepřehledný a těžkopádný. Následníkem jazyka B je dodnes používaný jazyk C, který vyvinul Dennis Ritchie. Následníkem C jak známo není D, ale ve stylu syntaxe jazyka C jakzyk C++ 15

Programy spolu musí vzájemně spolupracovat. Programy musí povely přijímat hromadně ze vstupu v textové podobě. Programymusíbýtnapsánytak,abyvýstupzjednohomohlbýtpoužit jako vstup druhého. Obrázek 3.1: Ken Thompson(vlevo) a Dennis Ritchie(zdroj[7]) Obrázek 3.2: Brian Kernighan(zdroj[8]) 16

3.2 Vlastnosti OS UNIX Základní vlastnosti OS UNIX jsou: Víceprogramový(multitasking) je možný současný běh více programů. Počet skutečně běžících programů v daném okamžiku je samozřejmě závislý na počtu procesorů systému. Víceuživatelský(multiuser) k danému počítači může současně být přihlášeno a pracovat na něm více uživatelů. Víceprocesorový podporuje použití více procesorů na daném systému. S terminálovým přístupem je možné vzdálené přihlášení. Uživatel používající operační systém UNIX má pocit, že počítač schovaný zaterminálemjepouzejeho,bezohledunapočetdalšíchpřihlášených uživatelů a spuštěných programů. Jádro systému běží v privilegovaném režimu, vše ostatní běží v uživatelském režimu. Jádro se skládá ze dvou vrstev: 1. HAL(Hardware Abstraction Layer) část jádra závislá na hardware, zejména ovladače zařízení. 2. Kernel- část nezávislá na hardware. Zde se nacházejí systémové procesy (démoni), které běží na pozadí bez ohledu na uživatele. Další části OS UNIX jsou: Knihovny obsahují objekty a různé rutiny. Shell textové rozhraní pro komunikaci s uživatelem. Současné UNIXy mají i grafické rozhraní, které jej nahrazuje a uživatel nemusí s shellem vůbec přijít do styku. Skripty posloupnosti příkazů shellu zapsané do souboru. Souborový systém rozhraní mezi ovladačem paměťového média a jádrem.vunixuplatí,ževšejesoubor. VFS(VirtualFileSystem) rozhraníprostejnýpřístupkrůzným souborovým systémům. Uživatel se tak nemusí starat o to, na jakém médiu je konkrétní soubor skutečně fyzicky umístěn. Vrstva systémových rozhraní zajištění bezpečnosti- znemožnění zásahu uživatele do jádra. K této vrstvě programy přistupují pomocí knihoven API(Aplication Programming Interface)- zjednodušení práce programátorů. 17

3.2.1 Systém souborů a adresářový strom Jako fyzický systém souborů(file system) se v UNIXU používají například ext2fs (dnes na ústupu), ext3fs (nejpoužívanější v Linuxu), XFS (IRIX), nebo ufs(solaris). UNIX má jednotnou strukturu adresářů, která má být jednotná ve všech systémech a je definována normou POSIX (Portable Operating System Interface). Tato norma kromě adresářové struktury určuje i jak se má systém chovat, jaké musí obsahovat příkazy atd. Pokud systém splňuje tuto normu, pak o něm hovoříme jako o POSIX kompatibilním systému. Nyní si popíšeme typickou adresářovou strukturu(abecedně): / Kořenovýadresář(root). /boot(/unix,/bsd) Adresář obsahující jádro systému(kernel) a případně konfigurační soubory zavaděče operačního systému(bootloader). /bin Základní systémové příkazy a programy. /dev Adresář speciálních souborů pro obsluhu periférií. Každá potenciální periférie, kterou je systém schopen obsloužit, zde má svůj soubor. /etc Adresář se systémovými konfiguračními soubory. Na rozdíl od jiných OS se veškerá konfigurace v UNIXu provádí úpravou textových souborů buď ručně, anebo pomocí konfiguračních nástrojů, přičemž tyto možnosti lze kombinovat. /home Domovské adresáře uživatelů. /lib Adresář systémových knihoven. /mnt(/media) Adresář pro připojování dočasných systémů souborů (disketa,cd,dvd,externídisk...). /sbin Adresář s programy, které může spouštět pouze superuživatel. /tmp Veřejnýadresářpropomocnéadočasnésoubory(temp).Obvykle bývá promazáván při restartu anebo cyklicky. /usr Adřesářsesoubory,kterézkapacitníchdůvodůnejsouvkořenovém adresáři. Často bývá na jiném logickém nebo fyzickém disku. Obsahuje podobnou strukturu jako kořenový adresář. /var- Adresář pracovních a administrativních souborů systému. Též obsahuje logy(informační soubory) o činnosti systému. 18

Díky této jednotné struktuře(a obecně normě POSIX) je jednodušší převádět programy mezi jednotlivými druhy UNIXu, než mezi jednotlivými verzemi Windows. 3.2.2 Bezpečnost uživatelů UNIXu Kařdý uživatel má v UNIXu účet(account), který obsahuje následující informace: Jméno účtu(login) a heslo(password). Čísloúčtu(UID)askupiny(GID).Uživatelmůžebýtpřiřazendovíce skupin, jedna z nich je jeho hlavní skupina. Identifikace uživatele. Jméno, příjmení, telefonní linka... Domácí adresář uživatele(/home/jmeno). Iterpretpříkazů(sh,tcsh,bash...). Případně další informace- např. čas a místo posledního přihlášení. Tyto informace jsou uloženy v souborech/etc/passwd a/etc/group. Každý soubor a adresář patří konkrétnímu vlastníkovi a konkrétní skupině.ukaždéhosouboruaadresářeseurčujíprávaprovlastníka(u=user), skupinu(g=group),ostatní(o=other)aprovšechny(a=all). Práva u souborů jsou: r(read) právočtenísouboru w(write) právozápisudosouborunebosmazánísouboru x(execute) právo spuštění souboru, jedná-li se o spustitelný program. Práva u adresářů jsou: r právo čtení(zobrazení) obsahu adresáře. w právozápisudoadresářenebosmazáníadresáře x právovstupudoadresáře Superuživatel(root) 2 máuvšechsouborůaadresářůprávonacokoliv včetně změny vlastníka, skupiny a práv daného souboru či adresáře. 2 Anokořenovýadresářisuperuživatelsevoriginálejmenujíroot. 19

3.3 Základní příkazy UNIXu Tato kapitola podává přehled několika příkazů, jejichž znalost se vyplatí každému uživateli UNIXu, nejen administrátorovi. Nápověda man Manuálové stránky. Ke každému unixovému příkazu by měly existovat manuálové stránky s popisem tohoto příkazu a jeho parametrů. Manuálové stránky se spouští příkazem man příkaz. Např: man man. Klávesové zkratky fungující během prohlížení manuálových stránek: q konec PgUp(b),PgDn(Space) skokostránkuzpětnebovpřed šipkynahoruadolů posunořádku /abc vyhledáníslovaabcvtextu Příkazy pro práci se soubory a adresáři mkdir Vytvoření adresáře(make Directory). mkdir adresar rmdir Smazání adresáře(remove Directory). Adresář musí být prázdný. rmdir adresar cd Změna adresáře(change Directory). Jsme-li v adresáři/home/uzivatel a chceme-li do jeho podadresáře texty pak je jedno zda napíšeme cd texty(relativní cesta) anebo cd /home/uzivatel/texty(absolutní cesta). Chceme-li přejít o úroveň výše, pak napíšeme cd... Chceme-li přejít z jednoho podadresáře do jiného, lze psát rovnou cd../texty2. Příkaz cd / nás přepne do kořenového adresáře a samotný příkaz cd do našeho domovského adresáře. pwd Vypíšeceloucestukadresáři,vekterémseprávěnacházíme(Path to Working Directory). ls Výpissouborůaadresářů.Mámnohopřepínačů(viz.man ls).asinejpotřebnější jsou: 20

-a výpisskrytýchsouborů 3 -l rozšířenývýpis Varianty zápisu: ls -l -a ls -a -l ls -al ls -la jsou(stejně jako u ostatních příkazů) rovnocenné. Lzepoužítils -l jmeno,paksedozvímepouzeinformaceosouboru jmeno.téžlzepoužítznak*(náhradalibovolnéhopočtuznaků)a? (náhrada jednoho libovolného, ale konkrétního znaku). ls text*vypíšesouborytext,text1itext123,alels text?pouze soubor text1. Význam výpisu, který vidíme např. po napsání ls -la: -rw------- 1 pech users 3065 2007-09-21 10:46.bash_history drwxr-xr-x 18 pech users 4096 2007-08-24 11:54 Dokumenty Naprvnímmístěvevýpisuzlevasemohounacházetznaky-(soubor), l(link), d(adresář) anebo c(speciání soubor). Dále následuje devět znaků pro popis práv pro vlastníka, skupinu a ostatní, dále počet odkazůnadanýsouborneboadresář(uadresářejetoobvyklepočet podadresářů+2(každýadresářukazujeještěsámnasebeaukazuje na něj i jeho nadadresář) Dále je vlastník souboru, skupina, které patří soubor, velikost v bytech, datum a čas vytvoření a na posledním místě jméno souboru. ln Vytvořeníodkazunasoubor.Odkazyserozdělujínatvrdýasymbolický(s použitím přepínače-s). Tvrdý ukazuje na místo na médiu, na kterém jsou uložena data a příliš se nepoužívá, naopak symbolický nám umožňuje mít jeden soubor pod více jmény. Např. když jeden konfigurační soubor slouží pro více programů a každý program jej potřebuje mít pod jiným jménem. ln -s existujici_soubor nove_jmeno 3 SkrytésouboryvUNIXujsouty,jejichžjménozačínátečkou.Jsoutozejménarůzné konfigurační soubory, které jsou skryté pro běžný výpis, aby uživatele zbytečně neobtěžovaly. 21

cp Kopírování souboru(copy). cp stary novy mv Přesunutí(přejmenování) souboru(move). mv stary novy rm smazání souboru(remove). Při použití přepínače-i se program před smazáním zeptá. Příkazrm -i *smaževšechnysoubory(ukterýchmámeprávozápisu) v pracovním adresáři a před smazáním každého se nás dotáže. Pozor smazání je nevratné. cat Výpis textového soubor. Je-li počet řádek souboru větší než počet řádků, které můžeme zobrazit na monitoru, pak nám začátek souboru utečezobrazovky. cat soubor less Výpis textových souborů se stránkováním. less soubor Při prohlížení můžeme podobně jako u příkazu man použít klávesové zkratky: q konec PgUp(neboklávesab),PgDn(Space) skokostránkuzpětnebo vpřed šipkynahoruadolů posunořádku šipkyvlevoavpravo posunvlevoavpravo Begin(Home) začátekřádku End konecřádku /slovo vyhledáníslovavtextu tail Vypíše posledních deset řádků textového souboru. Počet řádků lze změnit přepínačem -číslo. Např. tail -3 abc vypíše poslední tři řádky souboru abc. head Vypíše prvních deset řádků textového souboru. Počet řádků lze změnit přepínačem-číslo. Např. head -12 abc vypíše prvních dvanáct řádků souboru abc. 22

touch Pokud napíšeme touch abc pak mohou nastat dvě možnosti. Pokud: 1. soubor abc neexistuje, je vytvořen nový prázdný soubor s tímto jménem. 2.souborabcexistujenastavísečasjehoposlednízměnynateď. which Pokud napíšeme which program pro existující program, pak se dozvíme, v kterém adresáři se nachází. Pokud takový program neexistuje, jsme o této skutečnosti informováni. Nastavení práv k souborům a adresářům chown Změna vlastníka(change Owner) souboru nebo adresáře. Použití chown -R novak:users adr1- Nastaví pro adresář adr1 novéhovlastníkanovakaskupinuusers.přepínač-rmávýznamuadresářů znamená,žetatozměnaplatíiproveškerýjehoobsah.je nutné mít pro daný soubor či adresář právo na zápis. Obvykle takovou operaci provádí root. chgrp Změna skupiny(change Group). Např. chgrp users soubor chmod Změna práv(change Mode). Nastaví u souboru nebo adresáře nová práva. Tato práva se zadávají pomocí písmen nebo číslic: Pomocípísmen chmod komu +/- právo soubor.parametrkomu jejednozpísmenu(vlastník),g(skupina),o(ostatní)neboa (všichni). + znamená přidání a - odebrání práv. Práva jsou r (čtení),w(zápis)ax(soubor-spuštění,adresář-vstup). Př. chmod a+x program nastaví tento soubor jako spustitelný pro všehny. chmod o-w text odebrání ostatním práva na zápis(smazání) souboru text. Pomocíčísel chmod XABC soubor.x,a,b,cjsoučíslavrozsahu 0až7.Xjeobvykle0anemusíseuvádět.Ajsouprávapro vlastníka,bproskupinuacproostatní.právajsousoučetčísel 4-čtení,2-zápis,1-spuštění(procházení).Pokudnepřidělíme žádnápráva,jezde0. Př.chmod 755 program-vlastníkmánadsouboremprogramplnou kontrolu, ostatní jej mohou číst a spouštět 23

chmod 600 text vlastníkmůžesoubortextčístaměnit(smazat),jinakkněmunemánikdožádnápráva. PokudvevýjimečnýchpřípadechneníXnula,paksejednáosoučet následujících čísel: 1 stickybit-souborneboadresářstímtopříznakemsmí přejmenovat nebo smazat pouze root. 2 sgid-nastavíprávoskupinyrootpřispuštěnídaného souboru 4 suid nastavíprávouživatelerootpřispuštěnítohotosouboru. Tento příznak potřebují mít nastavené např. programy smbmntasmbumount 4 Práce s textovými soubory grep Vyhledání řetězce v souboru(globally for lines matching the Regular Expression, and Print them). Mocný nástroj se spoustou možností a možností používat regulární výrazy. Zde si uvedeme jednoduchý příklad: grep novak /etc/password ze souboru/etc/password vypíše všechny řádky obsahující slovo novak. sed Streamový editor(stream EDitor) editor, který pomocí příkazů umožňuje editovat textové soubory. Příklad: sed s/příslušný/odpovídající/ abc > xyz V souboru abc nahradí všechny výskyty slova příslušný slovem odpovídající a výsledek zapíše do souboru xyz. wc Vypíšepočetřádek(přepínač-l),slov(-w)aneboznaků(-c)vsouboru (Word Count). Př. wc -l /etc/passwd zjistí počet uživatelů daného systému(jen jetřebamítnapaměti,žezdejsouisystémovíuživateléjakomail,ftp, nobody...). PrácesprocesyvUNIXu ps Výpis procesů. Obvykle používáme s těmito přepínači: ps axu(lze použít i syntaxi ps -axu), na pořadí přepínačů nezáleží. Význam přepíánačů je: 4 SoučástbalíkuprogramůSamba,kterýsloužípropřipojenísdílenýchadresářůWindows v UNIXu. 24

x rozšířenývýpis a všechnyprocesy u všichniuživatelé top Jiný program na výpis běžících procesů seřazený podle toho jak aktuálně využívají systémové zdroje počítače. Ukončuje se klávesou q. htop Ještě lepší grafický manažer procesů. Ovládání podobné programu mc,pomocíklávesf1ažf10.procesyjemožnéřaditdlerůznýchkritérií, vyhledávat, měnit prioritu i ukončovat.(není standardní součástí všech UNIXů, ale uvádím jej zde, protože jej poavžuji za užitečný.) kill Ukončení procesu. kill číslo_procesu. Nenastane-li ukončení(např. protože ještě existují synovské procesy), lze použít ve tvaru kill -9 číslo_procesu, který vede k ukončení vždy(včetně synovských procesů). Číslo procesu zjistíme pomocí ps. Priorita procesu Je číslo v rozsahu +20(nejnižší priorita) až-19(nejvyšší priorita). Uživatel může pouze snížit prioritu pomocí příkazu renice, ale nesmí ji už pak zvýšit. Root má neomezenou moc. nice Spustípříkazskonkrétníprioritou.Př.nice -n 3 příkaz spustí příkazsprioritou3.příklad:nice-n8k3b renice Změní prioritu běžícího procesu. Pozor uživatel ji smí pouze snížit, alerootjímůženastavitlibovolně.př.renice 11 12456 nastaví hodnotu priority u procesu 12456 na 11. Archivace v UNIXu Program tar Původně program pro archivaci souborů na magnetickou pásku(tape Archiver). Dnes se používá pro vytvoření jednoho souboru (archivu) z více souborů či adresářů. Používá se přípona tar, pro snadnou identifikaci, že jde o archiv. Použití: tar parametry archiv.tar [seznam souboru a adresaru oddeleny mezerou]. Nejdůležitější parametry: c-vytvořeníarchivu x-rozbaleníarchivu 25

p-zachováníprávusouborů v- ukecaný výpis f-prácesesouborem cneboxmusíbýtnazačátkuafnakonci.ostatníparametryjsou volitelné a nezáleží na jejich pořadí. Příklady: Sbalení: tar cvpf soubory.tar soubor soubor1 soubor2 Rozbalení: tar xvpf soubory.tar gzip Archivační program kompatibilní s WinZip. Jeho výstup umí rozbalit i WinRar. Potřebujeme dva programy gzip a gunzip. Příklad: Sbalení: gzip aaa vytvoří se soubor aaa.gz Rozbalení: gunzip aaa.gz bzip2 Jiný archivační program, který dosahuje ještě lepšího kompresního poměru. Použití obdobné: bzip2 bbb, bunzip2 bbb.bz2 Spolupráce gzip(bzip2) a tar V programu tar lze přímo zadat i přepínač pro spakování programem gzip (bzip2) z- pakování(rozbalení) pomocí gzip, použité přípony*.tar.gz nebo pouze*.tgz j- pakování(rozbalení) pomocí bzip2, přípona*.tar.bz,*.tbz Příklady: tar cvzpf archiv.tar.gz aaa bbb ccc tar xvzpf archiv2.tgz tar cvjpf archiv3.tar.bz * Informační příkazy date Výpisdataačasusmožnostínastavení. du Výpis velikosti adresářů a podadresářů(disk Usage). Doporučuji psát ve tvaru: du -h --max-depth=1 výpis pouze velikosti podadresářů aktuálního adresáře v dobře čitelném tvaru. 26

df Výpis připojených disků s rozsahem zaplnění(disk Free). free Výpis velikosti paměti a jejího zaplnění. who Výpis přihlášených uživatelů. 3.4 Grafický režim Kdyby UNIX nabízel uživateli pouze textový režim, stal by se asi systémem pro několik fanatiků a pro servery. Naštěstí již od poloviny osmdesátých let je možné pracovat v UNIXu v grafickém režimu. Tomuto grafickému režimu sevunixuříkáxwindowsystem. 5 Až do roku 2004 v podstatě jedinou implementací tohoto systému byl XFree.Bohuželsvydánímverze4.4vlednu2004došlokezměnělicence.Nová licencesestaladlezjištěníorganizacefsf GPLnekompatibilní.Kvůli tomuto problému byla urychleně vyvinuta odvozenina Xorg, na kterou přešla většina UNIXů. Samotný X Window System však neumožňuje pohodlnou práci v grafickém režimu. Z tohoto důvodu vznikají takzvané grafické manažery, které zjednodušují práci uživatelů v grafickém režimu. Takovýchto manažerů existují desítky a my si představíme nejznámější: FVWM(F Virtual Window Manager- písmeno F nemá žádný význam) Grafický manažer populární v devadesátých létech. Jmenuji jej na prvním místě, protože z vyjmenovaných je nejstarší. První UNIXový manažer, u kterého se dalo mluvit o uživatelské přívětivosti. Existovala verze FVWM95, která napodobovala Windows95, aby uživatelům Windows95 usnandnila přechod na UNIX. KDE(K Desktop Environment) V současné době asi nejpopulárnější grafický manažer, velmi dobře konfigurovatelný se spoustou nativních aplikací, utilit a apletů. Existuje velké množství jazykových mutací. GNOME(GNU Network Object Model Environment) Největší konkurent KDE.SvýmvzhledempřipomínáMacOS 6.Obamanažerymajísvé nadšené příznivce. XFCE Další poměrně rozšířený manažer, určený zejména pro slabší počítače. Nemá tolik funkcí jako předchozí manažery a proto si vystačí se slabší konfigurací počítače. 5 NenítopřeklepWindowneWindows 6 veverzimacos8a9. 27

Pro pořádek vyjmenuji další známější manažery(abecedně): AfterStep, Blackbox, IceWM, JWM, Openbox, PekWM, Sawfish, Twm a mnoho dalších. 3.5 Přehled UNIXů Na obrázku 3.3 je dobře vidět vývojový strom rodiny UNIXových systémů. Velice hezký nástěnný vývojový graf UNIXů naleznete na adrese[9]. Jak je vidět vývoj se kolem roku 1975 rozčlenil do několika větví a druhů UNIXu, z nichž některé přestaly být vyvíjeny, jiné se naopak vyvíjí dodnes. My si v této kapitole nyní probereme současné nejvýznamnější větve UNIXu a řekneme si k nim stručné charakteristiky. 3.5.1 GNU/Linux Dnes jednoznačně nejznámější a nejpopulárnější UNIX, o kterém si řekneme více v následující kapitole. 3.5.2 BSD Pro někoho tajemná zkratka BSD(Berkeley Software Distribution) je druh UNIXU, který vznikl na půdě kalifornské univerzity v Berkeley,(to je předměstí San Francisca). BSD se vyvinul postupným přidáváním nových funkcí a nahrazováním zdrojového kódu UNIXu 6 firmy AT&T. Univerzity mohly tento UNIX za velmi výhodných podmínek používat a upravovat. První verze byla vydána vroce1977abylavlastnějenrozšířenímpůvodníhounixu6.mohlabýt šířena pouze lidem a institucím, kteří měli licenci od AT&T. S každou další verzíbylopůvodníhokóduméněažpoverzi4.3zroku1988.stálevšakmusel uživatel mít licenci AT&T, která byla pro běžného uživatele drahá. Proto byla v roce 1989 vydána verze NET/1(Networking Tape 1 byla distribuována na magenetické pásce), která již kód od AT&T neměla obsahovat a byla dána volně k dispozici. Přesto bylo zjištěno, že v jádře zůstalo několik částí kódu AT&T. Tyto části byly odstraněny a v červnu 1991 byla vydána verze Net/2. SpolečnostAT&TvšakpodalanaBSDvroce1992dokoncesoudnížalobu.Tatopřebylaukončenavroce1994askončilaproBSDúspěšně.Z18 000 souborů v distribuci BSD musely být 3 odstraněny a 70 modifikováno. Bohužel v této době se mnoho uživatelů kvůli těmto nejasnostem od BSD odklonilo a BSD již nikdy nezískal zpět svou popularitu z konce osmdesátýchlet.dokonceilinuxtorvaldssepozdějipřiznal,žektvorbělinuxujej 28

Obrázek 3.3: Vývojový strom UNIXu 29

Obrázek 3.4: Logo BSD UNIXu Obrázek 3.5: Logo Solarisu Obrázek 3.6: Logo Minixu 30 Obrázek 3.7: Profesor Andrew Tanenbaum

přiměly nejasnosti ohledně sporů BSD a AT&T. Bez nich by pravděpodobně Linux nevznikl a dnes bychom používali BSD. BSD je přesto dnes zcela nepochybně druhým nejpoužívanějším UNIXem. Jeho jádro je údajně stabilnější a bezpečnější než linuxové. Pod BSD navíc není problém provozovat většinu linuxových aplikací bez nutnosti emulace. Většina současných odvozenin původního BSD je OSS, ale licence BSD umožňuje vytvářet propritární klony. BSD je například základem SunOS nebo Mac OSX. Říká se, že BSD je pro uživatele,kteří mají rádi UNIX, naproti tomu Linux pro uživatele, kteří nenávidí Windows. V současné době existuje několik klonů BSD. K nejznámějším patří: FreeBSD(22) Distribuce určená zejména pro pracovní stanice. Jsou použita některá zjednodušení, díky kterým je dosahována vyšší rychlost běhu aplikací. PC-BSD(28) Distribuce určená začátečníkům, vyznačující se jednoduchou instalací s grafickým prostředím. Dnes hodně na vzestupu. DesktopBSD(31) Odvozenina FreeBSD se snahou o jednoduchost. OpenBSD(49) Distribucesesnahouobezpečnostasnadnéspouštění aplikací psaných pro jiné UNIXy. NetBSD(72) Distribuce se snahou o podporu co největšího množství hardware. Čísla v závorkách udávají aktuální pořadí na DistroWatch([10]), které je dobrýmměřítkemaktuálnípopularityjednotlivýchdiostribucí. 7 Na závěr se zmíním o možnosti použít jádro BSD místo Linuxového jádra v distribuci Debian. Viz.([11]). Pro zpestření ještě uvádím logo BSD(obr. 3.4).JehoautoremjeM.KirkMcKusick. 8 SunOS, Solaris a OpenSolaris Solaris(dříve SunOS) je klon UNIXu vyvinutý společností Sun Microsystems. OpenSolaris je pak jeho otevřená varianta. 7 Údajek26.9.2007,vevztahukposledním6měsícům. 8 Autoremtétokresby(neloga)jePoul-HenningKamp.Ješířenapodtzv.beerlicence. Taříká,žepokudsevámtatokresbalíbíapotkátesesautorem,pakjejmůžetepozvat na pivo. 31

PůvodníSunOSbylvyvinutzBSD.VsoučasnédoběsenázevSunOS používá pro čistý operační systéma a Solaris pro tento systém spolu s grafickými nadstavbami a dalšími aplikacemi. Solaris je operační systém, který se hodí pro řešení situací s velkým množstvím procesů. Používá souborový systém ZSF. Grafické prostředí používá OpenWindows, CDE anebo i KDE. Zdrojové kódy Solarisu byly zveřejněny v rámci projektu OpenSolaris pod licencí CDDL(Common Development and Distribution Licence), která splňujepodmínkyoss.ktétoudálostidošlo14.6.2005.vícesedozvítena webové adrese[12]. Na závěr pro zajímavost pořadí Solarisu na serveru Distrowatch(viz. předchozíkapitola)je49. 9 LogoSolarisujenaobrázku3.5. 3.5.3 MINIX Volně šiřitelný, otevřený UNIX. Jeho autorem je provesor Andrew S. Tanenbaum(obr. 3.7) z Vrije Universiteit v Amsterodamu. Je napsán převážně vjazycecaprvníverzebylazveřejněnavroce1987.tatoverzebylakompatibilnísunixem7abylaurčenapropočítačepc. Když Linus Torvalds psal první jádro Linuxu vycházel z MINIXu. Torvalds se později dostal s Tanenbaumem do sporu o architekturu jádra operačníhosystémuatanenbaumnazvallinuxzastaralým.( Linuxisobsolete. ) Viz. odkaz[13]. V současné době je nejnovější verze MINIX 3. Její logo si můžete prohlédnout na obrázku 3.6. Více se dozvíte na stránkách[14]. MINIX byl původně komerčním UNIXem, od dubna 2000 je zdarma. V současné době však nemá jiný než studijní význam. 3.5.4 IRIX Proprietární UNIX vyvinutý firmou SGI (Silicon Graphics, Inc.). Vychází z UNIXu 5. Používá systém souborů XFS, který je obecně považován za nejlepší systém souborů. IRIX je používán pro systémy s nutnou extrémní dobou provozu. Prvníverzebylazroku1988,zatímposledníjezesrpna2006. 3.5.5 AIX ProprietárníUNIXfirmyIBM.Prvníverzebylazroku1986.AIXbylzajímavý velmi pokrokovou správou disků s oddělením fyzické a logické struk- 9 Jediný jiný UNIXkroměBSDaLinuxu,kterýjezdeuveden. 32

tury. Tento systém byl převzat mnohými dalšími systémy. Poslední verze je ze srpna 2004. 3.5.6 HP-UX Klon UNIXu firmy Hewlet Packard. Běží pouze na architektuře serverů HP. Poslední verze je z února 2007. 3.5.7 MacOSX Operační systém počítačů Apple Macintosh, vytvořený kombinací již zaniklého unixového systému NeXTSTEP a MacOS. Vychází z BSD. První verze vyšlavroce1999.používáseivmobilnímtelefonuappleiphone. 3.5.8 GNU/Hurd Operační systém napsaný pro kolekci GNU programů. Hurd znamená Hird of Unix-Replacing Daemons. Naopak význam slova Hird je Hurd of Interfaces Representing Depth. Viz. logo na obrázku 3.8. Obrázek 3.8: Logo OS Hurd NejednásevlastněoUNIX,aleoOS,kterýbymělUNIXnahradit. Chce překonat UNIX ve funkčnosti, rychlosti a bezpečnosti, ale být s ním kompatibilní. Jedná se o množinu serverů běžící na mikrokernelu. Vývoj však pokračuje velmi zvolna, projekt má velké problémy s podporou hardware. Dosud nebyla vydána žádná oficiální verze, existuje pouze live CD a je možné podobně jako u BSD nainstalovat toto jádro do Debianu. Viz. odkaz[15]. 33

Kapitola 4 Linux UNIXpromasy 4.1 CojeLinux Operační systém Linux je volně šiřitelný OS typu UNIX. Jeho autorem je Linus Torvalds a mnoho dalšich programátorů v Internetu. Jádro Linuxu je volně šiřitelné(public domain) podle pravidel GNU General Public License (licence používaná u softwaru GNU). Linux byl původně psán pro architekturuibmpcsprocesoremi386avyšším.vsoučasnédoběexistujíiverze pro m68000, MIPS, Sun Sparc, DEC Alpha/AXP a některé další architektury. Jednou z hlavních výhod oproti komerčním UN*Xům je jeho nulová cena, dále snadno dostupný základní software a v neposlední řadě také nízké nároky na hardware a velmi příznivý výkon. Často je také k dispozici více dokumentace než k jiným systémům.(převzato z linux.cz[16].) Základemjejádrooperačníhosystému tojesamotnýlinux.kněmu se potom nabalují další programy. Pokud se přidají pouze GNU programy(a případně další volně šiřitelný software), pak mluvíme o GNU/Linuxu. Obvykle se však přidává i proprietární anebo komerční software. Různé množiny přidaných programů tvoří tzv. distribuce. Existuje velké množství distribucí(řádově stovky viz. DistroWatch[10]). Výslovnost slova Linux je pestrá a zajímavá. Pokud se podíváte na jakýkoliv dokument o Linuxu, zjistíte, že existuje mnoho různých výslovností. (linuch, linyx, lájnux, lájnyx, linux atd.) Sám autor jako nativně švédsky hovořícífin 1,používávýslovnost linux. Logo Linuxu(obr. 4.2). Autorem je Larry Ewing. Traduje se historka, že tučňáka si vybral sám Linus Torvalds neboť jej údajně kdysi kousl tučňák do prstu. 1 VeFinskuexistujepoměrněpočetnášvédskámenšina. 34

4.2 Historie Linuxu Na začátku devadesátých let existovalo hnutí GNU, které si uložilo za cíl vytvořit volně šiřitelný klon UNIXu s otevřeným zdrojovým kódem. Měli již hotové všechny programy kromě jádra systému. Pracovali sice na jádře zvanémhurd(viz.str.33),alevývojseopožďovaladodnesvlastněnenídokončen. Jinou možností bylo použít jádro Minixu(viz. str. 32), ale jeho autor profesor Tanenbaum(obr. 3.7), odmítl dát tento systém volně k dispozici a vyžadoval licenční poplatek za každou instalaci. V té době student univerzity v Helsinkách Linus Torvalds(obr. 4.1) začalpracovatnavolněšiřitelnéverziosminixatutosvoučinnostoznámil v newsové konferenci comp.os.minix zprávou o vývoji volně šiřitelného UNIXu podobného MINIXu.(Plné znění této zprávy je v příloze C.) Linus v té době studoval informatiku ve druhém ročníku. Pro zajímavost při vývojipoužívalpc386se4mbpaměti,cožbylnasvoudobuveliceslušný počítač. Dodneška je tato konfigurace považována na PC jako minimální pro běh Linuxu. Obrázek 4.1: Linus Torvalds 35

Obrázek 4.2: Logo Linuxu Číslování verzí Jednotlivá jádra se dříve číslovala ve tvaru X.Y.Z, kde jednotlivá čísla měla význam: X vývojovářada Y sudéčísloznamenástabilnířadu,lichévývojovouřadu Z vedlejšíčíslovrámcipředchozířady Například 2.2.26 anebo 2.5.31 Nyní je číslování stabilní řady ve tvaru A.B.C.D, kde A.B je hlavní číslo řady(aktuálně2.6anebostarší2.4),cjevedlejšíčíslořadyapřípadněd je číslo její opravy, např. 2.6.22.9. Číslování vývojové řady pak je ve tvaru A.B.C-rcD, kde rc znamená release candidate.(např. 2.6.23-rc9). Více se dozvíte na iternetové adrese[17]. Jakoukolivverzijádraod0.11sirovněžmůžeteztétoadresystáhnouta experimentovat s ní. Zdrojové kódy jader 0.0.1 až 0.0.3 se údajně nedochovaly a sám Linus prohlásil, že je smazal, když potřeboval místo na disku. 4.2.1 Vývoj verzí Prvníjádronazvané0.0.1bylodánovolněkdispozicivzáří1991.Zprogramů byl k dispozici bash, překladač jazyka C nazvaný GCC, terminálový emulátor, ovladač pro pevný disk a souborový systém. Podpora pouze pro finskou klávesnici. Nebyla podpora pro diskety. Pro zajímavost jsou v příloze D uvedeny autorovy poznámky(release notes) k vydání této verze. 36

Dále následovaly verze 0.0.2 a 0.0.3 v říjnu 1991. Nově obsahovaly textovýeditorsedapodporuusklávesnice.linuxbyldánveřejnostikdispozici na ftp serveru. Pro kompilaci jádra i programů byl stále nutný Minix. Byl zaznamenán zájem ostatních programátorů. Verze 0.10 a 0.11 znamenaly vyšší stabilitu a podporu virtuální paměti. Minimální paměť byla 4 MB. Od verze 0.11 přibylo stránkování paměti na žádost, ovladače disketových mechanik, sériových portů, grafických karet a klávesnic. Tyto verze již byly nezávislé na Minixu. Verze0.12.PrvníverzepodlicencíGNUGPL. Verze 1.0. Leden 1994. První stabilní verze. Podpora TCP/IP, síťových karet a SCSI. Byl použit nový souborový systém ext2fs. Verze 1.2, též pro procesory Alpha. První verze, která nebyla pouze pro PC. Verze 2.0. Červen 1996. Podpora pro více architektur PowerPC, Sun, Sparc, Motorola. Byla vylepšena správa paměti, podpora TCP/IP a modularita jádra. Byla zavedena vlákna na úrovni jádra. Verze 2.2. Leden 1999. Architektury x86, Sparc, Ultra, Alpha, m68k, PowerPC. Zlepšena podpora CD ROM a výměnných médií, zvukových a grafických karet. Přidána podpora frame bufferu, více souborových systémů a Unicode. Verze 2.4. Leden 2001. Přidána podpoora USB a FireWire. Zlepšena podpora multiprocesingu a vláken. Podpora až 64 GB operační paměti. Firewall na úrovni jádra. Nové moderní žurnálovací souborové systémy ext3fs a ReiserFS. Verze 2.6. Březen 2003. Zlepšena podpora vláken a více souborových systémů. Přidáno mnoho ovladačů. 4.3 Distribuce Linuxu Balíky programů přidané k jádru Linuxu. Za každou distribucí stojí nějaký autor, skupina autorů anebo firma. Máme tyto kategorie distribucí: Komerční platísebuďpřímozamédiaanebozauživatelskoupodporua manuály. 37

Nekomerční stažení zdarma. Obvykle si je možné objednat i CD, anebo DVD buď přímo u zdroje anebo u nějaké specializované firmy. Překládané uživatel si stáhne zdrojové kódy a distribuci si přeloží sám Live pracujepřímozcdanebodvd,nenínutnýdiskvpočítači. DistribuceseinstalujízCD(DVD)aneboposíti(FTP,lokálně-NFS). I v druhém případě potřebujeme minimální(řádově o velikosti desítek MB) instalační CD(disketu), ze kterého se zavede systém a ovladače nutné pro provoz sítě. V případě překládané instalace se zavede základní systém a překladačzcdapaksezinternetustáhnouzdrojovékódyacelýsystémse přeloží. Existuje přímo návod nazvaný Linux from Scratch(viz[18]), jak vybudovat celý systém od nuly. Tento postup není ani tak komplikovaný, jako je poměrně zdlouhavý. Seznam všech distribucí naleznete na adrese[10]. My si zde probereme nejvýznamnější(nejrozšířenější) a ukážeme si jejich specifikace. Je mi jasné, že přehled je poněkud ovlivněn mou osobou, neboť uvádím zejména distribuce, se kterými mám osobní zkušenost. Snad tento přehled pomůže čtenáři se zorientovat mezi množstvím distribucí a vybrat si tu svou. 4.4 Slackware Nejstarší stále se vyvíjející distribuce(první byla již neexistující distribuce Yggdrasil). Jako balíčkovací systém používá tgz. Nemá speciální konfigurační nástroje, ale je snadno konfigurovatelná a přehledná. Jedná se o nekomerční verzi, která je dnes trochu na ústupu. Autorem distribuce je Patrick Volkerding. Více na[19]. 38

4.5 RedHatajehoodvozeniny Red Hat je americká komerční distribuce. Dříve patřila u nás k nejrozšířenějším. Balíčkovací systém rpm(redhat Package Manager). Občas má problémy se závislostmi, kdy dva balíčky se nechtějí instalovat, dokud nebude nainstalován ten druhý. Obsahuje dobré konfigurační nástroje. V nekomerční sféře na ústupu, naopak v komerčních řešeních má své pevné místo. Na jejím základě vzniklo několik dalších rozšířených distribucí, vyznačujících se systémem rpm. Bohužel balíčky z jedné distribuce obvykle nelze použít v jiné distribuci. VsoučasnédobězníplnýnázevRedHatEnterpriseLinux(RHEL)a má čtyři různé verze WS(pracovní stanice), ES(edge server), AS(advanced server) a Red Hat Desktop. Placená je podpora uživatelů a možnost stahovat bezpečnostní aktualizace. Firma rovněž ručí za problémy vzniklé kvůli chybám distribuce. Cena se dle verze pohybuje od tisíců jednorázově až po statisíce korun ročně. Více se dozvíte na[20]. 4.5.1 SUSE Linux a OpenSUSE Komerční distribuce původem z Německa nazývaná dříve SuSE Linux. Dřívesejednaloočistěkomerčnídistribucivceněcca.3000Kč.Přestobyla u nás poměrně rozšířená, vzhledem k velkému množství balíků programů, velmi snadné konfiguraci, výborné lokalizaci a dobré podpoře. Navíc obsahovala v základní instalaci balík StarOffice(předchůdce OpenOffice), což byl první lokalizovaný balík kancelářských aplikací pro Linux. Obsahuje velmi kvalitní konfigurační nástroj yast(yet Another Setup Tools). Firma byla v roce 2003 koupena Novellem, následovaly u nás po určitou dobu problémy s prodejem, což vedlo k částečnému vyklizení pozic. Nyní existuje vždy jedna verze SUSE Linuxu, která je zdarma. Pro firmy exituje možnost komerčních verzí a to SUSE Linux Enterprise Server(SLES), určené pro serverová řešení a SUSE Linux Enterprise Desktop(SLED). Ty jsou sice rovněž zdarma, ale platí se za podporu a aktualizace. Existuje rovněž volně šiřitelná verze nazvaná OpenSUSE, vyvíjená komunitou uživatelů. Více na [12]a[21]. 39

4.5.2 Mandriva Francouzská komerční distribuce s možností volného stažení obrazů CD (DVD) z internetu. Vznikla sloučením distribucí Mandrake, Connectiva a Lycoris. Má snadný upgrade a dobrou lokalizaci. Obsahuje rovněž dobré konfigurační nástroje a je možné zakoupit podporu. Více na[23]. 4.5.3 Další rpm distribuce Fedora Core otevřená verze Red Hatu. Je vyvíjená komunitou uživatelů a de facto slouží jako testovací verze distribuce Red Hat. Obsahuje pouze open source balíčky, ale je možné doinstalovat i další. Více na [24]. Aurox polská distribuce založená na Fedoře. Více na[25]. CentOs Jiná otevřená verze Red Hatu. Obsahuje některé nástroje pro konfiguracizplnéverzeredhatu.jemimojinépoužitaijakozáklad prorockclusters,cožjedistribuceproklustery.vícena[26]ana[27]. 4.5.4 Ukázka práce s programem rpm rpm -i foo instalace balíku foo.rpm rpm -i foo --force --nodepth instalace natvrdo přinesplněnýchzávislostech. rpm -e foo odinstalování balíku 4.6 Debian a jeho odvozeniny Zcela nekomerční distribuce. Založena v roce 1993 Ianem Murdockem. Slovo Debian je zkratkou jeho křestního jména a křestního jména jeho ženy Debry. V základní verzi obsahuje pouze open-source programy. Většinou obsahuje starší, ale stabilní verze programu. Vždy jsou vyvíjeny současně tři větve: 40

stable Stabilní prověřené verze programů, ke kterým jsou vydávány pouze bezpečnostní záplaty. Tato verze je často používána na serverech. testing Novější verze programů. Vhodné pro použití na domácích počítačích. unstable Vývojová řada. Nedoporučuje se pro běžnou práci. Debian používá balíčkovací systém APT (Advanced Packaging Tool), který umožňuje doinstalovávat nové programy a upgradovat stávající stahováním z internetu. Seznam zdrojů(repozitářů je uložen v souboru /etc/apt/sources.list a lze jej snadno měnit. Více na[28]. 4.6.1 Ukázka práce s programem APT apt-get update Stažení informací o nových balících. apt-get upgrade Upgrade systému. Na důležité změny je uživatel dotázán. apt-cache search foo Vyhledání informací o balíčcích podle klíčového slova foo. apt-get install foo Instalace balíčku foo. apt-get remove foo Odstranění balíčku foo. 4.6.2 Ubuntu a jeho odvozeniny Je to distribuce založená na Debianu, sponzorovaná firmou Canonical, ltd., kterou vlastní Mark Shuttleworth. Snaží se vyvíjet stabilní, ale aktuální systém.novéverzejsouvydáványkaždých6měsícůamají18měsícůpodporu. Ubuntu obsahuje převážně otevřený software(ale ne nutně) a má být navždy zdarma. V základní verzi obsahuje desktopové prostředí Gnome, ale existuje rovněžverzeskdezvanákubuntuasxfcezvanáxubuntu.existujerovněž verze s výukovými programi zvaná Edubuntu. Byly vytvořeny rovněž verze Christian edition a Muslim edition pro uživatele daného vyznání, obsahující speciální programy např. pro studium Bible anebo Koránu. Existence posledně jmenovaných verzí je však v rozporu s pravidlem Open Source, které říká,žeprogramymajíbýtkdipoziciprolidibezrozdíluvyznání.protobyla na protest některými vývojáři rovněž vydána Satanic edition. Vícena[29],na[30],na[32]ana[31]. 41

4.6.3 Jiné distribuce založené na Debianu Simply Mepis Distribuce z USA. Zajímavá volba pro uživatele, kteří mají rádi systém APT, ale připadá jim, že Debian obsahuje zastaralé programyanaopakubuntujimvšepřílišvnucuje.vícena[33]. Knoppix Live distribuce Linuxu vyvíjená Klausem Knopperem z Německa. Jedná se asi o aktuálně nejpopulárnější live distribuci, obsahující všechny nejoblíbenější programy. Je možné ji rovněž nainstalovat napevnýdisk.vícena[34]. Parallel Knoppix Distribuce pro sestavení linuxových klusterů založená naknoppixu.nenínutnéinstalovatnicnapevnýdisk,všeběžívpaměti. Více na[35]. 4.7 Překládané distribuce 4.7.1 Gentoo Linux Distribuci založil Daniel Robbins. Jedná se o nekomerční distribuci. Balíčkovací systém portage vychází ze systému ports BSD a obsluhuje se příkazem emerge. Při instalaci se nainstaluje minimální systém z binárních balíků a zbytek se přeloží na míru pro konkrétní hardware. Rovněž onen minimální systém je možné dodatečně přeložit. Kompletní instalace s běžnými programy trvá i několik dní. Rovněž každý upgrade si vyžádá poměrně značný čas. Uživatelé Gentoo bývají někdy posměšně označováni za podivíny trávící polovinu výpočetního času upgradem systému. Na druhou stranu se jedná o průhledný a velice snadno konfigurovatelný systém, přestože neobsahuje žádné konfigurační nástroje. Bývá zvykem uvádět, že se jedná o systém, kterýjerychlejšínežjinélinuxy,aledleméhonázorujetodůsledektoho, že Gentoo lze nakonfigurovat tak, že se nespouští nic nepotřebného. Více na [36]. 4.7.2 Ukázka práce s programem emerge emerge --sync Stažení informací o nových balících. emerge world Upgrade systému. Na důležité změny je uživatel dotázán. emerge -s foo Vyhledání informací o balíčcích podle klíčového slova foo. 42

emerge foo Instalace balíčku foo. emerge -c foo Odstranění balíčku foo. 4.7.3 Jiné překládané distribuce Linux from Scratch Již popsaná možnost přeložit kompletně celý Linux odnuly.vícena[18]. Source Mage Jiná překládaná distribuce. Používá kouzelnické termíny jako sorcery, cast, spell. Instalace této distribuce a uvedení do provozuschopného stavu je obtížnější než u Gentoo. Rovněž tak komunita uživatelůjemenšínežugentoo.vícena[37]. 4.8 Arch Linux Arch Linux je distribuce optimalizovaná pro procesory i686 a vyšší. Díky tomu může na těchto procesorech běžet rychleji než jiné distribuce. Distribuci vytvořil Judd Vinet. Uvádí se, že je určena zkušenějším uživatelům, ale myslím si, že to není zcela pravda. Naopak i přes absenci speciálních konfiguračních nástrojů je velice snadno konfigurovatelná. Většina nastavení je uložena v jediném souboru/etc/rc.conf. Více na[38]. Distribuce používá vlastní balíčkovací systém pacman (neplést se stejnojmennou hrou). Balíčky jsou rozděleny do několika kategorií core, extra, community, testing a unstable. Defaultně systém používá pouze první dvě. Je na uživateli, které další si povolí. Extra obsahuje například KDE, GNOME a další běžně používané balíky. Community pak jsou balíky připravené uživateli a přijaté jako oficiální. Používat skupiny testing a unstable na systému určeném pro běžnou práci se nedoporučuje pro možnou nestabilitu. Existuje rovněž velké množství balíků připravených uživateli, které nejsou oficiálně součástí distribuce. Ty je možné stáhnout z domovských stránek Arch Linuxu([38]) a nainstalovat podle návodu, který je zde uveden. 4.8.1 Ukázka práce s programem pacman pacman -Su Stažení informací o nových balících. pacman -Sy Upgrade systému. Na důležité změny je uživatel dotázán. 43