V Š B
–
T e c h n i c k á
u n i v e r z i t a
O s t r a v a
Hornicko – geologická fakulta Institut ekonomiky a systémů řízení O d d ě l e n í
a u t o m a t i z a c e
v
h o r n i c t v í
Učební texty pro předmět
545–0043/01 Operační systém Unix (OSUX)
Tento text vypracoval kolektiv autorů
Ostrava 2009
Předmluva Tento dokument vznikl, jako učební pomůcka pro předmět: 545 043/01 Operační systém Unix, který seznamuje posluchače s operačními systémy typu Unix / Linux a je převážně zaměřen na úplné začátky práce s tímto druhem operačních systémů. V tomto předmětu se studenti seznámí s některými druhy jednotlivých distribucí, avšak hlavní zaměření bude na distribuci, která je uváděna pod názvem Ubuntu. Tato distribuce operačního systému Linux, je podle některých dokumentů hlavně zaměřena, aby byla co nejvíce uživatelsky přívětivá. Dále budou posluchači seznámení se základy architektury, grafickým rozhranním, s druhy souborových systémů, apod. Vzhledem k velkému množství dokumentace o této i jiných distribucích operačního systému Unix / Linux, je tento dokument zaměřen pouze na některé vybrané kapitoly. Tyto kapitoly byly vybrány na základě nejčastějších dotazů studentů z minulých ročníků. Při psaní jakékoliv dokumentu je obtížné zvolit, jak detailně se věnovat jednotlivým tématům. Vzhledem k tomu, že tento předmět absolvují i studenti, kteří nemají s tímto operačním systémem žádnou zkušenost, může být velké množství detailních informací velmi matoucí a tím i demotivující. Z tohoto důvodu byl tento dokument vytvořen studenty. Každá kapitola byla vypracována jedním autorem (studentem nebo studentkou) a vyučujícím, který zasahoval do obsahové stránky jen minimálně. Tímto způsobem vznikla učební pomůcka, která snad bude srozumitelnější studentům, kteří začínají pracovat s tímto typem operačního systému. Na závěr je nutné učinit jedno upozornění a to, že tento text nenahrazuje přednášky. Naopak tento text může být doplňován výkladem na přednášce.
Vyučující předmětu - 545 043/01 Operační systém Unix Ing. Michal Řepka, Ph.D.
2
Obsah 1.
HISTORIE VZNIKU OPERAČNÍCH SYSTÉMŮ UNIX/LINUX ............................................................... 5 1.1 SPECIFICKÁ FILOZOFIE UNIXOVÝCH SYSTÉMŮ ............................................................................................... 5 1.2 FENOMÉN OPEN-SOURCE ........................................................................................................................ 6 1.3 JAK VZNIKL Z UNIXU LINUX .................................................................................................................... 7 1.4 DĚLENÍ DISTRIBUCÍ .................................................................................................................................. 8 1.4.1 Ubuntu..................................................................................................................................... 10 1.4.2 Debian ..................................................................................................................................... 11 1.4.3 Fedora ..................................................................................................................................... 11 1.4.4 Gentoo Linux ........................................................................................................................... 12 1.4.5 Mandriva Linuxu...................................................................................................................... 13 1.5 POUŽITÁ LITERATURA ............................................................................................................................ 14
2.
LICENCE PRO SVOBODNÝ A KOMERČNÍ SOFTWARE ....................................................................15 2.1 2.2 2.3 2.4
3.
LICENCE PRO SVOBODNÝ SOFTWARE ......................................................................................................... 15 LICENCE PRO PROPRIETÁRNÍ SOFTWARE..................................................................................................... 17 SHRNUTÍ ............................................................................................................................................. 18 POUŽITÁ LITERATURA ............................................................................................................................ 18
SOUBOROVÉ SYSTÉMY POUŽITELNÉ V LINUXU ...........................................................................19 3.1 SOUBOROVÝ SYSTÉM V OBECNÉ ROVINĚ .................................................................................................... 19 3.2 POJEM SOUBOR V OS LINUX .................................................................................................................. 22 3.3 STRUKTURA ADRESÁŘŮ V LINUXU ............................................................................................................ 23 3.4 ŽURNALOVÁNÍ ..................................................................................................................................... 25 3.5 ODKLÁDACÍ PROSTOR LINUXU - SWAP..................................................................................................... 26 3.6 EXT 2 ................................................................................................................................................ 27 3.7 EXT 3 ................................................................................................................................................ 27 3.8 FAT................................................................................................................................................... 28 3.9 NTFS ................................................................................................................................................ 30 3.10 POROVNÁNÍ SOUBOROVÝCH SYSTÉMŮ .................................................................................................. 32 3.11 ZÁVĚR ............................................................................................................................................ 32 3.12 POUŽITÁ LITERATURA ........................................................................................................................ 33
4.
UKÁZKY ADMINISTRACE OS LINUX .............................................................................................34 4.1 PŘÍKAZOVÝ ŘÁDEK (SHELL) ................................................................................................................... 34 4.2 BASH (BOURNE AGAIN SHELL) ................................................................................................................ 35 4.2.1 Příklad k interpretu BASH ........................................................................................................ 35 4.3 ROURY A PŘESMĚROVÁNÍ ....................................................................................................................... 35 4.3.1 Přesměrování vstupů a výstupů .............................................................................................. 36 4.3.2 Roury ....................................................................................................................................... 36 4.4 NÁPOVĚDA V LINUXU ............................................................................................................................ 37 4.5 PŘEHLED VŠECH SKUPIN: ........................................................................................................................ 38 4.6 PŘÍKLADY PŘÍKAZŮ V SHELLU ................................................................................................................ 39 4.6.1 Práce s adresáři ....................................................................................................................... 39 4.6.2 Vlastnictví souborů .................................................................................................................. 39 3
4.6.3 Přístupová práva ..................................................................................................................... 40 4.7 UŽIVATELSKÉ ÚČTY A SKUPINY ................................................................................................................. 40 4.7.1 Přístupová práva ..................................................................................................................... 41 4.7.2 Skupiny (groups) ...................................................................................................................... 42 4.8 DÁVKOVÉ ZPRACOVÁNÍ ÚLOH .................................................................................................................. 42 4.9 POUŽITÁ LITERATURA ............................................................................................................................ 43 5.
FORMÁTY GRAFICKÝCH SOUBORŮ .............................................................................................44 5.1 GRAFICKÉ FORMÁTY .............................................................................................................................. 44 5.2 BITMAPOVÉ FORMÁTY ........................................................................................................................... 45 5.2.1 JPEG ......................................................................................................................................... 47 5.2.2 PNG ......................................................................................................................................... 47 5.2.3 GIF ........................................................................................................................................... 47 5.2.4 BMP ......................................................................................................................................... 47 5.2.5 TIFF .......................................................................................................................................... 47 5.2.6 TGA .......................................................................................................................................... 48 5.3 VEKTOROVÉ FORMÁTY ........................................................................................................................... 48 5.3.1 SVG .......................................................................................................................................... 49 5.3.2 CDR .......................................................................................................................................... 49 5.3.3 DXF .......................................................................................................................................... 49 5.4 STRUKTURA PNG ................................................................................................................................. 49 5.4.1 Hlavička souboru PNG ............................................................................................................. 50 5.4.2 Tělo souboru PNG .................................................................................................................... 52 5.5 POUŽITÁ LITERATURA ............................................................................................................................ 61
4
Historie vzniku operačních systémů Unix/Linux
1. kapitola
1. Historie vzniku operačních systémů Unix/Linux Autor: Petra Fuchsíková Pod slovem UNIX se skrývají slova UNiplexed Information and Computing. Jedná se o operační systém, podobně jako například MS Windows. V roce 1969 vnikl samotný operační systém UNIX, který již neexistuje. Největší rozdíly oproti jiným operačním systémům jsou: 1.
Specifická filozofie
2.
Fenomén Open-Source
1.1 Specifická filozofie UNIXových systémů Základem operačního systému je specifická architektura, která vychází z několika základních předpokladů:
Architektura v UNIXu je předem definována, je veřejná a není utajována před veřejností [6].
Operační systém je architekturou rozdělen na části : na jádro - kernel a na to ostatní – knihovny [7] (viz obrázek č.1).
Rozdílné pojetí UNIXU je patrné v přístupu systému ke všemu (včetně HW zařízení), jakoby to byl soubor a pak s ním také pracuje jako se souborem.
Velkou výhodou UNIXU je možnost uživatele si předělat to co mu nevyhovuje.
Obr. č. 1 – Základní popis UNIX architektury [6]
5
Historie vzniku operačních systémů Unix/Linux
1. kapitola
Pro větší přehlednost architektury UNIXu přidávám ještě podrobnější obrázek:
Obr.č. 2 Podrobná architektura UNIXu [6]
1.2 Fenomén Open-Source Software s otevřeným zdrojovým kódem. Otevřenost zde znamená jak technickou dostupnost kódu, tak legální dostupnost - licenci software, která umožňuje, při dodržení jistých
6
Historie vzniku operačních systémů Unix/Linux
1. kapitola
podmínek, uživatelům zdrojový kód využívat, například prohlížet a upravovat. Tím jsou uživatelé schopni reagovat na změny a nové technologie.
1.3 Jak vznikl z UNIXu LINUX Linux se začal vyvíjet v roce 1991 jako jádro systému Unixového typu, které nakonec dostalo jméno „Linux“. Původně ho začal psát finský student helsinské univerzity Linus Torvalds jako svůj koníček. Torvalds vycházel z Minixu, což byl zjednodušený klon Unixu napsaný Andrewem Tanenbaumem 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 jazyce symbolických adres procesoru IA-32 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. První verze linuxového jádra (0.01) byla vydána na Internetu 17. září 1991, další následovala v říjnu téhož roku. Od té doby se na tomto projektu podílely tisíce vývojářů z celého světa. [8]
Historie Unixu Historie unixu začíná v šedesátých letech minulého století v Bellových laboratořích (patřící pod společnost AT&T). V té době probíhá vývoj komplexního operačního systému Multics. Ale protože systém nesplňoval všechny požadavky, měl špatný výkon a také by byl velmi drahý, byl jeho vývoj zastaven. Ken Thompson, který byl z projektu odsunut, pracoval na hře Space Travel. Právě při jejím vývoji se začaly vytvářet základy unixu. Počítač, na němž pracovali, byl PDP-7 a měl velmi omezené systémové prostředky. Ona šetrnost je vidět dodnes v názvech jako cp, mv, etc, usr. V roce 1970 se ukázalo, že dosavadní PDP-7 je zastaralý, proto Ken Thomspon požádal o nákup nového PDP-11. Bellovy laboratoře projekt podpořily, protože zastavením vývoje Multics neexistoval žádný systém, který by mohly používat. Jelikož jsou příkazy jednoúčelové, je většinou nutné jich zkombinovat více. Řešením byla roura (pipe, v
7
Historie vzniku operačních systémů Unix/Linux
1. kapitola
shellu se zadává pomocí), která elegantně přesměrovala výstup z prvního programu na vstup druhého. Tím byla vytvořena základní idea unixu: Program dělá pouze jednu věc, zato ji dělá perfektně. K dosažení cíle je nutné programy kombinovat. Univerzálním komunikačním prostředkem je text, který se čte ze standardního vstupu a posílá na standardní výstup. Původní verze byly napsány v assembleru, ale Ken Thompson toužil po vyšším programovacím jazyce. Jelikož žádný vhodný neexistoval, vytvořil Dennis Ritchie programovací jazyk C, do něhož byl kód následně přepsán. Vzhledem k tomu, že napsat kompilátor jazyka C je relativně snadné, bylo možné unix portovat na jiné počítače, což ostatní, v assembleru napsané systémy neuměly. V polovině sedmdesátých let se unix rozšířil v akademickém prostředí a na univerzitě v Berkeley vznikla distribuce BSD (Berkley Software Distribution) a spousta užitečného softwaru. Postupně došlo k rozštěpení na dvě hlavní větve, BSD a SystemV od AT&T. BSD byl časem uvolněn k volnému použití pod BSD licencí a dnes je z něj svobodný software a je základem systémů jako FreeBSD, OpenBSD, NetBSD, DragonFlyBSD, atd. V roce 1980 vznikla verze Xenix pro procesor intel 8086, za kterou stály firmy Microsoft a SCO (Santa Cruz Operation). Mezi další známé unixové systémy patří: Solaris od Sun Microsystems, HP-UX od HewlettPackard, AIX od IBM.
1.4 Dělení distribucí Operační systém Linux lze získat v tzv. distribucích - to je souhrn nejrůznějších aplikací sloužících k práci s počítačem. Níže je uveden seznam několika distribucí určených široké veřejnosti. Uvádím základní informace o nejznámějších distribucích pro desktop - nejedná se zdaleka o všechny.
Seznam distribucí [9] Zde se dozvíte základní informace o nejznámějších (nejoblíbenějších) distribucích pro „desktopové“ počítače. Nejedná se zdaleka o všechny!
8
Historie vzniku operačních systémů Unix/Linux •
1. kapitola
Ubuntu – Tato distribuce vhodná pro začátečníky vychází z Debianu. Je volně dostupná, včetně možnosti bezplatného zaslání instalačních CD poštou. Ubuntu zajišťuje komunitní i profesionální podporu. Nové verze vychází dvakrát do roka. 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. Také existuje Edubuntu, které je zaměřeno na výuku.
•
Debian – Tato distribuce je jedna z nejstarších. Jejím 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. Debian nabízí on-line repozitář (server, kde jsou uloženy zdrojové kódy) softwarových balíků.
•
Fedora – Jedná se o distribuci, za kterou stojí (sponzoruje) Red Hat, protože 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 – „Červený klobouk“. Jedna z nejstarších distribucí. Dnes velmi komerční, hlavně díky Red Hat Enterprise Linuxu. V Red Hatu vznikl balíčkovací systém RPM. Na desktopech se již moc nepoužívá. Spousta uživatelů přešla na distribuce založené na Red Hatu.
•
Slackware – Jedna z prvních distribucí, je spíše pro pokročilejší uživatele. Po instalaci se musí ukázat hodně zdatnosti, než se propracujete alespoň k X Window.
•
Mandriva (dříve Mandrakelinux) – Tato distribuce používá balíčkovací systém RPM. Mandriva je vhodná pro začátečníky, protože po snadné instalaci je připraven již plně funkční sytém.
•
Gentoo – Je zcela odlišný od ostatních distribucí. Instalace totiž neprobíhá formou binárních souborů, ale kompiluje se přímo na PC. Po dlouhé instalaci uživatel dostává optimalizovaný systém a software na svůj počítač.
•
SUSE – Původně samostatná distribuce, později koupena firmou Novell. Další distribuce vhodná pro začátečníky. Je možné si koupit krabicovou verzi, ale dá se stáhnout zdarma z internetu.
9
Historie vzniku operačních ních systémů systém Unix/Linux
1.4.1
1. kapitola
Ubuntu
Ubuntu je poměrněě mladá distribuce vyvíjená komunitou za podpory firmy Canonical. Ubuntu je ovšem postaveno na velmi spolehlivém základě základ již mnoho let vyvíjené distribuce Debian GNU/Linux. Zatímco Debian se snaží být distribucí značně zna univerzální, jasným cílem. Ubuntu je přiblížit p Linux uživatelům pro použití na osobních počítačích po jako tzv. desktopové prostředí. ředí. Grafické prostředí prost edí Ubuntu je založeno na Gnome, někteří lidé ale více preferují grafické prostředí prost KDE.. Proto vznikla varianta Ubuntu zvaná Kubuntu. Odlehčená verze s Xfce neboli Xubuntu je vhodná např.. pro starší počítače. počíta a) Kubuntu Kubuntu je linuxová distribuce odvozená od Ubuntu.. Rozdíl mezi těmito tě distribucemi je v grafickém
prostředí
(GUI GUI),
Ubuntu
používá
grafické rozhraní GNOME, GNOME zatímco Kubuntu používá KDE. Obě distribuce jsou „user friendly“ a jsou určené ené jak pro začátečníky, za tak pro zkušenější jší uživatele.
V současnosti sou se podle
mnoha žebříčků jedná o jedny z nejoblíbenějších nejoblíben a nejpoužívanějších
linuxových
distribucí distribucí.
Oba
operační ní systémy používají stejné repozitáře a oba používají stejný balíčkovací systém a to APT.. Z Ubuntu je možno vytvořit vytvo it Kubuntu prostým nainstalováním balíčku balí „kubuntudesktop“, esktop“, toto je výhodné pro uživatele, kteří kte chtějí jí používat grafické prostředí prost KDE, ale nechtějí přeinstalovat einstalovat celý systém. b) Xubuntu Xubuntu je oficiální odnož linuxové distribuce Ubuntu. Je to open source operační systém, který jako desktopové prostředí ředí používá Xfce. Xubuntu je určen pro uživatele s méně mén výkonným počítačem..
Obsahuje
aplikace.Xubuntu Xubuntu
bylo
p převážně
GTK+
pojmenováno
Breezy
10
Historie vzniku operačních ních systémů systém Unix/Linux
1. kapitola
Badger (verze 5.10 Ubuntu linie). Datum vydání první verze Xubuntu je 1. června 2006, stejně jako linie Ubuntu 6.06 (včetně (vč Kubuntu a Edubuntu) s kódovým označ značením Dapper Drake. c) Edubuntu Edubuntu je verze linuxové distribuce Ubuntu, která se specializuje na školství. V Edubuntu je k dispozici Linux Terminal Server Project a mnoho výukových aplikací aplika včetně GCompris, KDE Edutainment Suite a Schooltool Calendar.. První vydání Edubuntu bylo 13. října 2005 – v den vydání Ubuntu 5.10, který měl m kódové označení Breezy Badger. Badger. Edubuntu CD se mohou zdarma objednat nebo stáhnout na Shipit (Shipit - http://cs.wikipedia.org/wiki/Edubuntu). http://cs.wikipedia.org/wiki/Edubuntu Na vývoji Edubuntu spolupracují učitelé u itelé a technici z mnoha zemí. Edubuntu je postaveno na základě Ubuntu a začleň čleňuje architekturu klienta LTSP a také výukové aplikace, které jsou zaměřeny na věkovou kovou kategorii 6 – 18 let.
1.4.2
Debian
Debian je svobodný operační opera systém (OS) určený k provozu na mnoha různých r typech počítačů. Operační ní systém se skládá ze základního programového vybavení a dalších nástrojů, nástroj kterých je k provozu počítače třeba.. Vlastním základem OS je jádro. Jelikož Debian používá jádro Linux a většina základních systémových programůů byla vytvořena vytvo v rámci projektu GNU, nese systém označení čení GNU/Linux. Debian GNU/Linux je však více než jen samotný operační opera ní systém. Obsahuje přes p 18733 balíčků s (předkompilovanými) edkompilovanými) programy a dokumentací, připravených ipravených pro snadnou instalaci.
1.4.3
Fedora
Fedora je kompletní operační opera systém Linux (tzv. distribuce), která vznikla jako nekomerční nekomer odnož Red Hat Linuxu. Vyvíjí ho komunita vývojářů vývojá za podpory firmy Red Hat. Na základě základ Fedory pak Red Hat připravuje své komerční ční distribuce Red Hat Enterprise
11
Historie vzniku operačních systémů Unix/Linux
1. kapitola
Linux. Fedora je známa svou pokrokovostí a zpravidla přináší v každé verzi několik zásadních novinek. Distribuce je značně univerzální, se znatelným zaměřením na použití na osobních počítačích. Základní charakteristika distribuce -
Univerzálně použitelná Linuxová distribuce vhodná i pro začínající uživatele
-
Dostupná zdarma pro všechny hlavní platformy - x86 (PC), x86_64 (AMD64), PowerPC (Mac)
-
Kvalitní integrovaná desktopová prostředí Gnome, KDE, Xfce
-
Množství volně dostupných aplikací přímo v distribuci - včetně OpenOffice.org a vývojového prostředí Eclipse
-
3D efekty a průhlednost grafického rozhranní
-
NTFS, WIFI, práce několik uživatelů naráz a jejich rychlé přepínání
-
distribuce soustředící se na nové a vývojové technologie
1.4.4
Gentoo Linux
Gentoo je distribuce operačního systému Linux vyvíjená, podobně jako Debian, komunitou. Je ovšem na rozdíl od ostatních založena na zdrojových kódech, takže si každý přeloží svůj unikátní systém dle svých požadavků. Překládání ale není nutností. Zakladatel Daniel Robbins. Obsahuje systém balíčků zvaný Portage, který řeší závislosti a předání parametrů pro překlad, takže instalaci a správu systému zvládne i poučený začátečník. Výhody a nevýhody Gentoo: Výhody: maximální možnost nastavení jednotlivých aplikací a součástí, přehledná konfigurace systému, optimalizace pro konkrétní hardware, časté aktualizace. Nevýhody: náročnost na výpočetní výkon v průběhu instalace nebo aktualizace systému a aplikací, délka kompilace, pokud se nevyužívají předkompilované balíky.
12
Historie vzniku operačních systémů Unix/Linux
1.4.5
1. kapitola
Mandriva Linuxu
Mandriva Linux (dříve Mandrake Linux) je kompletní operační systém vybavený stovkami aplikací pro každodenní použití. Jednou z jeho hlavních výhod je velmi rychlá instalace a snadné základní nastavení. Právě díky této uživatelské přívětivosti
patří
mezi
nejoblíbenější
linuxové
distribuce na světě. A nejen ve světě. V České a Slovenské republice patří podle průzkumů mezi nejpoužívanější a nejoblíbenější distribuce a již několik let je zde s velkým náskokem neprodávanějším Linuxem. Výhody Mandriva Linuxu Proč je Mandriva Linux tak oblíben u českých a slovenských uživatelů? Důvodů bude zřejmě více, jmenujme alespoň některé z nich: •
Snadná instalace a obsluha - většinu vlastností počítače lze velmi rychle nastavit v Ovládacím Centru. Konfigurační nástroje jsou k dispozici v grafickém režimu, jsou přehledné a intuitivní. Instalace celého systému je jednoduchá a s kompletním softwarovým vybavením jde o záležitost na pár desítek minut.
•
Kvalitní české produkty - produkty Mandriva Linux jsou vyráběny v České republice a reflektují potřeby českých a slovenských uživatelů. Obsahují kvaliní a oceňovanou dokumentaci v podobě několika knih, které vás provedou instalací a nastavením systému nebo ovládáním linuxových programů.
•
Množství softwaru - produkty Mandriva Linux obsahují několik CD a DVD, které jsou plné softwaru. Vše máte po ruce vždy, když to potřebujete. Download edice poskytovaná na FTP serverech jsou tři CD nebo jedno DVD plné softwaru. Pokud k tomu připočítáte další zdroje aplikací, dostanete obrovské množství aplikací, které je k dispozici v podstatě zdarma.
•
Inteligentní správa softwaru (balíčků). Mandriva používá systém balíčků rpm ale pomocí svých nadstaveb řeší nejčastější problém při instalaci: závislosti na jiných balíčcích. Také aktualizace balíčků (např. opravy) je při nastavených zdrojích až neskutečně jednoduchá. Jedním příkazem nebo několika kliknutími máte rázem stáhnuty a nainstalovány všechny dostupné opravy pro Váš systém.
13
Historie vzniku operačních systémů Unix/Linux •
1. kapitola
Podpora je silná především ze strany linuxové komunity. Mandriva provozuje pro své uživatele několik serverů, kde se mohou ptát (mohou i odpovídat, pokud vědí) Na těchto serverech najdete i spousty dokumentace zajímavostí od ostatních uživatelů. Naším záměrem je poskytnout pro česky hovořící uživatele adekvátní místo - tento server.
1.5 Použitá literatura [1] Lasser, Jon. Rozumíme UNIXu.1.vyd. Praha: Computer Press, 2002. 252s. 80-7226-706-X. [2] Raymond, Eric S. Umění programování v UNIXu. 1. vyd. Brno: Computer Press, 2004. 509 s. 80-251-0225-4. [3] http://cs.wikipedia.org/wiki/Seznam_distribuc%C3%AD_Linuxu [4] http://www.linux.cz/ [5] http://beta.dvojmo.cz/vody-unixu-slovo-uvodem-dil-1/ [6] http://autnt.fme.vutbr.cz/szz/2006/BP_Mestan.pdf [7] http://beta.dvojmo.cz/vody-unixu-slovo-uvodem-dil-1/ [8] http://cs.wikipedia.org/wiki/Linux [9] http://cs.wikipedia.org/wiki/Linuxov%C3%A1_distribuce
14
Licence pro svobodný a komerční software
2. kapitola
2. Licence pro svobodný a komerční software Autor: Václav Hulva Softwarové licence umožňují používání softwaru na základě Licenční smlouvy „ujednaní“, které upravuje vztah mezi poskytovatelem licence a jejím nabyvatelem. Většina softwarových licencí je tvořena autory softwaru, kteří určují podmínky pro užívání „nabytí“ licence, ale existuje sada „ochranných“ licencí, které můžeme rozdělit do dvou skupin. Na licence pro svobodný software a proprietární software. Operační systémy typu Unix/Linux, obvykle patří do kategorie svobodného software. Avšak některé distribuce (verze) těchto operačních systémů lze nalézt také v kategorii proprietárního software.
2.1 Licence pro svobodný software Hlavní licence, která spadá do licencí pro svobodný software je GNU licence. Ta vznikla při GNU projektu („Projekt GNU je projekt zaměřený na svobodný software, inspirovaný operačními systémy unixového typu. Původní cíl byl vyvinout operační systém se svobodnou licencí, který však neobsahuje žádný kód původního UNIXu. Jeho jméno je rekurzivní zkratka pro GNU's Not Unix (GNU Není Unix).“) Postupem času došlo k úpravám a vznikly jejich modifikace.
GNU General Public License Zkráceně GPL ,,Všeobecná veřejná licence'' je licence, která podporuje zásady a vlastnosti svobodného software a to zejména svobodné nakládání se softwarem a rovnocenné zveřejnění „binárních“ kódů i jejich zdrojových kódů. GPL nepožaduje, aby byla pozměněná verze zveřejněna. Můžete provést nějakou změnu a používat takový program soukromě, bez toho, abyste jej zveřejňovali. To se vztahuje i na organizace (včetně společností). Organizace může vytvořit modifikovanou verzi a interně jí používat bez toho, aby jí zveřejnila mimo tuto organizaci. Ale pokud modifikovanou verzi nějakým způsobem zveřejníte, GPL vám ukládá povinnost zveřejnit i zdrojový kód této modifikované verze a to pod GPL. GPL vám tedy dává povolení zveřejnit modifikovaný
15
Licence pro svobodný a komerční software
2. kapitola
program určitým způsobem a ne jiným, ale rozhodnutí, zda jej vůbec zveřejnit, je na vás.“ (citace z www.gnu.org) GPL licence také zaručuje trvání i po dalším šíření softwaru tudíž přechod práv a povinností na třetí osobu. Viz“ modifikované verze, které distribuujete, musí být licencovány všem třetím stranám pod GPL. Znamená to pouze, že od vás mají licenci na tuto vaši verzi pod GPL.“ (citace z www.gnu.org) Svobodný software neznamená, že vlastní výtvor musíme distribuovat zdarma, GPL dává každému právo prodávat kopie. Toto je součástí definice svobodného software. Viz „Za distribuci kopie programu si můžete zvolit poplatek, jaký chcete. Jestli poskytujete ke stažení binární verzi, musíte zajistit „stejný přístup'' i ke zdrojovým kódům. To znamená, že poplatek za stažení zdrojových kódů nesmí být vyšší než poplatek za stažení binární verze.“ (citace z www.gnu.org)
GNU Lesser General Public Licence Byla navržena pro vyplnění mezery pro svobodný software v silně copyleftovou licenci GNU General Public License (GPL) a permisivními (svobodnějšími) licencemi, jako jsou BSD licence nebo MIT Licence. Dá se tedy říct že LGPL je odvozen z GPL. Jednoduše je jeho okleštěnější verzí. „LGPL aplikuje copyleftové restrikce na program samotný, neuplatňuje je však na jiný software, který tento program linkuje. Existují však určité další restrikce na tento software.“ Odlišnosti od GPL „Hlavním rozdílem mezi GPL a LGPL je, že dílo pod LGPL lze linkovat (v případě knihovny "užívat") programem, která nemá licenci (L)GPL, a který může být svobodný software nebo software proprietární. Tento program (který není pod (L)GPL) lze šířit pod libovolnými licenčními podmínkami, pokud nejde o odvozené dílo. Program, který neobsahuje žádnou část odvozenou od kterékoli části knihovny, ale je navržen tak, aby s knihovnou pracoval zkompilováním nebo slinkováním s ní, se nazývá jako "dílo, které používá knihovnu". Takové dílo, izolované, není odvozeným dílem knihovny a proto spadá mimo působnost této licence. V zásadě musí být možné linkovat software s novější verzí programu pod LGPL. Nejčastěji používanou metodou, jak to udělat, je použít "vhodný mechanismus pro linkování sdílené 16
Licence pro svobodný a komerční software
2. kapitola
knihovny". Alternativně je povoleno použít staticky linkovanou knihovnu, pokud se poskytne buď zdrojový kód nebo linkovatelné objektové soubory. Jednou z vlastností LGPL je, že kdokoli může kteroukoli část softwaru šířeného pod LGPL převést pod licenci GPL. To je užitečné pro přímé použití kódu pod licencí LGPL v knihovnách nebo aplikacích, které mají licenci GPL, nebo pokud někdo chce vytvořit verzi s tímto kódem, kterou nebude možné používat v proprietárních produktech.“ (citace z www.wikipedia.cz) Jelikož LGPL smlouva je takto volná může nastat situace, že někdo začne prodávat váš produkt, který poskytujete zdarma a za splnění podmínek tak bude činit legálně.
2.2 Licence pro proprietární software V tomto případě se jedná většinou o komerční software a proto se tyto dva výrazy často zaměňují. Nejpoužívanější licencí ve světě proprietárního software je tzv. EULA (End-UserLicense-Agreement) což v překladu znamená licence pro koncového uživatele. Tato licence určuje podmínky, za kterých bude licence udělena a hovoří se o zákazu editace a šíření tohoto software. EULA licence umožňuji striktně vymezit práva a povinnosti nabyvatele, který s nimi před instalací musí souhlasit. K softwarům získaným pod EULA nemá uživatel většinou přístup k zdrojovým kódům. Tento software se nesmí nijak upravovat a získaná licence se nemůže použít ke komerčním účelům, což je logické vzhledem k omezením.
Mezi typické omezení patří -
omezení v počtu instalací (zpravidla 1 PC)
-
omezení v počtu procesorů na PC (zpravidla 1-2)
-
omezení v možnosti přenést licenci na jiný počítač
EULA dává v některých případech možnost změny licence v čase. Zejména u produktů, které vyžadují aktualizace, bez kterých se uživatel neobejde (např. operační systém). Eventuelní změna licence může být přibalená k bezpečnostní aktualizaci. V ujednání může být určen i operační systém, na kterém může být proprietární software používán. Často také bývá
17
Licence pro svobodný a komerční software
2. kapitola
také klauzule o omezení a odškodného kdy se prodávající de facto zříká škod způsobené užíváním softwaru.
2.3 Shrnutí Ještě bych uvedl názor, který jsem si k těmto licencím udělal a to takový že v případě GNU, jde o licenci, která se řídí pravidlem, že co není výslovně zakázáno je povoleno. Tudíž dává značnou svobodu nabyvateli licence a tím plně podporuje ideologii svobodného softwaru. EULA se naopak přikloňuje k tomu, že co není povoleno, je automaticky zakázáno. Je pak zřejmé, že se jedná o programy komerčního rázu.
2.4 Použitá literatura www.gnu.org www.wikipedia.com
18
Souborové systémy použitelné v Linuxu
3. kapitola
3. Souborové systémy použitelné v Linuxu Autor: Filip Beneš Tuto práci jsem zaměřil v prvé řadě na vysvětlení pojmu souborový systém v obecné rovině a důvodů proč ho používáme. Dále jsem popsal souborové systémy používané v OS Linux, rozdíly mezi jednotlivými souborovými systémy a na vysvětlení jejich specifik, výhod a nevýhod.
3.1 Souborový systém v obecné rovině Dříve než začnu popisovat jednotlivé typy souborových systémů, tak jak mi velí název práce, pokusím se vás seznámit se základními pojmy týkající se této problematiky. V duchu naší doktríny o systémovém myšlení se pokusím vysvětlit je na té nejobecnější úrovni a postupně je konkretizovat. Soubor Pod pojmem soubor budeme v našem případě uvažovat pojmenovanou uspořádanou množinu dat uloženou na nějakém datovém médiu (viz např. pevný disk, disketa, DVD, Flash disk atd..). Typ souboru se v různých operačních systémech zjišťuje různým způsobem: (či kombinací způsobů) •
pomocí přípony názvu souboru (např. .exe v Microsoft Windows)
•
pomocí atributu souboru (např. atribut executable v Linuxu)
•
pomocí obsahu souboru (první byty souboru obsahují jednoznačný identifikátor)
Systém Účelově definované množina prvků a vazeb, které vykazuje určité cílové chování. Souborový systém Jak jsme si již řekli soubory jsou uloženy na nějakém datovém médiu. Nejsou tam ovšem naházeny jen tak náhodně, ale podle pevného řádu. Zmíněnému řádu se říká souborový systém a jak je v počítačovém světě zvykem, existuje jich celá řada s různými jmény a specifiky. Systém by měl podle definice vykazovat určité cílové chování, asi tím nejobecnějším cílem
19
Souborové systémy použitelné v Linuxu
3. kapitola
Souborového systému je vnést řád a pevné pravidla do správy a organizace souborů na datovém médiu. Informace uložené v souborovém systému můžeme rozdělit na metadata a data. Toto rozdělení bude blízké našemu oboru, protože krkolomnou definici metadat dobře známe ☺ (jedná se o strukturovaná data popisující data) Metadata popisují strukturu systému souborů a nesou další služební a doplňující informace, jako je velikost souboru, čas poslední změny souboru, čas posledního přístupu k souboru, vlastník souboru, oprávnění v systému souborů, seznam bloků dat, které tvoří vlastní soubor atd. Metadata (atributy) souborů, která jsou nečastěji uchovávaná: •
jméno - jedinečný název souboru
•
velikost - okamžitá velikost
•
typ - informace pro OS, určuje jak zacházet s obsahem
•
umístění
•
ochrana - kdo smí jak nakládat se souborem
•
vlastník - uživatel/skupina vlastnící soubor
•
časové informace
o
čas vytvoření
o
poslední přístup k souboru
o
poslední modifikace souboru
Pojmem data pak míním vlastní obsah souboru, který můžeme přečíst, když soubor otevřeme.
Obecná struktura uspořádaní dat Na obecné úrovni můžeme říci, že soubory se v souborovém systému ukládají do stromové struktury, která je tvořena soubory a adresáři. Adresář má schopnost v sobě obsahovat další adresáře a také soubory. Ukázka viz Obr.1
20
Souborové systémy použitelné v Linuxu
3. kapitola
Obr1. Ukázka stromové struktury organizace dat v souborovém systému Geneze souborových systémů Většina souborových systémů vznikla současně s vývojem nějakého operačního systému, jiné jsou standardem pro zápis na určité speciální médium (např. souborový systém ISO 9660 určený pro CD a DVD). DOS například podporuje systémy FAT, po instalaci CD/DVD driveru také ISO 9660. V operačním systému Windows nalezneme navíc podporu i pro souborové systémy NTFS. V Linuxu nalezneme kromě již zmíněných také ext2, ext3, ReiserFS, JFS, XFS a mnoho dalších. A například pro operační systém SOLARIS je typické používat především UFS a ZFS.
Poznámka: Pokud Vás překapuje, že většina názvu souborových systémů obsahuje písmenka FS, vězte že tato skutečnost odvozena jest od anglického File System.
Více Souborových systému na jednom disku? Pevné disky jsou obvykle logicky rozděleny na oddíly (partition), souborový systém se rozkládá jen na konkrétním oddílu a ne na celém disku. To umožňuje mít na pevném disku více nezávislých souborových systémů, které mohou být různého typu.
21
Souborové systémy použitelné v Linuxu
3. kapitola
Zde bych ukončil povídání o Souborových systémech v obecné rovině a soustředil se na specifika souborových systémů v Linuxovém prostředí.
3.2 Pojem Soubor v OS Linux Asi nejdůležitější informace v linuxovém pojetí souborových systémů je věta: V Linuxovém systému je všechno soubor. Pokud něco není soubor je to proces.
Teď se logicky nabízí otázka co je v tom případě adresář? Odpověď je jednoduchá Linux nerozlišuje mezi souborem a adresářem. Adresář je totiž pouze soubor, který obsahuje názvy jiných souborů. Programy, služby, texty, obrázky a podobně, všechno je uloženo jako soubory. I vstupní a výstupní zařízení, obecně jakékoli zařízení, systém chápe jako soubory. Většina souborů je podobna souborům, které známe např. z OS Windows. Jsou to tedy takové které obsahují textová data, obrázky, spustitelné soubory, atd. Krom těchto však v linuxu existují další typy souboru a jsou to: Adresáře: Soubory, které obsahují seznam jiných souborů. Speciální soubory: Představují I/O zařízení a jsou soustředěny v adresáři/dev. Odkazy: Mechanismus umožňující zpřístupnit soubor či adresář na více místech souborového stromu. Sockety a pojmenované roury: Speciální typ souborů, sloužící jako prostředek komunikace mezi procesy. Nyní si ukážeme identifikaci typu souboru použitím příkazu ls s přepínačem – l. Pomocí tohoto příkazu jsem ukázal obsah adresáře documents. Zaměřme se na poslední tři řádky, reprezentují výpis tří souborů. Jejich první značka nám říká o jaký soubor se jedná. filip:~/documents> ls-l total 3 - rw -rw-r - -
1 filip filip 31744 Feb 21 17:56 intro linux.doc
- rw -rw-r - -
1 filip filip 31744 Feb 21 17:56 linux.doc
drwxrwxr - x
2 filip filip
4096 Feb 25 11:50 course
22
Souborové systémy použitelné v Linuxu
3. kapitola
Znak
Význam
-
Normální soubor
d
Adresář
l
Odkaz
c
Znakové zařízení (speciální soubor)
s
Socket
p
Pojmenovaná roura
b
Blokové zařízení (speciální soubor)
Tab 1. Identifikace souboru podle prvního písmena ve výpisu ls-l
3.3 Struktura adresářů v Linuxu Nerad bych se na tomto místě dotkl případných čtenářů, ale pokud jste jako já „odkojeni“ na OS Windows možná Vás v Linuxu překvapí absence písmenek, reprezentujících kořenové adresáře jednotlivých disků a přídavných zařízení. V Linuxu existuje prostě jeden kořenový adresář, ze kterého dále vyrůstá vlastní struktura vnořených adresářů - adresářový strom. Tento adresář se nazývá root a značí se pomocí /. Veškeré další oddíly a disky (floppy, cdrom, síťové disky ...) se připojují do nějakého adresáře v této struktuře. (příkaz mount).
Ačkoli napříč rozličnými distribucemi systému Linux mohou nastat v tomto pravidlu drobné odchylky, existují určité konvence pro rozvržení adresářů a souborů v rámci Souborového systému (např. umístění globálních konfigurací do adresáře "/etc", dočasných souborů" do "/tmp" apod.). Na takovéto uspořádání se můžeme podívat na obrázku 2.
23
Souborové systémy použitelné v Linuxu
3. kapitola
Obr. 2 Hierarchie souborového systému v OS Linux
Popis jednotlivých adresářů naleznete v příloze číslo 1. Cesty Cesta je adresářová hierarchie, kterou je nutno projít pro nalezení daného souboru. Může být specifikována vzhledem k počátku adresářového stromu (tedy od kořenového adresáře). V takovém případě cesta začíná lomítkem / a říká se jí absolutní cesta. Cesty, které lomítkem nezačínají se jmenují relativní cesty. Existují speciální označení pro aktuální adresář a adresář nadřazený. Aktuální adresář se označuje jednou tečkou, nadřazený dvěma tečkami. Rozdíl mezi těmito cestami si ukážeme na příkladu. Máme-li tedy soubor test, jenž je uložen na tomto místě /home/jumper/bin/wc/test – tento zápis se nazývá absolutní cesta. Relativní cesta k souboru test například z adresáře bin bude znít ./wc/test.
24
Souborové systémy použitelné v Linuxu
3. kapitola
Absolutní cesta: /home/jumper/bin/wc/test
Relativní cesta: ./wc/test Zásady pro pojmenování souborů a adresářů v Linuxu Tyto zásady berte prosím jako orientační, jak se dozvíme později existují v Linuxu třeba souborové systémy pro které neplatí zásada číslo 1 přesně v tomto znění. Ovšem pro lepší kompatibilitu se doporučuje tyto zásady dodržovat. 1.
Název souboru smí obsahovat písmena, čísla a některé další znaky. Vyvarujte se
však různých speciálních znaků jako „*“ „/“ znaku NULL (binární nula). 2.
Rozlišují se velká a malá písmena. Názvy „Soubor“ a „soubor“ označují dva různé
soubory. 3.
Jména smí být velice dlouhá: (maximálně je to 256 znaků)
4.
V Linuxu se typy souborů obecně nerozlišují podle přípon jako ve Windows. Jméno
souboru proto nemusí příponu vůbec obsahovat, nebo jich naopak může mít několik. Standardně se zachovávají přípony u různých dat jako obrázky či filmy (obrazek.jpg, film.avi. Dvě přípony mívají například komprimované soubory (typicky .tar.gz). 5.
Existují tzv. skryté soubory a adresáře, které se nezobrazí při normálním výpisu
obsahu adresáře. Jejich název začíná vždy tečkou. Soubory začínající tečkou "." jsou skryté a nevidíme je, pokud si je extra nevyžádáme (přepínač "-a" u přikazu ls ap.)
3.4 Žurnalování Jeden z rozdílů mezi jednotlivými Souborovými systémy je i podpora Žurnalování. Vysvětlíme si proto co to znamená. Jak již bylo řečeno souborové systémy jsou velmi komplexními datovými strukturami. Při změně v souborech nebo adresářích je nutné vykonat řadu jednotlivých operací.
25
Souborové systémy použitelné v Linuxu
3. kapitola
Pokud se však stane, že během vykonávání těchto operací například vypneme počítač, může dojít k tomu, že data na disku ztratí integritu (jsou narušeny vazby, které data spojují ve smysluplný celek). Uvedení dat do opětovné integrity znamená naplánovanou transakci dokončit nebo se vrátit k původnímu stavu před započetím transakce. Žurnálování umožňuje velmi rychle a bezpečně uvést souborový systém do konzistentního stavu. Souborové systémy, které žurnálování nepodporují, je nutné kompletně zkontrolovat speciálním programem (např. scandisk, fsck), což je časově velmi náročná operace a může to navíc způsobit ztrátu dostupnosti dat, které nebyly havárií postiženy přímo. Princip žurnálu Žurnál je pro ochranu prováděné transakce využíván následujícím způsobem: 1.
do žurnálu je zapsáno, co a kde se bude měnit
2.
je provedena vlastní série změn
3.
do žurnálu je zapsáno, že operace byla úspěšně dokončena
4.
záznam v žurnálu je zrušen
Pokud dojde v kterémkoliv okamžiku k přerušení, je možné pomocí dat uvedených v žurnálu uvést systém souborů do konzistentního stavu buď návratem zpět ke stavu před započetím transakce nebo dokončením přerušené transakce.
3.5 Odkládací prostor Linuxu - SWAP Nedávno jsem měl možnost na vlastní kůži zakusit instalaci Linuxu. Vybral jsem si jeho distribuci FEDORA s jádrem 9. Hned na počátku samotné instalace mě překvapil první zásadní rozdíl při rozdělování oddílu disku. Termín SWAP asi znáte jako uživatelé Windows pod názvem virtuální paměť. Je to určitý prostor na disku (většinou na stejném oddílu jako instalace Windows), který operační systém využívá podobným způsobem jako paměť RAM. V Linuxu (alespoň ve verzi kterou jsem instaloval) má však tato paměť vlastní diskový oddíl, který je vyhrazen přímo pro ni. Uvádím ho tady protože při rozdělování oddílů mě instalátor nenechal pokračovat v instalaci dokud jsem jeden oddíl nevyhradil právě pro SWAP. Moudrá kniha Linux dokumentační projekt, ze které jsem načerpal mnoho informací říká, že výhodné je
26
Souborové systémy použitelné v Linuxu
3. kapitola
nastavovat velikost tohoto odkládacího prostoru na dvojnásobek paměti RAM daného počítače. Čili pokud máte např. 2GB paměti RAM, nastavte si SWAP disk na 4GB [1].
3.6 EXT 2 Ext2 je souborový systém užívaný v Linuxu. Je to nástupce systému ext, jež byl první souborový systém vytvořený speciálně pro operační systém Linux. Umožňuje nastavit práva UGO (uživatele, skupiny, ostatních) Název souboru na ext2 může obsahovat libovolné znaky kromě znaku NULL a lomítka. Systém ext2 neobsahuje speciální podporu pro národní znakové sady, ale není problém na něj ukládat soubory v ISO-8859-2 nebo UTF-8 (použití UTF-16 není možné). Maximální délka jména souboru je 255 bytů (dle specifikace rozšiřitelná až na 1012 bytů). Maximální délka souboru jako takového je 264 bytů. (To je teoretický horní strop daný přímo souborovým systémem. V závislosti na použitém programovém vybavení může být nižší, na 32bitových systémech může být velikost souboru omezena na 231 bytů.)
3.7 EXT 3 Ext3 je v podstatě nástupce systému Ext2 a je implicitním souborovým systémem mnoha populárních Linuxových distribucí. (čili instalujete Linux, pravděpodobně Vám bude nabídnut jako první možnost při výběru souborového systému na daném diskovém oddíle). Souborový systém ext3 nabízí oproti svému předchůdci ext2: •
žurnálování (informace o dokončených operacích)
•
možnost změnit velikost souborového systému za běhu
V Linuxové implementaci ext3 jsou dostupné tři způsoby žurnálování: •
žurnál - metadata i obsah souborů se ukládají do žurnálu a teprve poté jsou zapsány
na disk. Nejspolehlivější, ale zároveň nejpomalejší metoda, protože jsou data zapisována dvakrát. 27
Souborové systémy použitelné v Linuxu •
3. kapitola
writeback - metadata se žurnálují, ale obsah souborů ne. Toto je nejrychlejší způsob,
ale přináší riziko, že při pádu budou data zapsána tam, kam nemají. Při dalším mountu se tedy může stát, že k souborům, se kterými systém v tu chvíli pracoval, budou na konec zapsány různé nesmysly. •
ordered - podobné jako writeback, s tím rozdílem, že si vynucuje zapsání souboru,
než jej v metadatech označí jako zapsaná. Tento způsob je dobrým kompromisem mezi výkonem a stabilitou, a z toho důvodu je použit jako výchozí.
3.8 FAT FAT je jednoduchý souborový systém, proto je podporován prakticky všemi operačními systémy. Mezi FAT souborové systémy patří FAT12, FAT16, a FAT32. Mezi nimi nenajdeme zásadní odlišnosti – liší se pouze v několika aspektech (velikostí záznamů v tabulce FAT, umístěním kořenového adresáře). Systém FAT12 je již celkem nezajímavý, protože jej využívaly diskety (nelze s ním formátovat média s velkou kapacitou). FAT16 se používá na USB flash discích, pokud jejich kapacita nepřesahuje řádově několik GB. FAT32 na pevných discích do velikosti 32 GB.
Struktura Boot sektor (VBR, spouštěcí záznam svazku) První sektor logické oblasti disku obsahující souborový systém FAT se skládá ze dvou částí: blok parametrů disku a spouštěcí kód svazku.
Blok parametrů disku Obsahuje specifické informace o svazku jako např. verze, počet sektorů na cluster, počet rezervovaných sektorů před první FAT, počet FAT, počet sektorů kořenového adresáře, celkový počet sektorů na disku, počet sektorů v jedné FAT, název svazku (volume label).
28
Souborové systémy použitelné v Linuxu
3. kapitola
Spouštěcí kód svazku Program, který zahájí proces spouštění operačního systému.
Alokační tabulka souborů (FAT) Tato tabulka popisuje přiřazení každého clusteru v oddílu (1 záznam odpovídá 1 clusteru). Obvykle existují 2 kopie (obě jsou uloženy bezprostředně za sebou) – ta druhá je použita v momentě, kdy první se stane nečitelnou. Přiřazení clusteru může nabývat různých specifických hodnot jako např. volný (0x0000), vadný (0xFFFE), cluster indikující konec souboru (0xFFFF), nebo obsahuje číslo následujícího clusteru souboru.
Kořenový adresář V původní verzi obsahoval jednoduchou databázi obsahující veškeré informace o všech souborech, které jsou známé operačnímu systému, v příslušném oddílu. Se zavedením podadresářů (tedy dalších adresářů kromě tohoto) se stal kořenem stromové hiearchie adresářů: záznam o podadresáři v něm uložený neobsahuje žádné informace o souborech uložených v tomto podadresáři, pouze informace o podadresáři. U FAT12 a FAT16 byla jeho velikost stanovena napevno při vytváření souborového systému, od verze FAT32 může být uložen kdekoliv a jeho velikost může libovolně narůstat.
Nedostatky FAT •
Fragmentace
•
Ztracené clustery (pokud jsou ve FAT tabulce clustery označené jako používané
avšak k žádnému souboru nejsou přiřazeny) •
Překřížené soubory (pokud ve FAT tabulce jsou pro 2 nebo více souborů vyhrazeny
clustery se stejným číslem) •
Poškozená FAT (pokud je souboru přiřazen blok několika clusterů, avšak ukazatel v
některém z těchto clusterů ukazuje za konec disku nebo partice) •
Neumí žurnálování
29
Souborové systémy použitelné v Linuxu
3. kapitola
3.9 NTFS NTFS (New Technology File System) je moderní souborový systém vyvinutý společnostmi IBM a Microsoft, který jej poprvé zavedl ve svém operačním systému Windows NT.
Vlastnosti NTFS byl navržen jako nativní souborový systém pro Windows NT a (zejména oproti zastaralému filesystému FAT) obsahoval spoustu novinek: •
žurnálování – všechny zápisy na disk se zároveň zaznamenávají do speciálního
souboru, tzv. žurnálu. Pokud uprostřed zápisu systém havaruje, je následně možné podle záznamů všechny rozpracované operace dokončit nebo anulovat a tím systém souborů opět uvést do konzistentního stavu. •
access control list – podpora pro přidělování práv k souborům
•
kompresi na úrovni souborového systému
•
šifrování (EFS - Encrypting File System) umožňuje chránit data uživatele na úrovni
souborového systému a je transparentní. •
diskové kvóty umožňují nastavit maximálně využitelné místo na diskovém oddíle,
pro konkrétního uživatele. Do diskové kvóty se nezapočítávají komprimované soubory, ale jejich reálná velikost. •
dlouhá jména souborů (ve FAT původně nebyla a ve Windows 95 je bylo třeba
doplňovat značně komplikovaným způsobem) NTFS používá 64-bitové adresy clusterů, takže diskový oddíl může být větší než u FAT (která ve své poslední verzi používala efektivně 28bitové adresování) a to konkrétně až 16 EB (což odpovídá přibližně 17 × 10^9 TB). Celý systém je řešen jako obří databáze, jejíž jeden záznam odpovídá souboru. Základ tvoří 12 systémových souborů, tzv. metadat, které vznikají bezprostředně po naformátování svazku. •
$Logfile je již výše zmíněné žurnálování;
•
$MFT (Master File Table) je tabulka obsahující záznamy o všech souborech,
adresářích a metadatech (jelikož $MFT je soubor, je i informace o něm v této tabulce); Nachází
30
Souborové systémy použitelné v Linuxu
3. kapitola
se hned za boot sektorem; jelikož se jedná o soubor, lze jej teoreticky fragmentovat (prakticky je tomu zamezeno), avšak aby se tomu předešlo, systém kolem něj udržuje zónu volného místa •
$MFTMirr je soubor, zajišťující bezpečnost dat; nachází se uprostřed disku,
obsahuje prvních 16 záznamů $MFT; pokud je $MFT z nějakédo důvodu poškozená, použije se tato kopie; •
$Badclus drží seznam známých vadných clusterů, které znovu nebudou použity;
pokud nastane chyba při čtení dat, systém označí clustery za špatné a $Badclus se aktualizuje; •
$Bitmap je jednorozměrné pole bitů, které slouží ke sledování volného místa; když
je bit 0, je volný a v opačném případě použitý; •
mezi další patří $Boot, $Volume, $AttrDef, $Quota, $Upcase, $Extend a .
(kořenový adresář disku); NTFS je flexibilní – všechny jeho soubory (včetně speciálních, s výjimkou boot sektoru) se dají přesunout.
Atributy souborů Soubory mohou mít mnoho atributů; jejich definice obsahuje soubor $AttrDef. V různých verzích se atributy liší, teoreticky je dokonce možné přidávat si vlastní. Klasický soubor má mj. tyto atributy: •
$FILE_NAME – struktura pro jméno souboru. Kromě něj obsahuje i velikost,
reference na nadřízený adresář a různé příznaky. •
$SECURITY_DESCRIPTOR – přístupová práva k souboru
•
$DATA – vlastní obsah souboru
Adresáře Adresáře jsou v NTFS pojaty jako speciální druh souborů; používají jiné druhy atributů. Na disk jsou vkládány jako B-stromy (což zrychluje vyhledávání) se jmény souborů a odkazy na jejich záznamy v MFT.
31
Souborové systémy použitelné v Linuxu
3. kapitola
3.10 Porovnání Souborových systémů Souborový systém
Maximální délka názvu souboru
FAT12
255b
Použitelné znaky v názvech adresářů
Maximální délka cesty
Unicode Bez omezení kromě NULL
Maximální velikost souboru
Maximální velikost diskového oddílu
Vyvinul
32MiB
32MiB až (??) 512MiB
Microsoft
1980
QDOS
Původní Používáno operační od r. systém
FAT16
8b (původně) / Unicode 255b (pouze LFN / Bez omezení 2 Gib / 4GiB kromě NULL VFAT)
16MiB až 4GiB
Microsoft
1983
MS-DOS verze 2
FAT32
8b (DOS bez LFN) Unicode Bez omezení 2 Gib / 4GiB / 255b (pouze LFN kromě NULL / VFAT)
2 TiB7
Microsoft
1997
Windows 95c
NTFS
255b
Unicode Bez omezení kromě NULL
16EB
16EB
Microsoft, Gary Kimura, Tom Miller
1995
Windows NT
ext2
255b
libovolný bajt kromě NULL Bez omezení a/
16GB až 2TB
2TB až 32TB
Rémy Card
1993
Linux
ext3
255b
libovolný bajt kromě NULL Bez omezení a/
16GB až 2TB
2TB až 32TB
Stephen Tweedie
1999
Linux
ReiserFS V3
4032b/255znaků
Libovolný bajt kromě Bez omezení NULL
8TB
16TB
Namesys
2001
Linux
ZFS
255b
Libovolný Unicode znak Bez omezení kromě NULL
16EB
16EB
Sun Microsystems
2004
Solaris 10
Tab. 2 Tabulka srovnání jednotlivých Souborových systémů
3.11 Závěr V práci jsem popsal důvody použití souborových systémů a seznámil čtenáře s některými specifiky vybraných systémů. Souborové systémy se stále vyvíjejí a vycházejí nové verze. Zajímavým specifikem Linuxu je jeho schopnost detekovat i souborové systémy, které nativně nepoužívá (nako NTFS a FAT). Windows naproti tomu souborové systémy Linuxu bere jako neznámé a neumí s nimi pracovat. Jako nejzajímavější souborový systém se mi tedy jeví NTFS, neboť obsahuje jednak moderní prvky, ale hlavně je kompatibilní na platformách Windows i Linux.
32
Souborové systémy použitelné v Linuxu
3. kapitola
3.12 Použitá literatura Knihy: [1] KOLEKTIV AUTORŮ Linux dokumentační projekt I. 4. vyd. Brno : Computer Press, 2007. 1334 s. ISBN 978-80-251-1525-1. [2] VALADE, J. Linux jdi do toho. 1. vyd. Praha : Grada Publishing, 2006. 279 s. ISBN 80247-1455-8. Internet: http://www.root.cz/clanky/linux-pro-uplne-zacatecniky-3/ http://www.root.cz/clanky/linux-pro-uplne-zacatecniky-4/ http://cs.wikipedia.org/wiki/NTFS http://cs.wikipedia.org/wiki/FAT http://cs.wikipedia.org/wiki/Ext2 http://cs.wikipedia.org/wiki/Ext3
33
Ukázky administrace OS Linux
4. kapitola
4. Ukázky administrace OS Linux Autor: Jaromír Holubec Tato kapitola je zaměřena na ukázky administrace OS Linux. Tyto příklady jsou shodné téměř ve všech distribucích Linuxu.
4.1 Příkazový řádek (SHELL) Je to jakýsi most mezi uživatelem a linuxovým jádrem. Umožňuje spouštět programy, psát skripty, komunikovat s jádrem... to vše se skrývá za tzv. command line. Pravdou je, že příkazová řádka může být nesmírně užitečný a rychlý nástroj, který usnadní práci se systémem.
Obrázek 1 - ukázka SHELLu v systému Unix
Historie UNIXové příkazové řádky je stará jako počítače samotné. Dávno před érou PC běžely na nejrůznějších platformách různé klony unixových systémů. Svoji oblibu získaly především pro svou rychlost, stabilitu a vyzrálost.
34
Ukázky administrace OS Linux
4. kapitola
4.2 Bash (Bourne Again Shell) V dnešní době je asi nejpoužívanějším interpretem BASH. Pochází z projektu GPL a je tedy dostupný zdarma, včetně zdrojových kódů. Jeho název je složen ze slov Bourne Again Shell. Mezi další oblíbené shelly (jak se také příkazovému řádku říká) patří sh (Bourne shell), csh (C shell), ksh (Korn shell) nebo tcsh (TENEX C shell). Rozdíly mezi jednotlivými interprety jsou různé, většinou však nepříliš velké. „Příkazový procesor Bourne shell byl nazván podle svého autora, kterým je Steven Bourne. Ten vytvořil původní příkazový procesor pro operační systém Unix a většina příkazových procesorů vytvořených od té doby končí písmeny sh. Tím se indikuje, že další příkazové procesory jsou rozšířením původního příkazového interpretu. Dnes existuje spousta implementací původního příkazového interpretu Bourne shell. Jiný typ představují tzv. C shelly (původně je navrhl pan Bill Joy), jež se rovněž hojně používají. Obecně platí, že příkazové interprety typu Bourne shell se používají z důvodu kompatibility s originálním příkazovým interpretem, zatímco C shell se používá pro interaktivní zpracování příkazů. Příkazové interprety typu C shell se vyznačují tím, že mají lepší vlastnosti pro interaktivní práci, ale mají poměrně nepružné vlastnosti z hlediska programátorského.“
4.2.1
Příklad k interpretu BASH
Předpokládejme tedy, že máte přístup k bashi a na obrazovce bliká výzva k zadávání příkazů. Pro zjístění Vašeho operačního systému zkuste napsat uname a stiskneme enter. Pokud jste v systému na platformě Linuxu, mělo by se Vám vypsat slovo Linux. Pro výpis všech základních informací zkuste zadat uname -a. Přepínač -a říká něco jako all. Nyní zkuste zadat df –h …. Tento příkaz nám řekne kolik je místa na disku.
4.3 Roury a přesměrování V linuxovém prostředí existují 3 základní virtuální soubory, které má otevřen každý program. Jsou to soubory reprezentující standartní výstup (stdout), standartní vstup (stdin) a standartní chybový výstup (stderr). Všechny jsou také označeny čísly počínaje nulou (pro stdin, 1 - stdout a 2 - stderr).
35
Ukázky administrace OS Linux
4.3.1
4. kapitola
Přesměrování vstupů a výstupů
Příklad Budeme chtít přesměrovat výstup nějaké aplikace do souboru, například výpis adresáře do vypis.txt:
ls > vypis.txt
Použili jsme operátor > pro přesměrování standardního výstupu. Jestli bychom naopak chtěli změnit standartní vstup (místo výchozí klávesnice), použili bychom operátor <. Přesměrování standardního chybového výstupu můžeme realizovat pomocí operátoru 2>. Zkuste například smazat neexistující soubor pomocí příkazu rm. Vypíše se vám chybová hláška, která poukazuje na to, že daný soubor neexistuje. Nyní si zkuste přesměrovat chybový výstup do souboru chyba.txt:
rm soubor 2> chyba.txt
Možná narazíte i na situaci, kdy si nebudete přát cokoli vypisovat na obrazovku. V takovém případě přesměrujeme standartní výstup a standartní chybový výstup do souboru pomocí již zmíněných operátorů:
aplikace 1> stdout.txt 2> stderr.txt
4.3.2
Roury
Pod termínem roura si lze představit propojení dvou a více programů, které si předávají data. Je to podobné jak hra na tichou poštu, při ní se jedna informace předává dál a dál, přičemž se občas stane, že ji někdo pozmění (byť neúmyslně). Podobně to funguje i při používání rour, ačkoliv zde je pozměnění dat žádoucí. Vezměme si předchozí příklad výpisu souborů a přidejme k němu požadavek na setřídění seznamu podle konce abecedy:
36
Ukázky administrace OS Linux
4. kapitola
ls | sort -r > vypis.txt
Operátorem roury je | (tento znak bývá umístěn pod klávesou Backspace). Program tedy vypíše seznam souborů, tento seznam předá programu sort (parametr -r je zde kvůli inverznímu třídění) a tomuto programu přesměrujeme výstup do souboru vypis.txt.
Nemusíme se omezovat pouze na jednu rouru. Můžeme vytvořit celý řetězec propojených programů. Tomuto řešení se obecně říká, že postavíme kolonu rour. Opět následuje praktická ukázka. Nechť soubor vety.txt obsahuje řádky s různými větami. My budeme chtít zobrazit jen ty věty, ve kterých se vyskytuje slovo "ale", tyto věty pak dále seřadíme podle abecedy a omezíme výpis na posledních 5 vět. Výsledek operace přesměrujeme do souboru výsledek.txt. Zde je řešení:
cat vety.txt | grep -i ale | sort | tail -n 5 > vysledek.txt
Jen pro úplnost doplním, že příkaz grep zobrazí pouze řádky obsahující slovo "ale" (nehledí se na velikost písmen [-i]). Sort je pak setřídí a tail -n vypíše posledních 5 řádků. Sexy příkaz, který demonstruje možnosti kolon.
4.4 Nápověda v Linuxu V každém UNIXovém systému budeme potřebovat zdroj informací. Každý program, alespoň konzolový, umožňuje použití velkého množství přepínačů, které si zpaměti nemůže zapamatovat snad nikdo. Proto existuje program man, který spravuje tzv manuálové stránky. To jsou postscriptové dokumenty, které obsahují popis či návod k danému programu. Chcemeli se například dozvědět, co umožňuje příkaz cp, zadáme: man cp
a potvrdíme. Na obrazovce se nám objeví manuálové stránky programu pro kopírování souborů. Pro vyhledávání se použije /, mezi výskyty se přechází klávesou n. Dalo se říci že,
37
Ukázky administrace OS Linux
4. kapitola
stejného efektu docílíme přepínáčem --help, který vypíše možnosti použití programu. To je pravda, ale jen u některých příkazů. U programů, které mají rozšířenější schopnosti (například gcc), je zapotřebí projít manuálovou stránku. Pokud je potřeba manuálovou stránku programu man, zadáme man man ;) Pro přehlednost jsou manuálové stránky rozděleny do 10 skupin. Může totiž nastat situace, kdy se název programu shoduje s názvem funkce nějaké knihovny pro vývoj (např. printf). Skupinu můžeme vyžádat, když jako první argument zadáme její číslo (man 3 printf). Není to nutné, systém sám nalezne první manuálovou stránku, kterou zobrazí.
4.5 Přehled všech skupin: Zde jsou uvedeny manuálové stránky, které jsou rozděleny do 10 skupin pro přehlednost.:
1 - uživatelské příkazy 2 - programové knihovny 3 - knihovny jazyka C 4 - konfigurační soubory 5 - syntaxe konfiguračních souborů 6 - hry 7 - práce s textem 8 - systémové příkazy 9 - jádro linuxu 10 - všechno ostatní :)
Přímou dokumentaci ke knihovnám či programům můžeme najít v adresáři /usr/share/doc nebo přímo v /usr/doc. Někteří uživatelé však pořád nenacházeli to, co hledali. Tak vznikly manuálové stránky ke kondomu, dítěti či sexu. A to už jistě ocení i nejeden Windowsák :)
38
Ukázky administrace OS Linux
4. kapitola
4.6 Příklady příkazů v SHELLU 4.6.1
Práce s adresáři
Vytvoření adresáře: $ mkdir mirek
Je možné jej zadat s cestou: $ mkdir /usr/local/mirek
S parametrem –p zajistíme i vytvoření /usr/local: $ mkdir -p /usr/local/mirek
Změna adresáře: (jednoduše stačí napsat příkaz „cd“ a za něj název cesty k adresáři mirek:~$ cd /bin Smazání adresáře: $ rmdir
4.6.2
Vlastnictví souborů
Zobrazení údajů o vlastníkovy souboru: (použijeme parametr „ls“) $ ls -l /usr/bin/wc -rwxr-xr-x 1 root
bin 7368 Jul 30 1999 /usr/bin/wc
Z tohoto příkladu vidíme že vlastník je uživatel „root“ a skupina „bin“.
Změna vlastníka souboru: použijeme příkaz chown (značí "change owner" - změň vlastníka).
39
Ukázky administrace OS Linux
4. kapitola
# chown daemon /usr/bin/wc
Změna skupiny: použijeme příkaz chgrp
# chgrp root /usr/bin/wc
4.6.3
Přístupová práva
Pro změnu práv použijeme příkaz chmod (což znamená "change mode" - "změň mód"), kterým nastavíme práva souboru pokus:
$ chmod 755 /tmp/pokus $ ls -l /tmp/pokus -rwxr-xr-x 1 root
users
0 Apr 19 11:21 /tmp/pokus
4.7 Uživatelské účty a skupiny Základním rysem každého unixového systému je podpora více uživatelů s možností jemného nastavení práv. Můžete tak snadno určit, který uživatel může poslouchat hudbu, hrát hry atp. My se v následujícím textu podíváme na to, jak takového uživatele vytvořit a jak ho můžeme zařadit do skupin.
Uživatele můžeme vytvořit příkazem useradd:
useradd -G wheel,root,audio,video,games -m -p heslo franta
Tímto příkazem jsme vytvořili uživatele mirek s heslem heslo. Rovněž jsme ho zařadili do skupin wheel,root... a vytvořili domovský adresář (-m). Pro další možnosti využijte nápovědu.
40
Ukázky administrace OS Linux
4. kapitola
Podobným způsobem můžeme i uživatele vymazat (jen softwarově, samozřejmě). V případě našeho mirka bychom napsali: userdel mirek Budeme-li chtít nastavit heslo později (tzn. nepoužívat přepínač -p u useradd), můžeme tak učinit pomocí programu passwd, jehož parametrem je název uživatele. Když heslo již existuje a vy nejste root, dotáže se vás na něj. V opačném případě ho můžete napsat rovnou (a pak ještě jednou pro potvrzení). Obdobná situace platí pro skupiny. Pro přidání (-a) či odebrání uživatele (-d) ze skupiny, použijte gpasswd. Příklad přidání uživatele mirek do skupiny sys: gpasswd -a mirek sys
4.7.1
Přístupová práva
Přístupová práva se v UNIXU zapisují oktálně jako zápis (w), čtení (r), spouštění programů (x). Hodnota těchto práv se nevyjadřuje tedy binárně ale vždy jako součet hodnot jednotlivých oprávnění. Typ práva
Vyjádření v symbolu
Vyjádření oktálně
Čtení
r
4
Zápis
w
2
Spuštění
x
1
Příklad přístupového práva, ukázka pro vlastníka, skupinu a pro ostatní uživatele. Oprávnění : 755 Vlastník
Skupina
Uživatel
rwx
rwx
rwx
421
401
401
Č.oprávnění:
755 41
Ukázky administrace OS Linux
4.7.2
4. kapitola
Skupiny (groups)
Skupiny jsou jedním z nástrojů, jak vymezit oprávnění pro unixové uživatele. Skupiny samy o sobě se od uživatelů prakticky neliší. Obojí je uloženo v souboru /etc/shadows. Proto při vytvoření uživatele vzniká i stejnojmenná skupina. V unixovém světě existuje několik předdefinovaných skupin, které vymezují určitý rozsah oprávnění, které může uživatel, do oné skupiny zařazený, vykonávat. Předdefinované skupiny oprávnění uživatele: root - možnost používat správcovské nástroje wheel - uživateli je povoleno přepínat se do jiných účtů (příkaz su) audio - povoluje přehrávání hudby na zvukovou kartu video - povoluje přehrávání videa games - uživatel smí hrát hry cdrom - možnost použití cd/dvd mechaniky (včetně příkazu eject) plugdev - nutnost pro moderní desktopy, přístup ke správci hardware HAL Samozřejmě je mnoho dalších skupin, například pro webové servery, mail klienty, ftp servery atd.
4.8 Dávkové zpracování úloh Dávkové zpracování je vykonávání série programů (dávek) na počítači bez účasti uživatele. Vstupní data jsou předem připravena nebo zadána v parametrech na příkazovém řádku. Dá se také říct že jde o skript, který se postupně vykonává dokud se nevykoná poslední instrukce.
Výhody -
sdílení vstupních zdrojů mezi uživateli na programy
-
využívají potenciál počítače naplno (u superpočítačů)
-
odstranění doby, kterou musíme čekat na vstup od uživatele
42
Ukázky administrace OS Linux
4. kapitola
Využití Dávkové zpracování se používá v prostředí unix pomocí skriptovacích jazyků (shlell, Perl, Python). Ke spouštění dávek v neplánovaném čase se používá služba „at“ a „cron“. Pro tisk dokumentů se používá také dávkového zpracování, kdy jsou úlohy k tisku zařazovány do fronty. Dávky se také využívají v databázích při transakcích,
4.9 Použitá literatura 1) Linux documentation Project (CS) / 1. Linux –příručka uživatele, Příkazový interpret operačního systému, (on-line), (citace 18.listopadu, 2008). Přístup z Internetu: http://www.nuc.elf.stuba.sk/lit/ldp/01/010-04.htm
2) Dominik Janků, Linux - příkazový řádek, (on-line), (18.listopadu, 2008). Přístup z Internetu: http://www.postreh.com/phprs/view.php?cisloclanku=2006091504
3) Wikipedie, Dávkové zpracování, (on-line), (18.listopadu, 2008). Přístup z Internetu: http://cs.wikipedia.org/wiki/Dávkové_zpracování
4) Souborový systém UNIXu http://www.kiv.zcu.cz/~txkoutny/common/ups/skoleni/skoleni-unix-1.html
43
Formáty grafických souborů
5. kapitola
5. Formáty grafických souborů Autor: Jan Guznar V operačních systémech pracujeme s mnoha různými druhy souborů a mnohdy k rozpoznání typu či formátu souboru nám slouží jeho koncovka. Na základě koncovek souboru jsou často soubory otevírány příslušnými aplikacemi. V operačním systému tak vznikají asociace mezi aplikaci a souborem či jeho koncovkou. Tímto způsobem se nám zpříjemni práce na počítací, jelikož nemusíme nejdříve otevřít aplikaci a následně v aplikaci otevřít patřičný soubor, ale automatický se nám při pokusu o otevření souboru spustí i příslušná aplikace. Ale spoléhání na koncovky souboru může být někdy ošidné, například pokud dojde k její záměně. Operační systémy ovšem disponují nástroji, kterými lze rozpoznat typ či formát souboru na základě jeho obsahu. [1] V kapitole 5.4 je jako ukázka, uvedena struktura (obsah) png souboru, kde je možné vidět jak je uložena informace o daném typu souboru, barvách a vlastním obrázku.
5.1 Grafické formáty Existuje mnoho různých formátů pro ukládání obrazových dat neboli formátů obrázků. Následující stručný výpis má vnést přehled do této problematiky, nikoli popsat všechny existující formáty, jelikož grafických formátů je takové množství, že bychom na jejich popis mohli vydat knihu. Některé grafické formáty mohou být úzce spjaty přímo s určitým softwarem. Obecně můžeme grafické formáty rozdělit na bitmapové (rastrové) a vektorové formáty. Aplikace (editor)
Bitmapové formáty JPEG
GIMP, Adobe PhotoShop,..
PNG
GIMP, Adobe PhotoShop,..
GIF
GIMP, Adobe PhotoShop,..
BMP
GIMP, Adobe PhotoShop,..
TIFF
GIMP, Adobe PhotoShop,..
TGA
GIMP, Adobe PhotoShop,..
PSD
Adobe PhotoShop
XCF
GIMP
PSP
Paint Shop Pro
44
Formáty grafických souborů
5. kapitola
Vektorové formáty SVG
Inkscape, Adobe PhotoShop
ODF (ODG)
OpenOffice.org Draw
IA
Adobe Illustrator
CDR
Corel Draw
DXF
AutoCad Tabulka 0.1 – Grafické formáty
5.2 Bitmapové formáty Obraz se skládá z jednotlivých pixelů (bodů), z nichž každý má definovánu určitou barvu.
Obrázek 0.2 – Obrázek rozložený na jednotlivé pixely
Pixel je nejmenší jednotka digitální bitmapové grafiky. Představuje jeden svítící bod na monitoru, resp. jeden bod obrázku zadaný svou barvou, např. ve formátu RGB (R – červená, G – zelená, B - modrá). [3] Bitmapové obrázky mají vlastnosti, které jej popisují: Rozlišení obrázku
Je dáno výškou a šířkou obrázku v pixelech. šířka
výška
Obrázek 0.3 - Šířka a výška obrázku
45
Formáty grafických souborů Barevná hloubka
5. kapitola Barevná hloubka je termín, který popisuje počet po bitů použitých k popisu určité ité barvy na jeden pixel. [4] Neboli udává kolik možných barev může že mít jeden pixel obrázků. obrázk Používané barevné hloubky: •
1bitová (21 = 2 barvy)
•
4bitová (24 = 16 barev)
•
8bitová (28 = 256 barev)
•
16bitová (216 = 65536 barev) označováno označ také jako High Color
•
32 nebo 24bitová (232 = 4294967296, 224 = 16777216) označováno ováno jako True Color [4]
Výhody: Jednoduché vytvoření ření nebo pořízení po obrázků Nevýhody: Při zvětšování čii zmenšování rozlišení obrázku dochází ke ztrátě ztrátě kvality S rostoucím rozlišením obrázku se zvyšují nároky na výpočetní výpo etní výkon počítače po
Obrázek – Ukázka bitmapového obrázku
46
Formáty grafických souborů
5.2.1
5. kapitola
JPEG
JPEG není ve skutečnosti formátem obrázku jak jsme zvyklí, ale kompresním algoritmem. Oficiálně jsou tyto obrázky ve formátu JFIF (Jpeg File Interchange Format). Tento formát využívá ztrátovou kompresi. Čím větší komprese, tím nižší kvalita obrázku. U hodně zkomprimované grafiky nejde ani poznat co bylo původně na obrázku. JFIF podporuje 24bitovou barevnou hloubku, tedy 16,7 milionu barev. [5]
5.2.2
PNG
PNG (Portable Network Graphics – anglicky přenosná síťová grafika) je grafický formát určený pro bezeztrátovou kompresi bitmapové (rastrové) grafiky. Byl vyvinut jako zdokonalená náhrada formátu GIF, který byl patentově chráněný. PNG nabízí podporu 24 bitové barevné hloubky. Obsahuje osmibitovou průhlednost (tzv. alfa kanál), to znamená, že obrázek může být v různých částech různě průhledný. Nevýhodou PNG oproti GIF je praktická nedostupnost jednoduché animace. PNG se stejně jako formáty GIF a JPEG používá na Internetu. [6]
5.2.3
GIF
GIF (Graphics Interchange Format) je grafický formát určený pro bitmapovou (rastrovou) grafiku. GIF používá bezeztrátovou kompresi, na rozdíl například od formátu JPEG, který používá ztrátovou kompresi. GIF umožňuje také jednoduché animace. GIF má jedno velké omezení — maximální počet současně použitých barev je 256. [7]
5.2.4
BMP
BMP Windows Bitmap, je počítačový formát pro ukládaní bitmapové (rastrové) grafiky. Soubory ve formátu BMP většinou nepoužívají žádnou kompresi. Z tohoto důvodu jsou obvykle BMP soubory mnohem větší než obrázky stejného rozměru uložené ve formátech, které kompresi používají. V praxi se pro ukládání obrázků spíše používají novější formáty PNG, GIF nebo také TIFF. [8]
5.2.5
TIFF
TIFF (Tag Image File Format) je jeden z souborových formátů pro ukládání bitmapové (rastrové) počítačové grafiky. Formát TIFF tvoří neoficiální standard pro ukládání snímků určených pro tisk. TIFF je složitější formát oproti jiným formátům pro ukládání bitmapové
47
Formáty grafických souborů
5. kapitola
(rastrové) grafiky. TIFF umožňuje jako jeden z mála grafických formátů vícestránkové soubory a proto se často používá například pro ukládání přijatých faxů přijatých pomocí počítače a ISDN karty či faxmodemové karty. [9]
5.2.6
TGA
TGA (též označovaný jako Targa) je jeden ze souborových formátů pro ukládání bitmapové (rastrové) počítačové grafiky. Formát vytvořila společnost Truevision (nyní Pinnacle Systems), která se specializovala na výrobu obrazových adaptérů, tzv. videograbberů. Bitmapový obraz, může být v grafických souborech typu TGA uložen různými způsoby, a to buď v komprimované, nebo ve nekomprimované formě. [10]
5.3 Vektorové formáty Obraz se skládá z jednotlivých objektů (např. obdélník, elipsa, křivka, hvězda, šipka…), z nichž každý má definovánu barvu a styl obrysu a výplně.
Obrázek – Jednoduché vektorové objekty
Výhody: •
Libovolným zmenšováním nebo zvětšováním nedochází ke změně kvality obrázku.
•
Je možné s každým objektem odděleně pracovat
•
Obvykle menší nároky na výpočetní výkon počítače než u bitmapové grafiky
Nevýhody: •
Složitější pořízení obrázku ve vektorové grafice
48
Formáty grafických souborů
5. kapitola
Obrázek – Ukázka vektorového obrázku
5.3.1
SVG
SVG (z anglického Scalable Vector Graphics - škálovatelná vektorová grafika) je značkovací jazyk a formát souboru, který popisuje dvojrozměrnou vektorovou grafiku pomocí XML. Formát SVG by se měl v budoucnu stát základním otevřeným formátem pro vektorovou grafiku na Internetu. Zatímco pro bitmapovou (rastrovou) grafiku je na internetu formátů dostatek (např. GIF, PNG a JPEG), otevřený vektorový formát zatím na Internetu chyběl. [11]
5.3.2
CDR
CDR je formát vektorové grafiky, který používá software Corel Draw od společnosti Corel Corporation. [14]
5.3.3
DXF
AutoCAD DXF (Drawing Exchange Format) je CAD formát vyvinutý firmou Autodesk. [15]
5.4 Struktura PNG PNG je otevřený grafický formát, jehož specifikace je volně dostupná na internetu. [11] K podrobnějšímu popisu tohoto formátu budu používat obrázek 3.1.
49
Formáty grafických souborů
5. kapitola Parametry obrázku 3.1: Výška: 80px Šířka: 80px Barevná hloubka: 24bitů
Obrázek 3.1 – Vzorový obrázek
Strukturu PNG formátu můžeme m rozdělit na dvou části: 1. Hlavička ka souboru PNG – kapitola 3.1 2. Tělo lo souboru PNG – kapitola 3.2
1. Hlavička souboru PNG 2. Tělo souboru PNG
Obrázek 3.2 – Struktura PNG formátu
5.4.1
Hlavička souboru PNG
Hlavička ka souboru PNG má vždy konstantní délku a ta je 8 bytů. byt . Hodnoty v těchto 8 bytech jsou vždy stejné.
50
Formáty grafických souborů
5. kapitola 89 50 4e 47 0d 0a 1a 0a
Vysvětlení jednotlivých bytů: 89 – první byte je zvolen tak, aby byl větší než 0x7f (127 decimálně = „DEL“ v ASCII), tj. aby měl nastavený nejvyšší bit na jedničku. To má dva významy: detekuje se defektní sedmibitový přenos a některé textové editory soubor správně detekují jako binární a ne ASCII. Při přenosu obrázku přes internet se ztratí nejvyšší bit ve všech bajtech (bit se většinou vynuluje). Tato nežádoucí modifikace může nastat například při přenosu souboru pomocí protokolu FTP nebo při posílání souborů špatně nastaveným e-mailovým klientem. [13] 50 4e 47 – řetězec 'PNG', spolu s prvním bytem jednoznačně detekuje typ souboru na platformách, které typ rozpoznávají z obsahu a ne z koncovky. [13] 0d 0a – Následuje dvojice znaků CR+LF (ASCII), na kterých je možné detekovat problémy při přenosu souboru mezi různými platformami. Může nastat situace, že dojde k náhradě ASCII znaků CR (Cursor Return) za znak LF (Line Feed). Může se jednat o chybu při přenosu binárního souboru mezi různými platformami, nebo při editaci souboru ve špatně nastaveném editoru. [13] 1a – ASCII znak, který je po přenesení považován za znak ukončující standardní vstup. Většinou se jedná o znak Ctrl+Z (DOS, Windows) nebo Ctrl+D (Unixy). Příkladem může být zadání příkazu type obrazek.png v MS-DOS vypíše následující text ëPNG tj. zobrazí se pouze čtyři znaky, za kterými je řádek i výpis ukončen. Nemůže tedy nastat situace, kdy se po zadání příkazu obrazovka zaplní různými "paznaky". Jediným vypsaným paznakem je ono ë (či jiný znak v závislosti na lokalizaci), které by mělo uživatele varovat, že se pokouší vypsat obsah binárního souboru. 0a – Poslední znak v hlavičce je LN (ASCII), který opět slouží pro detekci, zda nedošlo k jeho náhradě jiným znakem či jinou sekvencí znaků, typicky CR, CR+LF či LF+CR.
Všechny vícebytové položky jsou uloženy v pořadí big endian, tj. byte s nejvyšší váhou je v vícebytové položce na prvním místě.
51
Formáty grafických souborů
5.4.2
5. kapitola
Tělo souboru PNG
Tělo souboru PNG se skládá z mnoha částí, který se nazývají chanky. Chank si můžeme představit jako blok dat.
Hlavička souboru PNG
Chank 1
Tělo souboru PNG
Chank n1
Chank n2
Chank n3
Chank xn
Obrázek 0.4 – Struktura těla souboru PNG
V těle souboru PNG se může vyskytovat několik chanků, jak naznačuje obrázek 3.3, a aby byl obrázek validní a splňoval specifikaci PNG formátu, musí se uspořádaní chanků řídit danými pravidly.
Povinné chanky Každý obrázek typu PNG obsahuje tři (čtyři) povinné chunky v následujícím pořadí: Typ chanku
Význam
Násobnost
IHDR
Hlavička obrázku
Ne
PLTE
Barevná paleta – jen pokud obrázek používá barevnou Ne paletu
IDAT
Datová část - pixelmapa
Ano
IEND
Ukončující chank
Ne
52
Formáty grafických souborů
5. kapitola
Nepovinné chanky Typ chanku
Význam
Násobnost
cHRM
Definuje rovnováhu bíle barvy
Ne
gAMA
Definuje kontrast
Ne
iCCP
ICC profil definovaný International Color Consortium
Ne
sBIT
Signifikační bit
Ne
sRGB
Definuje, že obrázek používá RGB barevný prostor
Ne
bKGD
Nastavení výchozí barvy pozadí
Ne
hIST
Histogram
Ne
tRNS
Specifikuje průhlednost
Ne
pHYs
Rozměry pixelů, důležité pro při tisku
Ne
sPLT
Pomocná barevná paleta
Ano
tIME
Časové razítko
Ne
iTXt
Určuje jestli bude text komprimovaný
Ano
tEXt
Textový popisek k obrázku
Ano
zTXt
Totéž jako tEXt, ale pojme větší množství textu
Ano
5.4.2.1 Obecný popis struktury chanku Každý chank se skládá ze 4 části, které si nyní popíšeme. První část má konstantní velikost 4byty. Obsahuje celkovou délku datové části chunku (č.3). Druhá část chunku má opět velikost čtyři byty. Obsahuje jméno (typ) chunku ve formátu čtyř ASCII znaků malé i velké anglické abecedy. Jedná se o ASCII kódy v rozsahu 65-90 a 97122 decimálně. Třetí část - Datová část chunku. Čtvrtá část chunku má délku čtyři byty a obsahuje kontrolní součet (CRC) druhé a třetí části, tj. jména (typu) chunku (č.2) a uložených dat (č.3).
53
Formáty grafických souborů
5. kapitola
1.
Délka
2.
Typ / název
Obsah závislý na typu chanku
Data
3.
4.
Kontrolní součet Obrázek - Obecná struktura chanku
3.
1.
2.
4.
Obrázek – Příklad obecné struktury chanku
IHDR V chunku typu IHDR je uložena hlavička obrázku. Hlavička obrázku obsahuje základní informace o uloženém obrázku, zejména jeho rozlišení, bitovou hloubku, typ kódování barev a použitou filtraci.
3 .
1 .
2 .
Obrázek 0.5 - Chank IHDR
Podle kapitoly 5.4.2.1 je chank rozdělen na čtyři základní části.
54
4 .
Formáty grafických souborů
5. kapitola
Číslo Délka části
Význam
1
Délka datové části chanku neboli části č. 3. v bytech.
4 byty
00 00 00 0D(hex) = 13(dec) 2
4 byty
Obsahuje jméno (typ) chanku. 49 48 44 52(hex) jsou v ASCII tabulce písmena „IHDR“.
3
13 bytu
Data chanku.
4
4 byty
Kontrolní součet 2 a 3 části chanku Tabulka 0.2 – popis struktury chanku IHDR
3
1.
2.
3.
4.
5.
6.
7.
Obrázek 0.6 – Podrobná struktura datové části chanku IHDR
Struktura datové části chanku IHDR a význam jednotlivých bytů. Číslo
Délka části
Význam
1
4 byty
Šířka obrázku uvedená v pixelech. 00 00 00 50(hex) – 80(dec)
2
4 byty
Výška obrázku uvedena v pixelech. 00 00 00 50(hex) – 80(dec)
3
1 byte
Bitová hloubka
4
1 byte
Typ kódování barev
5
1 byte
Použitá metoda komprimace (defaultně 0)
6
1 byte
Použitá metoda filtrace
7
1 byte
Prokládání obrázku (0 – bez prokládání, 1 – s prokládáním) Tabulka 0.3 – Tabulka chanku IHDR
55
Formáty grafických souborů
5. kapitola
V další tabulce si vysvětlíme vztah mezi bitovou hloubkou a typem kódování u formátu PNG. Bitová hloubka se udává na jeden barevný kanál. Typ kódování barev
Povolená bitová hloubka
Popis
0
1, 2, 4, 8, 16
Obrázek ve stupních šedi
2
8, 16
Plnobarevný obrázek typu RGB
3
1, 2, 4, 8
Obrázek s barvovou paletou (v souboru musí existovat chunk PLTE)
4
8, 16
Obrázek ve stupních šedi s průhledností (alfa kanál)
6
8, 16
Obrázek
typu
RGB
s průhlednosti
(RGBA) Tabulka 0.4 – Kódování barev
Vezměme si náš vzorový obrázek 3.1, který si otevřeme v binární podobě. Viz obrázek 3.6. Najdeme chank IHDR, ve kterém jsou dva byty, které nám pomohou určit barevnou hloubku obrázku. Podívejme se do tabulky 3.4, kde se tyto byty nacházejí a jaké mají hodnoty samozřejmě nesmíme zapomenout převést tyto hodnoty do desítkové soustavy – jedná se o byty pojmenované bitová hlouba (řádek č.3) a typ kódování barev (řádek č.4). Následně přesuneme pozornost k tabulce 3.4. Podle hodnoty typu kódování zjistíme o jaký typ obrázku se jedná, zda se jedná o obrázek ve stupních šedi, RGB či obrázek s barevnou paletou, atd. Správnou volbu ještě ověříme zjištěnou bitovou hloubu (tabulka 3.4) a povolenou bitovou hloubku (tabulka 3.5). Pokud se hodnoty neshodují může se jednota o poškozeny obrázek. Zjistil jsem, že obrázek je typu RGB a bitová hloubka je 8bitů. Barevnou hloubku obrázku pak vypočítáme z bitové hloubky, tak že bitovou hloubku vynásobíme počtem barevných kanálů. Barevná hloubka obrázku je 24bitů viz kapitola 3.
56
Formáty grafických souborů
5. kapitola
IDAT Tento chank obsahuje obrazové data. Může se vyskytovat v souboru PNG vícekrát.
1. 2.
3.
4. Obrázek 0.7 – Chanku IDAT
Číslo
Délka
Význam
1
4 byty
Délka datové části chanku neboli části č. 3. v bytech. 00 00 00 87(hex) = 135(dec)
2
4 byty
Obsahuje jméno (typ) chanku. 49 44 41 54(hex) jsou v ASCII tabulce písmena „IDAT“.
3
135 bytů
Obrazová data.
4
4 byty
Kontrolní součet 2 a 3 části chanku. Tabulka 0.5 – Popis struktury chanku IDAT
Obrazová data jsou komprimovaná pomocí bezztrátové komprimační metody. O jaký typ komprimační metody se jedná je definováno v chanku IHDR. Současné době se používá, jedná metoda komprimace označovaná jako „0“ a ta se nazývá „DEFALTE/INFALTE“, založená na hledání stejných posloupností v datech. Tato metoda využívá pro uložení dat (datového toku) zlib formát, který uloží data jako sérií datových bloků. [17]
57
Formáty grafických souborů
5. kapitola
PNG umožňuje pro zlepšení komprese použít filtry. O jaký typ filtru se jedná je definováno v chanku IHDR. Úkolem filtru je předpřipravit data tak, aby se posléze lépe komprimovala. PNG podporuje celkem 5 filtrů. ID filtru
Název
Popis
0
None
Nepoužívá se filtr
1
Sub
Filtr, který na svůj výstup posílá rozdíl mezi dvěma
(hodnota v chanku IHDR)
byty na řádku. 2
Up
Obdoba filtru Sub, pouze s tím rozdílem, že se porovnávají pixely (resp. jejich barvové složky) umístěné nad sebou a nikoli vedle sebe.
3
Average
Kombinace předchozích dvou filtrů. Už se nebere v úvahu barva pouze jednoho sousedního pixelu, ale hned pixelů dvou: horního a levého souseda. Hodnoty obou zmiňovaných sousedů se sečtou a vydělí dvěma.
4
Paeth (Paethův Tento filtr obsahuje prediktor, což je funkce, která na filtr)
základě hodnot tří sousedních pixelů vybere ten, jehož barva je nejbližší pixelu zpracovávanému. Tabulka 0.6 - Přehled filtrů
[16] Následující obrázek přehledně znázorňuje proces komprimace obrazu v PNG souborech.
58
Formáty grafických souborů
5. kapitola
Komprese
Filtr Originál
IDAT 1 • • • IDAT N
Obrázek 0.8 – Proces komprimace
IEND Chank IEND je ukončovací chank, který se nachází na konci souboru. Má vždy stejnou strukturu.
1.
2.
3.
4.
Obrázek 0.9 – Chank IEND
Obecná struktura chanku, jak je popsána v kapitole 5.4.2.1, se skládá ze 4 části. Chank IEND je výjimečný tím, že jeho 3. části (datová část) v chanku není.
59
Formáty grafických souborů
5. kapitola
Číslo
Délka
Význam
1
4 byty
Délka datové části, jelikož datová část v chanku chybí je tato hodnota nulová.
2
4 byty
Obsahuje jméno (typ) chanku. 49 45 4E 44(hex) jsou v ASCII tabulce písmena „IEND“.
3
0
Datová část v chanku není.
4
4 byty
Kontrolní součet chanku. Tabulka 0.7 – Popis struktury chnku IEND
PLTE Tento chank definuje paletu barev. Paleta barev představuje seznam všech barev, které se v obrázku vyskytují.
2.
1.
3.
4. Obrázek 0.10 – Chank PLTE
Číslo
Délka
Význam
1
4 byty
Délka datové části chanku neboli části č. 3. v bytech. 00 00 00 06(hex) = 6(dec)
2
4 byty
Obsahuje jméno (typ) chanku. 50 4c 54 45(hex) jsou v ASCII tabulce písmena „PLTE“.
3
6 bytů
Barvy v barevné paletě. (RGB)
4
4 byty
Kontrolní součet 2 a 3 části chanku. Tabulka 0.8 – Popis struktury chanku PLTE
60
Formáty grafických souborů
5. kapitola
Barvy jsou v chanku PLTE ukládají ve formě RGB, kdy jednotlivé barvě odpovídají 3byty – pro každou barevnou složku je určen 1byte. Barevné složky jsou zapsány hexadecimálně. První barva v paletě má index 0 a následující barvy pak mají index o jedna větší. Jednotlivé pixely v chanku IDAT se pak odkazují na indexy v barevné paletě.
R
G
B
R
G
B
R
G
B
1
1
1
1
1
1
1
1
1
byte
byte
byte
byte
byte
byte
byte
byte
byte
Barva č. 1
Barva č. 2
Barva č. 3
Index 0
Index 1
Index 2
•••••>
Obrázek 0.11 – Způsob uložení barev PLTE
Z obrázku 3.10 můžeme říct, že v barevné paletě jsou uloženy dvě barvy. První je 00 00 00 což odpovídá barvě bílé a FF FF FF odpovídá barvě černé.
5.5 Použitá literatura [1]
http://www.linuxzone.cz/index.phtml?ids=9&idc=287
[2]
http://cs.wikipedia.org/wiki/Software
[3]
http://cs.wikipedia.org/wiki/RGB
[4]
http://cs.wikipedia.org/wiki/Barevná_hloubka
[5]
http://cs.wikipedia.org/wiki/JPEG http://interval.cz/clanky/gif-jpeg-a-png-jak-a-kdy-je-pouzit/
[6]
http://cs.wikipedia.org/wiki/Portable_Network_Graphics http://www.symbio.cz/slovnik/format-png.html
[7]
http://cs.wikipedia.org/wiki/GIF
[8]
http://cs.wikipedia.org/wiki/BMP
[9]
http://cs.wikipedia.org/wiki/TIFF http://www.digimanie.cz/art_doc-06522DC762009D7CC12573B5004D6E77.html http://partners.adobe.com/public/developer/tiff/index.html http://partners.adobe.com/public/developer/en/tiff/TIFF6.pdf
[10] http://cs.wikipedia.org/wiki/TGA
61
Formáty grafických souborů
5. kapitola
[11] http://cs.wikipedia.org/wiki/Scalable_Vector_Graphics http://www.w3.org/TR/SVG11/ [12] http://www.libpng.org/pub/png http://www.w3.org/TR/PNG [13] http://www.root.cz/clanky/png-is-not-gif/ http://www.root.cz/clanky/anatomie-grafickeho-formatu-png/ http://www.root.cz/clanky/png-bity-byty-chunky/ http://www.root.cz/clanky/radkove-filtry-v-png/ http://www.root.cz/clanky/nepovinne-chunky-v-png-a-kontrola-pomoci-crc/ http://www.root.cz/clanky/finisujeme-s-png-textove-metainformace-a-kalibracni-data/ [14] http://cs.wikipedia.org/wiki/.cdr [15] http://cs.wikipedia.org/wiki/DXF [16] http://www.root.cz/clanky/radkove-filtry-v-png/ [17] http://www.w3.org/TR/PNG ZLIB Compressed Data Format Specification version 3.3 http://www.ietf.org/rfc/rfc1950.txt [18] http://cs.wikipedia.org/wiki/RGB [19] http://cs.wikipedia.org/wiki/Extensible_Markup_Language [20] http://cs.wikipedia.org/wiki/ASCII [21] http://cs.wikipedia.org/wiki/CRC
62
Přílohy
Příloha č.1 - Popis jednotlivých adresářů v OS Linux /
- kořen souborového systému, začátek stromové struktury
/bin
- základní spustitelné soubory pro použití všemi uživateli
- zde je umístěno jádro (kernel) systému a jeho mapa, initrd, soubory zavaděče (boot loader) GRUB
/boot
- soubory v tomto adresáři reprezentují jednotlivá fyzická zařízení nebo pseudozařízení systému. Také jsou zde další speciální soubory.
/dev
/etc
- globální konfigurační soubory systému
/home
- domovské adresáře uživatelů
- základní sdílené knihovny systému, mapování klávesnice a konzolové fonty, moduly pro jádro systému (kernel)
/lib
/lost+found
- ztracené a opravené soubory po chybách FS (ext2,ext3)
- do místních podadresářů se připojují další souborová zařízení, např. do "/mnt/floppy" disketa, do "/mnt/cdrom" CD ap.
/mnt
/opt
- zde bývají SW aplikace, které nejsou standardní součástí distribuce
- soubory nastavení a stavu systému a jednotlivých procesů - dalo by se říci, že je to mapa stavu paměti RAM
/proc
/root
- domovský adresář superuživatele (root)
/sbin
- systémové privilegované spustitelné soubory, používané uživatelem root
/sys
- virtuální adresář (jádra 2.6.x)
/tmp
- adresář pro odkládací a pomocné soubory
- další stromová struktura, obsahuje velké množství informací, jako knihovny, zdrojové kódy, spustitelné soubory, konfigurační soubory a další. Nejdůležitější z nich jsou:
/usr
/usr/bin
- jako v "/bin", pro systém méně důležité aplikace
/usr/X11R6
- kompletní soubory X Window systému (zkráceně X, nikdy ne X Windows!)
/usr/include /usr/lib
- hlavičkové soubory jádra a knihoven (v jazyce C)
- další všeobecné a aplikační knihovny
/usr/local /usr/sbin
- bod pro instalace aplikací, obsahuje mj. podadresáře "/bin", "/etc/", "/lib/", "/sbin",
- obdoba "/sbin", méně důležité
- soubory použitelné více aplikacemi/subsystémy (man a info stránky, dokumentace k prg. balíkům a jejich programům, pozadí a spořiče obrazovky, fonty, definice národních abeced a zvyklostí, měrných jednotek a časových zón, ikony, zvuky apod. /usr/share
/usr/src /var
- zdrojové soubory jádra
- soubory, jejichž obsah se běhěm chodu systému většinou mění; nejdůležitější:
/var/named /var/lock /var/log
- databáze DNS démona named - popisy spravovaných domén
- "zámky" subsystémů a programů
- systémové a aplikační logy, např:
63
Přílohy messages maillog cron
- log jádra a systému
- logy poštovních služeb
- logy spouštění úloh v budoucnu démony crond a atd
secure
- logy související s bezpečností systému (přihlašování, autentikace pro poštu a další služby)
httpd/*_log
- logy WWW serveru (Apache)
samba/*
- logy emulátoru serveru MS Windows
squid/*
- logy HTTP proxy cache squid
/var/lib dhcp/*
- databáze různých subsystémů, SQL serverů ap.:
- DHCP démon - pronájmy IP adres
nfs/*
- stav NFS služeb
rpm/*
- databáze RPM systému (RPM = RedHat Package Manager)
/var/spool at/*
- různé systémové fronty:
- fronty spouštění úloh v budoucnu démonem atd
cron/* lpd/*
- fronty opakovaného spoštění úloh v budoucnu démonem crond
- fronty různých tiskových služeb (lpr, LPRng, cups, ...
mail/*
- nevyzvednutá pošta lokálních uživatelů počítače.
- fronta poštovních zpráv - e-mailů čekající na odeslání některým MTA (Mail Transport Agent - agent s teplou vodou /a poštou/)
mqueue/*
- data WWW serverů - adresáře vlastních HTML dokumentů, ikon, CGI scriptů, manuálových stránek. /var/www
64