ˇ a´rka Vavrecˇkova´ S
Praktikum z operacˇnı´ch syste´mu˚ ˇ a´st II: Linux C
Slezska´ univerzita v Opaveˇ Filozoficko-prˇ´ırodoveˇdecka´ fakulta ´ stav informatiky U Opava, poslednı´ aktualizace 23. rˇ´ıjna 2015
´ stavu Anotace: Tento dokument je urcˇen pro studenty druhe´ho rocˇnı´ku IVT na U informatiky Slezske´ univerzity v Opaveˇ, pro druhou polovinu semestru v prˇedmeˇtu Praktikum z operacˇnı´ch syste´mu˚. Obsahuje pouze druhou cˇa´st veˇnovanou za´kladu˚m spra´vy operacˇnı´ho syste´mu Linux.
Praktikum z operacˇnı´ch syste´mu˚ Cˇa´st II Linux RNDr. Sˇa´rka Vavrecˇkova´, Ph.D. Dostupne´ na: http://fpf.slu.cz/~vav10ui/pos.html ´ stav informatiky U Filozoficko-prˇ´ırodoveˇdecka´ fakulta Slezska´ univerzita v Opaveˇ Bezrucˇovo na´m. 13, 746 01 Opava Sa´zeno v syste´mu LATEX Tato inovace prˇedmeˇtu Praktikum z operacˇnı´ch syste´mu˚ je spolufinancova´na Evropsky´m socia´lnı´m fondem a Sta´tnı´m rozpocˇtem CˇR, projekt cˇ. CZ.1.07/2.2.00/28.0014, „Interdisciplina´rnı´ vzdeˇla´va´nı´ v ICT s jazykovou kompetencı´ “.
Obsah
1
2
3
O operacˇnı´ch syste´mech 1.1 Licence . . . . . . . . . . . . . . . . . . . . . 1.1.1 Za´kladnı´ pojmy . . . . . . . . . . . . 1.1.2 Nejpouzˇ´ıvaneˇjsˇ´ı licence . . . . . . . 1.2 Syste´my unixove´ho typu . . . . . . . . . . . 1.2.1 Unix . . . . . . . . . . . . . . . . . . 1.2.2 Veˇtve a standardy unixove´ho sveˇta . 1.2.3 Linux . . . . . . . . . . . . . . . . . . 1.2.4 Mac OS . . . . . . . . . . . . . . . . . 1.2.5 Neˇktere´ dalsˇ´ı unixove´ syste´my . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
1 1 1 2 6 6 7 8 10 11
Pouzˇ´ıva´me Linux 2.1 Zacˇ´ına´me . . . . . . . . . . . . . . . . . 2.2 Prostrˇedı´ KDE . . . . . . . . . . . . . . 2.2.1 Kde hledat potrˇebne´ na´stroje . 2.2.2 Pracovnı´ plocha a hlavnı´ panel 2.2.3 Ovla´dacı´ centrum KDE . . . . 2.2.4 Informacˇnı´ centrum . . . . . . 2.2.5 Dalsˇ´ı na´stroje . . . . . . . . . . 2.3 Prostrˇedı´ GNOME . . . . . . . . . . . 2.3.1 Pracovnı´ plocha . . . . . . . . . 2.3.2 Ovla´dacı´ centrum . . . . . . . . 2.3.3 Dalsˇ´ı na´stroje . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
13 13 14 15 16 18 31 33 38 38 42 49
Vlastnosti unixovy´ch syste´mu˚ 3.1 Uzˇivatele´ a skupiny . . . . 3.2 Procesy . . . . . . . . . . . 3.3 Adresa´rˇe a soubory . . . . 3.3.1 Soubory . . . . . . 3.3.2 Struktura adresa´rˇu˚ 3.3.3 Odkazy na soubor
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
52 52 53 54 54 55 59
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . . iii
. . . . . .
iv
3.4
3.5
4
5
Zarˇ´ızenı´ . . . . . . . . . . . . . . . . . . . . . 3.4.1 Zajisˇteˇnı´ prˇ´ıstupu k zarˇ´ızenı´m . . . 3.4.2 Obvykla´ umı´steˇnı´ . . . . . . . . . . . Prˇ´ıstupova´ opra´vneˇnı´ a vlastnosti souboru˚ ´ vod do prˇ´ıstupovy´ch opra´vneˇnı´ . 3.5.1 U 3.5.2 Specia´lnı´ prˇ´ıznaky . . . . . . . . . . 3.5.3 Atributy souboru˚ . . . . . . . . . . .
Linux 4.1 Za´kladnı´ u´daje . . . . . . . . . . . . . . 4.2 Linuxove´ distribuce . . . . . . . . . . . 4.2.1 Co je to distribuce . . . . . . . 4.2.2 Neˇktere´ nejzna´meˇjsˇ´ı distribuce 4.3 Instalace syste´mu . . . . . . . . . . . . 4.4 Software v linuxovy´ch distribucı´ch . . 4.4.1 Vybavenost aplikacemi . . . . . 4.4.2 Instalace softwaru . . . . . . . 4.5 Graficke´ prostrˇedı´ . . . . . . . . . . . . 4.5.1 Spra´vci oken . . . . . . . . . . . 4.5.2 Desktopova´ prostrˇedı´ . . . . . 4.5.3 3D rozhranı´ . . . . . . . . . . . 4.6 Konzoly . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Textovy´ rezˇim v Linuxu 5.1 Textove´ shelly a prˇ´ıkazy . . . . . . . . . . . . . 5.1.1 Kdy, kde a jak pouzˇ´ıvat textovy´ shell . 5.1.2 Struktura prˇ´ıkazu˚ . . . . . . . . . . . . . 5.2 Za´stupne´ znaky . . . . . . . . . . . . . . . . . . 5.3 Na´poveˇda . . . . . . . . . . . . . . . . . . . . . 5.3.1 Jak volat o pomoc . . . . . . . . . . . . . 5.3.2 Manua´love´ stra´nky . . . . . . . . . . . . 5.3.3 Zna´m prˇ´ıkaz, chci veˇdeˇt, k cˇemu slouzˇ´ı 5.3.4 Nezna´m prˇ´ıkaz . . . . . . . . . . . . . . 5.4 Pra´ce s adresa´rˇi a soubory . . . . . . . . . . . . 5.4.1 Adresa´rˇe . . . . . . . . . . . . . . . . . . 5.4.2 Soubory . . . . . . . . . . . . . . . . . . 5.4.3 Pevne´ a symbolicke´ odkazy . . . . . . . 5.5 Prˇesmeˇrova´nı´ a filtry . . . . . . . . . . . . . . . 5.5.1 Smeˇrova´nı´ a deskriptory . . . . . . . . . 5.5.2 Filtry . . . . . . . . . . . . . . . . . . . . 5.6 Za´klady pra´ce s promeˇnny´mi . . . . . . . . . . 5.7 Dalsˇ´ı prˇ´ıkazy . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . .
60 60 61 65 65 67 70
. . . . . . . . . . . . .
76 76 78 78 81 88 89 89 91 95 96 97 99 100
. . . . . . . . . . . . . . . . . .
103 103 103 105 106 106 106 107 110 112 114 114 116 118 119 119 121 123 126
Kapitola
1
O operacˇnı´ch syste´mech Sezna´mı´me se se za´kladnı´mi pojmy souvisejı´cı´mi s dostupnostı´ operacˇnı´ch syste´mu˚ a licencemi, pod ktery´mi jsou sˇ´ırˇeny. Na´sleduje prˇehled nejbeˇzˇneˇjsˇ´ıch operacˇnı´ch syste´mu˚ unixove´ho typu a da´le si prˇiblı´zˇ´ıme Linux.
1.1 1.1.1
Licence Za´kladnı´ pojmy
Veˇtsˇina licencı´ ve sveˇteˇ softwaru je vpodstateˇ dvojı´ho druhu: proprieta´lnı´ (uzavrˇene´) a opensource (svobodne´, s otevrˇeny´m zdrojovy´m ko´dem). Prvnı´ druh obvykle znamena´ nutnost platit za poskytnutı´ mozˇnosti vyuzˇ´ıvat produkt s tı´m, zˇe uzˇivatel nema´ dovoleno produkt da´le modifikovat, Open Source je typ licence umozˇnˇujı´cı´ volneˇ nakla´dat nejen s produktem samotny´m, ale i s jeho zdrojovy´m ko´dem (i kdyzˇ nemusı´ by´t zcela zdarma). U obou typu˚ existuje komercˇnı´ varianta, tj. nenı´ zadarmo. Komercˇnı´ open-source software by´va´ neˇkdy zdarma dostupny´ alesponˇ ve zdrojovy´ch ko´dech, obvykle platı´me spı´sˇe za technickou podporu, manua´ly, on-line podporu apod. Zatı´mco Windows jsou poskytova´ny pouze pod proprieta´lnı´ komercˇnı´ licencı´ EULA a prˇ´ıpadneˇ jejı´mi modifikacemi typu hromadne´ licence, zvy´hodneˇne´ licence pro sˇkolstvı´ nebo OEM, ve sveˇteˇ unixovy´ch syste´mu˚ je pouzˇ´ıva´na rˇada ru˚zny´ch licencı´. Veˇtsˇina tradicˇnı´ch unixovy´ch syste´mu˚ urcˇeny´ch prˇedevsˇ´ım pro servery je distribuova´na pod komercˇnı´ licencı´, z ostatnı´ch pouzˇ´ıvany´ch licencı´ je nejzna´meˇjsˇ´ı GPL. Definici Open Source vytvorˇila a tento projekt udrzˇuje Open Source Initiative (OSI).1 Pokud neˇkdo chce publikovat licenci jako Open Source, musı´ pozˇa´dat OSI o certifikaci te´to licence jako Open Source. Kdyzˇ OSI zjistı´, zˇe licence odpovı´da´ definici Open Source, je 1
http://opensource.org/, podstatne´ jme´no Open Source, prˇ´ıdavne´ jme´no open-source.
1
P
P
1.1
LICENCE
2
certifikace udeˇlena. Pro open-source software se take´ pouzˇ´ıva´ take´ pojem svobodny´ software (free software). Freeware a free software nenı´ tote´zˇ. Freeware je volneˇ dostupny´ software, ale nerˇ´ıka´ to nic o licenci, pod kterou je distribuova´n (mu˚zˇe by´t proprieta´lnı´, free zde znamena´ „zdarma“). Free software (distribuovany´ cˇasto pod licencı´ GPL) je odvozen od jine´ho vy´znamu slova free – svobodny´ (mu˚zˇeme si s nı´m deˇlat co chceme, kdyzˇ uzˇ se k neˇmu dostaneme). By´va´ veˇtsˇinou volneˇ dostupny´ (volneˇ ke stazˇenı´ na internetu), ale nemusı´ (je za penı´ze, tedy komercˇnı´). Kromeˇ proprieta´lnı´ch a open-source licencı´ existujı´ take´ licence typu Public Domain. Tento typ licencı´ je naprosto svobodny´, uzˇivatele´ si s takto sˇ´ırˇeny´m softwarem mohou deˇlat opravdu co chteˇjı´ vcˇetneˇ nejru˚zneˇjsˇ´ıch u´prav a distribuce pod jiny´m typem licence. Licence mu˚zˇeme deˇlit na copyrighty a copylefty. Copyright obvykle znamena´, zˇe to, co je licencova´no, mu˚zˇeme jisty´m zpu˚sobem pouzˇ´ıvat, ale nesmı´me do toho zasahovat a nesmı´me to da´le bez dovolenı´ distribuovat (pouze autor ma´ pra´vo rozhodovat o „kopı´rova´nı´ “, tedy ma´ vy´hradnı´ pra´vo – right – na kopı´rova´nı´ – copy). Copyleft umozˇnˇuje nejen pouzˇ´ıva´nı´, ale i mozˇnost u´prav (trˇeba zdrojove´ho ko´du) i dalsˇ´ı distribuci (vytva´rˇenı´ a distribuova´nı´ kopiı´ nenı´ radika´lneˇ omezeno). Mozˇnost u´prav by´va´ ale omezena s tı´m, zˇe prˇi dalsˇ´ım distribuova´nı´ musı´ by´t zaznamena´no, o jake´ u´pravy sˇlo, kdo je provedl a kdo je pu˚vodnı´ autor. Hlavnı´m principem copyleftu je nutnost poskytnout uzˇivateli stejna´ pra´va k produktu, jaka´ ma´ distributor cˇi producent (ktery´ je take´ cˇasto uzˇivatelem vzhledem k jine´mu distributorovi a producentovi). GNU2 je rekurzivnı´ zkratka GNU’s Not Unix, vznikla pravdeˇpodobneˇ ve snaze odlisˇit licencova´nı´ od komercˇnı´ch Unixu˚ (tehdy uzˇ/jesˇteˇ nebyly volneˇ sˇirˇitelne´ Unixy jako je naprˇ´ıklad OpenBSD). Je to projekt, ktery´ vytva´rˇ´ı volneˇ sˇirˇitelny´ software na profesiona´lnı´ u´rovni. Nenı´ to licence, ale projekt.
P P P
P
Do projektu se mu˚zˇe zapojit kdokoliv, kdo chce svy´mi programy prˇispı´vat do uzˇ velmi rozsa´hle´ mnozˇiny volneˇ sˇirˇitelny´ch, ale prˇesto velmi kvalitnı´ch programu˚, da´le kazˇdy´ uzˇivatel, ktery´ dobrovolneˇ testuje beta verze teˇchto programu˚ a o prˇ´ıpadny´ch chyba´ch informuje programa´tora. Rozsa´hlost projektu mnohe´ prˇekvapuje pra´veˇ proto, zˇe v mnoha prˇ´ıpadech jde vlastneˇ o pra´ci zdarma.
1.1.2
Nejpouzˇı´vaneˇjsˇı´ licence
EULA (End-User Licence Agreement – dohoda s koncovy´m uzˇivatelem) je proprieta´lnı´ licence pouzˇ´ıvana´ firmou Microsoft a take´ dalsˇ´ımi firmami produkujı´cı´mi software prˇedevsˇ´ım pro operacˇnı´ syste´m Windows. Tato licence omezuje uzˇivatele softwaru v oblasti u´prav (software mu˚zˇe by´t pouzˇ´ıva´n pouze „obvykly´m zpu˚sobem“), pocˇtu pouzˇ´ıvany´ch 2
http://www.gnu.org/
P
1.1
LICENCE
3
kopiı´ (zvla´sˇteˇ v prˇ´ıpadeˇ OEM softwaru je licence omezena jen na konkre´tnı´ pocˇ´ıtacˇ, prˇi instalaci na jiny´ porusˇujeme podmı´nky licence) a take´ mozˇnostı´ distribuce (distribuce uzˇivatelem je obvykle povazˇova´na za pira´tstvı´, neza´konne´ sˇ´ırˇenı´). Narozdı´l od da´le uvedene´ GPL ma´ autor softwaru distribuovane´ho pod licencı´ EULA mozˇnost licencˇnı´ podmı´nky da´le upravovat (obvykle zprˇ´ısnˇovat). Proto je doporucˇeno text licence du˚kladneˇ procˇ´ıst jesˇteˇ prˇed instalaci takove´ho programu, aby uzˇivatel nebyl prˇekvapen du˚sledky odsouhlasenı´ podmı´nek licence.
E
Kromeˇ toho, zˇe EULA silneˇ omezuje mozˇnosti vyuzˇitı´ softwaru pod nı´ distribuovane´ho, obsahuje take´ klauzuli o tom, zˇe autor neodpovı´da´ za sˇkody vznikle´ provozova´nı´m softwaru. Tato klauzule je obecneˇ hodneˇ obvykla´ u ru˚zny´ch licencı´, i kdyzˇ z pra´vnı´ho hlediska je napadnutelna´ ve veˇtsˇineˇ sta´tu˚ sveˇta. Obhajobou podmı´nek licence EULA je zna´ma prˇedevsˇ´ım organizace BSA (Business Software Alliance). Jde o mezina´rodnı´ nevla´dnı´ sdruzˇenı´ producentu˚ softwaru (z velke´ cˇa´sti financovane´ Microsoftem), ktere´ v Cˇeske´ republice nema´ oficia´lnı´ zastoupenı´ (ani pra´vnı´ subjektivitu) a take´ samozrˇejmeˇ nema´ pravomoci policie. GNU GPL3 je zkratka z GNU General Public Licence), tuto licenci vytvorˇil Richard Stallman pro projekt GNU. Patrˇ´ı mezi copylefty a jedna´ se o open-source licenci. Hlavnı´ vlastnosti: • Software sˇ´ırˇeny´ pod touto licencı´ je volneˇ poskytova´n vcˇetneˇ zdrojove´ho ko´du. Znamena´ to, zˇe distributor, ktery´ pod touto licencı´ poskytuje bina´rnı´ (prˇelozˇeny´) software, musı´ poskytnout take´ zdrojove´ ko´dy a vsˇechny dalsˇ´ı potrˇebne´ soubory (naprˇ´ıklad makefile popisujı´cı´ zpu˚sob prˇekladu), a to bud’ stejny´m zpu˚sobem jako ty bina´rnı´, a nebo jiny´m akceptovany´m. • Je dovoleno prova´deˇt zmeˇny v ko´du a da´le software sˇ´ırˇit i po teˇchto zmeˇna´ch, ale vzˇdy musı´ by´t uvedeno jme´no pu˚vodnı´ho autora (GPL rozhodneˇ nepopı´ra´ autorska´ pra´va), upozorneˇnı´, zˇe program byl zmeˇneˇn a datum te´to zmeˇny. Soucˇa´stı´ distribuovane´ho produktu musı´ by´t i zneˇnı´ licence. • Pokud je software sˇ´ırˇeny´ pod GPL da´le distribuova´n, musı´ to by´t opeˇt pod licencı´ GPL (i v prˇ´ıpadeˇ, zˇe tento software byl pozmeˇneˇn). Prˇi za´sazı´ch toto ustanovenı´ platı´ i v prˇ´ıpadeˇ, zˇe by z pu˚vodnı´ho programu zu˚stal trˇeba jen „poslednı´ rˇa´dek ko´du“ – rea´lneˇ to take´ znamena´, zˇe kdyzˇ je knihovna distribuova´na pod GPL, nelze ji nalinkovat do programu sˇ´ırˇene´ho pod jinou licencı´ (ani za´rovenˇ s nı´m distribuovat). Proto GPL neby´va´ pro knihovny veˇtsˇinou pouzˇ´ıva´na, k tomu u´cˇelu slouzˇ´ı LGPL. • Pokud je software sˇ´ırˇen pod licencı´ GPL, nesmı´ autor (ani distributor) prˇida´vat zˇa´dne´ dalsˇ´ı podmı´nky omezujı´cı´ vyuzˇ´ıva´nı´ tohoto softwaru (tato podmı´nka je vy´sˇe zmı´neˇna jako copyleft). 3
Na http://www.gnu.cz/article/32/ je neoficia´lnı´ prˇeklad do cˇesˇtiny, oficia´lnı´ zneˇnı´ nejnoveˇjsˇ´ı verze je na http://www.gnu.org/licenses/gpl.html.
P
1.1
LICENCE
4
• Software poskytovany´ pod GPL je bez za´ruky v ra´mci pra´vnı´ho syste´mu urcˇite´ho sta´tu. Je to klauzule podobna´ te´, ktera´ byla uvedena u EULA. GNU GPL neznamena´ software zdarma, i kdyzˇ tomu tak cˇasto je. Distributor mu˚zˇe za produkt pozˇadovat penı´ze, i kdyzˇ sa´m ho zı´skal zdarma (to je prˇ´ıpad „krabicovy´ch verzı´“ Linuxu, nazy´va´me je komercˇnı´ distribuce). Platı´ se za zkompletova´nı´, prˇidane´ na´stroje, prˇ´ırucˇky, poskytovanou podporu (aktualizace syste´mu prˇes internet, pomoc prˇi instalaci nebo nenada´ly´ch proble´mech, . . . ) a prˇ´ıpadne´ vy´hody (naprˇ. cˇlenstvı´ v klubu). Asi nejzna´meˇjsˇ´ı software distribuovany´ pod GNU GPL je ja´dro operacˇnı´ho syste´mu Linux, da´le je spolu s LGPL beˇzˇneˇ pouzˇ´ıvana´ pro software patrˇ´ıcı´ do projektu GNU. GNU LGPL4 znamena´ GNU Lesser GPL. Je to licence odvozena´ z GPL. Rozdı´l oproti GNU General Public Licence je v tom, zˇe knihovny (obecneˇ ko´d) zverˇejneˇne´ pod LGPL mohou by´t pouzˇ´ıva´ny i v programech pod jinou licencı´ vcˇetneˇ licencı´ proprieta´lnı´ch. GNU FDL (GNU Free Documentation Licence) je licence urcˇena´ prˇedevsˇ´ım pro dokumentaci k programu˚m vytva´rˇeny´m v projektu GNU. Je pomeˇrneˇ hodneˇ podobna´ licenci GPL, ale prˇizpu˚sobena´ pozˇadavku˚m kladeny´m na dokumentove´ licence.
P P
U deˇl sˇ´ırˇeny´ch pod FDL musı´ by´t uvedeni vsˇichni soucˇasnı´ i prˇedchozı´ autorˇi dı´la a vesˇkere´ zmeˇny, ktere´ postupneˇ byly na dı´le provedeny. Pokud je dı´lo da´le distribuova´no, pak opeˇt pod FDL bez jaky´chkoliv zmeˇn podmı´nek licence. Distribuci a pouzˇ´ıva´nı´ dı´la takto sˇ´ırˇene´ho nelze nijak omezovat, at’uzˇ prˇidany´mi podmı´nkami nebo technicky´mi prostrˇedky (DRM). Podobneˇ jako u GPL, i zde je nutne´ distribuovat dı´lo vcˇetneˇ zneˇnı´ licence. To sice nenı´ na prˇeka´zˇku u programu˚, ale u dokumentu˚ ano – pokud dokument nebo jeho cˇa´st vytiskneme, meˇli bychom spra´vneˇ vytisknout i text licence a prˇilozˇit ho. To je jeden z du˚vodu˚, procˇ Wikipedia prˇesˇla od licence FDL k CC-by-sa. Obdobna´ databa´ze Navajo zu˚sta´va´ u FDL. Je zajı´mave´ (ale smutne´), zˇe GPL a FDL jsou navza´jem nekompatibilnı´. BSD je licence, pod kterou je dnes distribuova´no hodneˇ syste´mu˚ unixove´ veˇtve BSD, naprˇ´ıklad OpenBSD. Ve sve´ za´kladnı´ podobeˇ umozˇnˇuje volnou distribuci a take´ volne´ vyuzˇitı´ cˇa´sti zdrojove´ho ko´du, vcˇetneˇ pouzˇ´ıva´nı´ tohoto ko´du v syste´mech pod uzavrˇenou (closed, komercˇnı´) licencı´ jako je Solaris nebo MacOS X (ale ne naopak, v softwaru distribuovane´m pod BSD nesmı´ by´t pouzˇit uzavrˇeny´ ko´d). Je povazˇova´na za mnohem volneˇjsˇ´ı nezˇ GPL. Narozdı´l od GNU GPL je BSD licence typu copyright. Projevuje se to prˇedevsˇ´ım v nutnosti uva´deˇt neˇktere´ povinne´ u´daje vcˇetneˇ jmen autoru˚, a take´ v mozˇnosti distribuovat produkt pod jinou, vı´ce omezenou licencı´ (naprˇ´ıklad – kdyzˇ programa´tor pouzˇije cˇa´st ko´du pu˚vodneˇ distribuovanou pod BSD, nenı´ va´za´n nutnostı´ pouzˇ´ıt BSD i pro svu˚j vy´tvor). 4
Nejnoveˇjsˇ´ı verze je na http://www.gnu.org/licenses/lgpl.html.
P
1.1
LICENCE
5
BSD licence, stejneˇ jako LGPL a neˇktere´ dalsˇ´ı licence, je kompatibilnı´ s GPL (ty´ka´ se to BSD v tzv. revidovane´ formeˇ – „trˇ´ıbodove´“), proto je mozˇne´ ko´d pu˚vodneˇ licencovany´ BSD sloucˇit s ko´dem licencovany´m GPL. Ovsˇem dı´ky klauzulı´m v GPL je nutne´ takto sloucˇeny´ software sˇ´ırˇit pod licencı´ GPL. CDDL (Common Development and Distribution Licence) je open-source licence, kterou vytvorˇila firma Sun Microsystems, aby pod nı´ uvolnila svou variantu Unixu Solaris pod na´zvem OpenSolaris. Jsou pod nı´ distribuova´ny i neˇktere´ dalsˇ´ı produkty firmy Sun, naprˇ´ıklad souborovy´ syste´m ZFS. Tato licence je open-source, ale nekompatibilnı´ s GPL, proto ko´d z OpenSolaris a jiny´ch takto distribuovany´ch projektu˚ se nesmı´ pouzˇ´ıt v softwaru distribuovane´m pod licencı´ GPL. CC5 (Creative Commons) je projekt zahrnujı´cı´ vı´ce ru˚zny´ch svobodny´ch licencı´ urcˇeny´ch prˇedevsˇ´ım pro zverˇejnˇova´nı´ autorsky´ch deˇl na internetu (nenı´ vhodna´ pro software ani pro dokumentaci k neˇmu). Soucˇa´stı´ projektu je taky souhrn metadat pouzˇitelny´ch na dı´lo a jeho licenci, ktera´ majı´ usnadnit automaticke´ zpracova´va´nı´ (prˇedevsˇ´ım vyhleda´va´nı´) podle ru˚zny´ch krite´riı´.
P P
CC licence jsou kombinacı´ neˇktery´ch z teˇchto vlastnostı´ (licenci si lze poskla´dat pouzˇitı´m/nepouzˇitı´m jednotlivy´ch vlastnostı´): 1. 2. 3. 4.
Attribution (by) – at’se s dı´lem deˇje cokoliv, vzˇdy musı´ by´t uveden autor. Noncommercial (nc) – nekomercˇnı´, urcˇene´ pro nevy´deˇlecˇne´ u´cˇely. No derivate works (nd) – pokud je dı´lo pozmeˇneˇno, nesmı´ by´t distribuova´no. Share alike (sa) – pokud je dı´lo da´le distribuova´no, pak jen bez zmeˇny licence.
Obvykle se prˇedpokla´da´ pouzˇitı´ prvnı´ vlastnosti (by), ostatnı´ lze libovolneˇ prˇida´vat. Vlastnosti nd a sa se navza´jem vylucˇujı´, nelze je kombinovat v jedne´ licenci. Vy´sledne´ licence se pak oznacˇujı´ podle kombinace vlastnostı´, ktere´ zahrnujı´, naprˇ´ıklad CC-by-sa zahrnuje prvnı´ a poslednı´ uvedenou vlastnost (musı´ by´t uveden autor a dı´lo ma´ by´t da´le distribuova´no vzˇdy jen pod licencı´ CC-by-sa). Mozˇne´ kombinace najdeme na http://creativecommons.org/licenses/, kdokoliv si mu˚zˇe volneˇ zvolit neˇkterou z teˇchto mozˇnostı´ a pouzˇ´ıt pro sˇ´ırˇenı´ sve´ho dı´la. K nejzna´meˇjsˇ´ım projektu˚m licencovany´m pod licencemi CC patrˇ´ı Wikipedia a Flicker. Nekompatibilnı´ licence se dajı´ kombinovat pouze prˇi dua´lnı´m (nebo obecneˇ vı´cena´sobne´m) licencova´nı´ – jeden produkt (jako celek) je poskytova´n pod vı´ce ru˚zny´mi licencemi za´rovenˇ. Typicky´m prˇ´ıkladem je kombinace nekompatibilnı´ch licencı´ FDL a GPL pro prˇ´ıklady ko´du v projektu GNU, aby bylo mozˇne´ uka´zky ko´du vkla´dat jak do dokumentace, tak i do samotny´ch programu˚. 5
http://creativecommons.org/
P
SYSTE´MY UNIXOVE´HO TYPU
1.2
6
Prˇı´klad 1.1 Neˇktere´ produkty majı´ sve´ licencova´nı´ vyrˇesˇeno poneˇkud slozˇiteˇ. Typicky´m prˇ´ıkladem je Mozilla Firefox, jehozˇ zdrojove´ ko´dy jsou sˇ´ırˇeny pod trˇemi licencemi za´rovenˇ (triplelicencing) – MPL/GPL/LGPL, kde MPL6 je Mozilla Public Licence. Samotny´ (prˇelozˇeny´) program je pak sˇ´ırˇen pod licencı´ EULA. Dı´ky trojite´mu licencova´nı´ zdrojove´ho ko´du je mozˇne´ tento ko´d prˇelozˇit (s prˇ´ıpadny´mi u´pravami) a da´le distribuovat, ale jizˇ pod jiny´m na´zvem a s jiny´m logem.
´ koly U 1. Zjisteˇte, jaky´ je vztah mezi projektem GNU a Linuxem. Najdeˇte informaci o GNU Hurd – co to je? 2. Ktere´ licence s GNU souvisejı´ a jakou roli v te´to problematice hraje organizace FSF (Free Software Foundation) – http://www.fsf.org/. 3. Zjisteˇte, zda je GNU GPL verze 3 kompatibilnı´ s GNU GPL verze 2 (informaci najdete v seznamu licencı´ na http://www.gnu.org/licenses/license-list.html). 4. V tabulce na http://www.gnu.org/licenses/gpl-faq.html#AllCompatibility si projdeˇte mozˇnosti uvolneˇnı´ projektu pod neˇkterou licencı´ v prˇ´ıpadeˇ, zˇe kopı´rujete ko´d/pouzˇ´ıva´te knihovnu zverˇejneˇny´(-nou) pod konkre´tnı´ verzı´ GNU GPL nebo GNU LGPL. Vsˇimneˇte si rozdı´lu mezi oznacˇenı´mi „v. only“ a „or later“. Rozdı´l mezi GPL a LGPL peˇkneˇ ilustrujı´ poslednı´ rˇa´dky tabulky pro knihovny sˇ´ırˇene´ pod LGPL.
1.2 1.2.1
Syste´my unixove´ho typu Unix
Unix je vı´ceuzˇivatelsky´ multitaskovy´ (preemptivnı´ multitasking se sdı´lenı´m cˇasu, multithreading) sı´t’ovy´ operacˇnı´ syste´m beˇzˇ´ıcı´ prakticky na cˇemkoliv od i386, vcˇetneˇ novy´ch typu˚ pocˇ´ıtacˇu˚ (uzˇ dlouho existujı´ 64bitove´ varianty, uzˇ prˇed Windows 64bit). Je to take´ vı´ceprocesorovy´ syste´m (doka´zˇe rozdeˇlovat u´lohy mezi vı´ce procesoru˚) a du˚lezˇity´m rysem pro neˇktere´ aplikace je i podpora realtimovy´ch procesu˚ (doka´zˇe reagovat dostatecˇneˇ rychle, prˇesneˇji ve stanoveny´ch cˇasovy´ch hranicı´ch). Unix vznikl roku 1969 v Bell Laboratories firmy AT&T (prvnı´ provozuschopne´ verze byly asi o 2 roky pozdeˇji), pracovali na neˇm prˇedevsˇ´ım programa´torˇi Ken Thompson a Denis Ritchie. Jeho prˇedchu˚dcem je MULTICS, operacˇnı´ syste´m sice velmi vy´konny´, 6
R
http://www.mozilla.org/MPL/MPL-1.1.html
P
1.2
SYSTE´MY UNIXOVE´HO TYPU
7
stabilnı´ a bezpecˇny´, ale velmi slozˇity´. Byl navrzˇen prˇedevsˇ´ım pro velke´ strˇediskove´ pocˇ´ıtacˇe, ale protozˇe jel te´meˇrˇ na cˇemkoliv, zacˇal se rozsˇirˇovat i na mensˇ´ı pocˇ´ıtacˇe. Dnes je cha´pa´n prˇedevsˇ´ım jako sı´t’ovy´ operacˇnı´ syste´m pouzˇitelny´ take´ na pracovnı´ch stanicı´ch. Za´meˇrem tvu˚rcu˚ Unixu bylo vytvorˇit operacˇnı´ syste´m, ktery´ by meˇl kladne´ vlastnosti MULTICSu a za´rovenˇ aby meˇl jednoduchou snadno rozsˇirˇitelnou strukturu. Podle toho byl take´ pu˚vodneˇ pojmenova´n – UNICS (Uniplex Information and Computing System, pozdeˇji se CS zmeˇnilo na „modernı´“ X). Unix byl pu˚vodneˇ psa´n v assembleru, pozdeˇji prˇepsa´n do jazyka BCPL (nazvane´ho u´dajneˇ podle Bucephala, koneˇ Alexandra Velike´ho), v roce 1972 byl zdrojovy´ text prˇepsa´n do jazyka C (tento jazyk byl ostatneˇ vytvorˇen pra´veˇ k tomuto u´cˇelu). Du˚sledkem bylo nejen zprˇehledneˇnı´, ale take´ zvy´sˇenı´ prˇenositelnosti. Pokud programa´torˇi chteˇli pouzˇ´ıt Unix na jine´ platformeˇ (HW), nebylo jizˇ trˇeba prova´deˇt velke´ zmeˇny ve zdrojovy´ch ko´dech. Cely´ operacˇnı´ syste´m byl pu˚vodneˇ koncipova´n tak, aby jednotlive´ u´kony bylo mozˇne´ prova´deˇt pomocı´ rˇady maly´ch nena´rocˇny´ch programu˚ cˇi prˇ´ıkazu˚, a proto v jednom ktere´mkoliv okamzˇiku vlastneˇ nenı´ tolik prostrˇedku˚ zapotrˇebı´, tedy nema´ velke´ syste´move´ pozˇadavky. Dalsˇ´ım typicky´m rysem je pouzˇ´ıva´nı´ textovy´ch konfiguracˇnı´ch souboru˚ (bina´rnı´ soubory vyzˇadujı´ specia´lnı´ programy pro jejich zpracova´nı´) a princip „vsˇechno je soubor“, jehozˇ du˚sledkem je mozˇnost prakticky k cˇemukoliv prˇistupovat jako k souboru (vcˇetneˇ zarˇ´ızenı´ a neˇktery´ch objektu˚ v syste´mu).
$
Vyznacˇuje se tı´m, zˇe na rozdı´l od Windows „pokorneˇ“ prˇijme to, co mu na hardwaru da´me, kdyzˇ je toho ma´lo, zbytecˇneˇ kvu˚li tomu „nepada´“ a nevypisuje jedovata´ hla´sˇenı´, a kdyzˇ je toho moc, doka´zˇe prostrˇedky plneˇ vyuzˇ´ıt. Uda´va´ se, zˇe Unix vyzˇaduje minima´lneˇ procesor kompatibilnı´ s i386, pokud mozˇno take´ matematicky´ koprocesor, operacˇnı´ pameˇti minima´lneˇ 8 MB, a pokud nechceme graficke´ rozhranı´, tak jesˇteˇ me´neˇ (u´dajneˇ stacˇ´ı 2 MB RAM). Minima´lnı´ hodnoty pro pozˇadavky na syste´m samozrˇejmeˇ platı´ v prˇ´ıpadeˇ, zˇe nevyuzˇ´ıva´me graficke´ rozhranı´.
1.2.2
Veˇtve a standardy unixove´ho sveˇta
Da´le budeme hovorˇit o unixovy´ch syste´mech – unix-like syste´mech, tedy operacˇnı´ch syste´mech se strukturou a vlastnostmi odvozeny´mi od pu˚vodnı´ho Unixu. Pu˚vodneˇ existoval jediny´ Unix (vyvı´jel se a vylepsˇoval, ale jen v jedne´ vy´vojove´ veˇtvi), ale kolem verze V6 se jeho vy´voj rozdeˇlil do dvou veˇtvı´, ktere´ lze vysledovat i dnes, i kdyzˇ Unixu˚ je dnes cela´ rˇada: BSD (Berkeley Software Distribution): veˇtev vyvı´jena´ pu˚vodneˇ na univerziteˇ v Berkeley, sem mu˚zˇeme zarˇadit naprˇ´ıklad NetBSD, OpenBSD, FreeBSD, SunOS (od firmy Sun), Linux (i kdyzˇ ne zcela), Mac OS X a jeho prˇedchu˚dce NeXTStep, atd. System V: veˇtev vyvı´jena´ pu˚vodneˇ firmou Unix System Laboratories (USL), pozdeˇji AT&T, dnes Novell, zde patrˇ´ı naprˇ´ıklad HP UX (od firmy Hewlet-Packard), Solaris (firma
P P
SYSTE´MY UNIXOVE´HO TYPU
1.2
8
Sun, dnes je to neju´speˇsˇneˇjsˇ´ı komercˇnı´ Unix), AIX (IBM), SCO Unix (pu˚vodneˇ to byl XENIX od Microsoftu), atd. Rozdı´ly mezi teˇmito veˇtvemi se postupneˇ stı´rajı´, dnesˇnı´ Unixy obvykle majı´ neˇktere´ vlastnosti z kazˇde´ veˇtve (to platı´ take´ o Linuxu, ktery´ je zalozˇen prˇedevsˇ´ım na mysˇlenka´ch BSD, ale najde se v neˇm take´ neˇco z System V). Komercˇnı´ Unixy veˇtsˇinou patrˇ´ı do veˇtve System V, ale prˇesto obsahujı´ neˇktere´ vlastnosti z veˇtve BSD. Kromeˇ toho, zˇe unixove´ syste´my se vı´ceme´neˇ rˇadı´ do neˇktere´ z teˇchto veˇtvı´, take´ musı´ splnˇovat urcˇite´ standardy, aby vu˚bec mohly by´t za unix-like syste´my (tj. unixove´) povazˇova´ny. Standardu˚ bylo v historii vı´ce,7 v soucˇasne´ dobeˇ jsou zachova´va´ny dva – POSIX a Single Unix Specification. POSIX (Portable Operating System Interface) je standard publikovany´ u´rˇadem pro standardizaci IEEE, ve verzı´ch POSIX-1 a POSIX-2. Standardizuje formu syste´movy´ch vola´nı´ (tj. zpu˚sobu˚, jak proces komunikuje s ja´drem), funkcı´ v syste´movy´ch knihovna´ch a cho´ cˇelem je co nejvı´c zjednodusˇit prˇenos va´nı´ procesu˚ vcˇetneˇ jejich vza´jemne´ komunikace. U programu˚ mezi ru˚zny´mi operacˇnı´mi syste´my (tzv. portova´nı´). POSIX je podporova´n nejen unixovy´mi syste´my, ale take´ neˇktery´mi verzemi Windows.8 Splneˇnı´ standardu Single Unix Specification (SUS)9 je prˇedpokladem pro to, aby mohl by´t syste´m nazy´va´n unixovy´m. Vycha´zı´ z POSIXu a zahrnuje urcˇite´ specifikace souvisejı´cı´ s programovy´m rozhranı´m programu˚ a knihoven (prˇedpokla´da´ se jazyk C nebo podobny´), seznam na´stroju˚ (mı´neˇno veˇtsˇinou programu˚–prˇ´ıkazu˚ pro uzˇivatele a administra´tory), pozˇadavky na shell (program, ktery´m uzˇivatel komunikuje se syste´mem), syste´mova´ vola´nı´, sluzˇby vcˇetneˇ vstupneˇ/vy´stupnı´ch. Soucˇa´stı´ nejsou pozˇadavky na konkre´tnı´ ko´d, proto SUS mohou splnˇovat i takove´ syste´my, ktere´ neobsahujı´ ani rˇa´dek ko´du z pu˚vodnı´ho Unixu. SUS je v neˇkolika verzı´ch. Nejnoveˇjsˇ´ı (verzi 3) dokoncˇenou roku 2003 splnˇujı´ Solaris, Linux, BSD klony, Mac OS X a dalsˇ´ı.
1.2.3
P
Linux
Linux je operacˇnı´ syste´m unixove´ho typu sˇ´ırˇeny´ pod licencı´ GNU GPL (resp. jeho ja´dro). Je to plneˇ 32bitovy´ nebo 64bitovy´ (podle platformy) syste´m. Prvnı´ Linuxove´ ja´dro vytvorˇil finsky´ student Linus Torvalds (bylo mu tenkra´t 21 let), dnes se na tomto operacˇnı´m syste´mu podı´lejı´ tisı´ce dalsˇ´ıch programa´toru˚ po cele´m sveˇteˇ. Linux prˇevzal z Unixu vnitrˇnı´ strukturu, stabilitu a bezpecˇnost, i kdyzˇ zdrojove´ ko´dy ma´ znovu napsane´. Jizˇ prvnı´ verze zaujaly programa´tory projektu GNU a Linux se postupneˇ stal hlavnı´m 7
P P
Informace najdeme naprˇ´ıklad na http://www.faqs.org/docs/artu/ch17s02.html, FAQs v dome´neˇ znamena´ „Frequently Asked Questions“. 8 Neˇktere´ varianty Windows s NT ja´drem obsahujı´ podsyste´m POSIX umozˇnˇujı´cı´ beˇh POSIX aplikacı´, existujı´ take´ dalsˇ´ı rˇesˇenı´ – MS Windows Services for Unix, UWIN a CygWin. Poslednı´ jmenovany´ je cˇasto pouzˇ´ıvany´ zpu˚sob pro zprovozneˇnı´ unixovy´ch aplikacı´ pod Windows. 9 Text standardu SUS je na adrese http://www.opengroup.org/onlinepubs/009695399/ nebo take´ na adrese http://www.unix.org/version3/, informace o tomto standardu najdeme na adrese http://www.unix.org/what is unix/single unix specification.html.
P
1.2
SYSTE´MY UNIXOVE´HO TYPU
9
ja´drem operacˇnı´ho syste´mu projektu GNU (pu˚vodnı´ ja´dro, GNU/Hurd, porˇa´d jesˇteˇ existuje). Spra´vny´ na´zev toho syste´mu, ktery´ budeme pouzˇ´ıvat, je ve skutecˇnosti GNU/Linux, veˇtsˇinou se vsˇak zkracuje na Linux. V devadesa´ty´ch letech byl cha´pa´n jako syste´m vhodny´ spı´sˇe pro odbornı´ky na pocˇ´ıtacˇe, ale po rychle´m rozvoji graficky´ch rozhranı´ provozovatelny´ch na tomto syste´mu je jizˇ natolik uzˇivatelsky prˇ´ıveˇtivy´, zˇe je instalova´n i na pocˇ´ıtacˇe u´rˇednı´ku˚ sta´tnı´ spra´vy po cele´m sveˇteˇ. Jeho podı´l na trhu stoupa´ mimo jine´ proto, zˇe ho lze porˇ´ıdit zdarma a platı´ se obvykle pouze za servis, podporu a manua´ly (a prˇ´ıpadneˇ papı´rovou krabici). Nejzna´meˇjsˇ´ı linuxove´ distribuce jsou velmi rozsa´hle´ (obsahujı´ totizˇ kromeˇ ja´dra a graficke´ho rozhranı´ mnoho aplikacı´ a konfiguracˇnı´ch na´stroju˚), a uzˇivatelsky prˇ´ıveˇtive´. Nejrozsˇ´ırˇeneˇnsˇ´ı jsou zrˇejmeˇ Mandriva, SUSE, Ubuntu, Debian a dalsˇ´ı. Na obra´zku 1.1 je obrazovka linuxove´ho syste´mu Mandriva na starsˇ´ım pocˇ´ıtacˇi (mensˇ´ı rozlisˇenı´ obrazovky, vypnute´ 3D efekty). Ovsˇem linuxove´ syste´my majı´ velmi variabilnı´ graficke´ prostrˇedı´, mohou vypadat znacˇneˇ odlisˇneˇ.
Obra´zek 1.1: Linux Mandriva Spring 2007 Hlavnı´ adresy: http://www.linux.org, http://www.linux.cz
1.2
1.2.4
SYSTE´MY UNIXOVE´HO TYPU
10
Mac OS
Tento operacˇnı´ syste´m vytvorˇila firma Apple pro sve´ pocˇ´ıtacˇe s hardwarovou platformou Apple MacIntosh, ktera´ nebyla kompatibilnı´ s tehdy se pomalu rozvı´jejı´cı´ platformou Intel. Jako jeden z prvnı´ch (dlouho prˇed MS Windows) meˇl velmi propracovane´ uzˇivatelske´ rozhranı´, operacˇnı´ syste´my firmy Microsoft se zjedneˇ tı´mto syste´mem hodneˇ inspirovaly. Jako jeden z prvnı´ch podporoval vy´konne´ procesory. Pu˚vodneˇ byl tento syste´m vyvı´jen cely´ samostatneˇ, dnes se jizˇ jedna´ o syste´m unixove´ho typu podobneˇ jako linuxove´ distribuce. Ke zmeˇneˇ dosˇlo dı´ky jednomu ze zakladatelu˚ firmy Apple, Stevu Jobsovi. Steve Jobs odesˇel z te´to firmy a zalozˇil vlastnı´ firmu NeXT, ktera´ zacˇala vyvı´jet vlastnı´ operacˇnı´ syste´m NeXTStep zalozˇeny´ na strukturˇe Unixu, prˇedevsˇ´ım varianty FreeBSD. NeXTStep se proslavil hlavneˇ pouzˇ´ıva´nı´m objektovy´ch technologiı´ a mimorˇa´dneˇ propracovany´m uzˇivatelsky´m a vy´vojovy´m rozhranı´m. Firma Apple nakonec koupila firmu NeXT a operacˇnı´ syste´m NeXTStep se stal za´kladem pro novou verzi Mac OS, pojmenovanou Mac OS X.10 Ja´dro Mac OS X je Mach (je prˇejate´ z NeXTStep, ma´ vnitrˇnı´ strukturu vycha´zejı´cı´ ze standardu˚ pro unixove´ syste´my). Je povazˇova´no za jedno z nejefektivneˇjsˇ´ıch a nejstabilneˇjsˇ´ıch rˇesˇenı´, dokonce i na unixovy´ syste´m. Toto ja´dro ma´ i neˇktere´ rysy real-time syste´mu˚. Nizˇsˇ´ı vrstvy tohoto syste´mu jsou prˇ´ıstupne´ v ra´mci projektu Darwin. Prˇechodem na verzi X Mac OS zmeˇnil hardwarovou platformu na PowerPC (take´ je nekompatibilnı´ s Intelem), na ktere´ beˇzˇely pocˇ´ıtacˇe s NeXTStepem (tyto procesory vyra´bı´ firma IBM). Na konci roku 2005 byla prˇekvapiveˇ ohla´sˇena migrace Mac OS X na platformu Intel, cozˇ znamena´, zˇe tento operacˇnı´ syste´m je nynı´ mozˇne´ pouzˇ´ıvat na stejne´m pocˇ´ıtacˇi jako ostatnı´ rozsˇ´ırˇene´ operacˇnı´ syste´my bez hardwarove´ emulace, ale lega´lneˇ a v plne´ akceleraci pouze na strojı´ch od firmy Apple.
P P P P
Vzhledem k tomu, zˇe se jedna´ o syste´m unixove´ho typu, je mozˇne´ zde pouzˇ´ıvat i neˇktere´ aplikace urcˇene´ pro Unix/Linux. S prˇihle´dnutı´m ke znacˇny´m zmeˇna´m ve strukturˇe syste´mu a dosavadnı´ hardwarove´ nekompatibiliteˇ s intelovskou architekturou se vsˇak jedna´ veˇtsˇinou o kompatibilitu na u´rovni zdrojovy´ch ko´du˚, tedy je nutne´ prˇene´st zdrojove´ ko´dy a ty potom prˇelozˇit pro tuto architekturu. Programy, ktere´ prˇistupujı´ prˇ´ımo ke zdroju˚m vy´pocˇetnı´ho syste´mu nebo k nizˇsˇ´ım vrstva´m operacˇnı´ho syste´mu, prˇenositelne´ nemusejı´ by´t. Mac OS u na´s pu˚vodneˇ nebyl moc rozsˇ´ırˇen (pouzˇ´ıval se hlavneˇ ve firma´ch pracujı´cı´ch s grafikou, jako jsou reklamnı´ studia, je vsˇak take´ na neˇktery´ch sˇkola´ch), byl to syste´m typicky´ spı´sˇe pro USA. Situace se vsˇak postupneˇ meˇnı´ a zvla´sˇteˇ notebooky a mala´ prˇenosna´ zarˇ´ızenı´ jsou cˇ´ım da´l oblı´beneˇjsˇ´ı. Adresy: http://www.apple.com/macosx/, http://www.apple.cz/, http://www.root.cz/serialy/mac-os-x-je-taky-unix/ 10
Pı´smeno X ve skutecˇnosti znamena´ spı´sˇe rˇ´ımske´ cˇ´ıslo 10, jde o verzi syste´mu, i kdyzˇ za´rovenˇ mu˚zˇe by´t cha´pa´no jako vazba na Unix.
1.2
1.2.5
SYSTE´MY UNIXOVE´HO TYPU
11
Neˇktere´ dalsˇı´ unixove´ syste´my
Unixove´ syste´my jsou dodnes hodneˇ pouzˇ´ıva´ny na serverech (naprˇ´ıklad Solaris), ale existujı´ take´ varianty pro desktop, dokonce i volneˇ sˇirˇitelne´ (naprˇ´ıklad Linux a FreeBSD). OpenBSD je volneˇ sˇirˇitelny´ operacˇnı´ syste´m unixove´ho typu vycha´zejı´cı´ z veˇtve BSD. Je distribuova´n pod licencı´ BSD. Hlavnı´ du˚raz je zde kladen na bezpecˇnost, OpenBSD je povazˇova´n za jeden z nejbezpecˇneˇjsˇ´ıch unixovy´ch syste´mu˚. Celkoveˇ spolupra´ce na tomto projektu funguje hodneˇ podobneˇ jako na Linuxu, jen je trochu me´neˇ popula´rnı´ a rozsˇ´ırˇeny´. V OpenBSD najdeme i neˇktere´ programy a technologie prˇejate´ z Linuxu, licence BSD je kompatibilnı´ s GPL, a navı´c jako kazˇdy´ jiny´ unixovy´ syste´m je i OpenBSD kompatibilnı´ s Linuxem na u´rovni zdrojovy´ch ko´du˚. Mu˚zˇeme zde pouzˇ´ıvat kompila´tor jazyka C gcc, Perl, Apache, Sendmail, atd. Graficke´ prostrˇedı´ je realizova´no na stejne´m principu jako na Linuxu. OpenBSD se vyznacˇuje dostupnostı´ pro velke´ mnozˇstvı´ hardwarovy´ch platforem. Adresy: http://www.openbsd.org, http://www.openbsd.cz FreeBSD je podobneˇ jako OpenBSD sˇ´ırˇen pod licencı´ BSD. Je to velmi dobrˇe vybaveny´ syste´m, jeho graficke´ prostrˇedı´ je realizova´no takte´zˇ na stejne´m za´kladeˇ jako v Linuxu, instalace je velmi snadna´. Je postaven na podobne´ filozofii jako Linux a vy´voja´rˇi teˇchto syste´mu˚ se navza´jem inspirujı´. Je urcˇen prˇedevsˇ´ım pro hardwarovou platformu x86 a prˇ´ıbuzne´. Existuje take´ live varianta tohoto syste´mu (tj. nemusı´ se instalovat, spousˇtı´ se prˇ´ımo z CD/DVD, stacˇ´ı z neˇho nabootovat) – FreeSBIE. Je trochu osekana´ (u´sporneˇjsˇ´ı graficke´ rozhranı´, me´neˇ aplikacı´), prˇesto vsˇak slusˇneˇ vybavena´, lze ji take´ nainstalovat na disk. Adresy: http://www.freebsd.org, http://www.freebsd.cz, http://www.freesbie.org NetBSD je dalsˇ´ım BSD klonem. Projekty NetBSD a FreeBSD velmi u´zce spolupracujı´, dokonce do te´ mı´ry, zˇe oba syste´my jsou kompatibilnı´ i bina´rneˇ (nejen na u´rovni zdrojovy´ch ko´du˚, tj. programy prˇelozˇene´ pro jeden syste´m mu˚zˇeme prˇ´ımo spustit i na druhe´m). Narozdı´l od FreeBSD je dostupny´ pro velke´ mnozˇstvı´ hardwarovy´ch platforem. Podpora vy´robcu˚ hardwaru je bohuzˇel nizˇsˇ´ı, seznam podporovane´ho hardwaru je proto kratsˇ´ı nezˇ trˇeba u Linuxu. Existuje take´ live varianta Jibbed Live CD. NetBSD se cˇasto pouzˇ´ıva´ v mensˇ´ıch jednou´cˇelovy´ch zarˇ´ızenı´ch, dokonce vcˇetneˇ sı´t’ovy´ch (naprˇ´ıklad v hardwarovy´ch firewallech) – velky´ du˚raz je kladen na bezpecˇnost (take´ vlivem spolupra´ce s OpenBSD). Adresy: http://www.netbsd.org/, http://www.netbsd.org/gallery/products.html, http://www.jibbed.org/ OpenSolaris samotny´ Solaris je komercˇnı´ Unix firmy Sun Microsystems (vlastneˇne´ firmou Oracle Corporation), je povazˇova´n za jeden z nejlepsˇ´ıch komercˇnı´ch Unixu˚. Patrˇ´ı do veˇtve System V. Firma Sun se rozhodla zprˇ´ıstupnit odvozeny´ syste´m, OpenSolaris, pod vlastnı´ licencı´ CDDL.
J
J
J
J
1.2
SYSTE´MY UNIXOVE´HO TYPU
12
Existuje neˇkolik odnozˇ´ı (portu˚) projektu OpenSolaris, naprˇ´ıklad Illumos (plneˇ opensource syste´m, protozˇe samotny´ OpenSolaris vlastneˇ obsahuje neˇktere´ cˇa´sti, ktere´ nejsou distribuova´ny se zdrojovy´m ko´dem), da´le OpenIndiana (pro servery, dba´ se na zajisˇteˇnı´ zabezpecˇenı´, a to volneˇ sˇirˇitelne´), atd. Adresy: http://www.sun.com, http://www.opensolaris.org, http://www.illumos.org/, http://openindiana.org/ QNX je realtimovy´ unixovy´ syste´m (tj. pracujı´cı´ v „rea´lne´m cˇase“). To neznamena´, zˇe by doka´zal vzˇdy reagovat okamzˇiteˇ na jaky´koliv pozˇadavek (to je technicky nemozˇne´), ale pro kazˇdou cˇasoveˇ rizikovou operaci existuje pevneˇ dany´ cˇasovy´ limit, do ktere´ho musı´ by´t tato operace vyrˇ´ızena. Realtimove´ syste´my se pouzˇ´ıvajı´ naprˇ´ıklad prˇi rˇ´ızenı´ rizikovy´ch provozu˚ (elektra´rny vcˇetneˇ atomovy´ch, chemicke´ laboratorˇe), letadel apod. QNX byl pu˚vodneˇ komercˇnı´ syste´m kanadske´ firmy QNX Software Systems, delsˇ´ı dobu vsˇak existovala volneˇ sˇirˇitelna´ varianta (zdarma pro nekomercˇnı´ pouzˇitı´). Bohuzˇel tento zdroj se uzavrˇel, jistou na´hradou je projekt OpenQNX, da´le na stra´nka´ch firmy QNX najdeme demonstracˇnı´ verzi.
J
QNX je urcˇen k pouzˇitı´ v embedded syste´mech (tj. v zarˇ´ızenı´ch, ktera´ vlastneˇ ani nejsou pocˇ´ıtacˇe, trˇeba autech), da´le v sı´t’ovy´ch zarˇ´ızenı´ch (jako jsou naprˇ´ıklad routery), set-top boxech, apod. Jeho ja´dro se jmenuje Neutrino, pouzˇ´ıva´ jednoduche´ graficke´ rozhranı´ Photon. Adresy: http://www.qnx.com/, http://www.openqnx.com/, http://www.embedded-computing.com/pdfs/QNX.Jan05.pdf ´ kol U Vyberte si neˇktery´ z unixovy´ch syste´mu˚ (nemusı´ by´t uveden v te´to kapitole) a zjisteˇte si o neˇm podrobneˇjsˇ´ı informace.
Kapitola
2
Pouzˇ´ıva´me Linux V te´to kapitole se budeme zaby´vat pracı´ v graficky´ch prostrˇedı´ch obvykly´ch v operacˇnı´m syste´mu Linux – KDE a GNOME. Cı´lem je naucˇit se za´kladnı´ orientaci v syste´mu a zvla´dnout beˇzˇne´ u´koly prˇi jeho pouzˇ´ıva´nı´.
2.1
Zacˇı´na´me
Existuje mnoho tzv. distribucı´ Linuxu. Distribuce je souhrn ja´dra Linuxu, jednoho nebo vı´ce graficky´ch prostrˇedı´, nejru˚zneˇjsˇ´ıch aplikacı´ (kancela´rˇske´ programy a nejru˚zneˇjsˇ´ı editory, drobne´ pomocne´ programy typu kalkulacˇka, programy pro zpracova´nı´ grafiky, komunikacˇnı´ programy vcˇetneˇ webovy´ch prohlı´zˇecˇu˚, atd.), dokumentace, konfiguracˇnı´ch na´stroju˚, a dalsˇ´ıch. Kazˇda´ distribuce je trochu jinak vybavena´ a neˇktere´ jsou prˇ´ımo vytvorˇeny k neˇjake´mu specia´lnı´mu u´cˇelu. Kazˇda´ distribuce ma´ take´ jine´ hardwarove´ na´roky, existujı´ i takove´, ktere´ spustı´me na pocˇ´ıtacˇi se stary´m dobry´m procesorem i386. Linuxovou distribuci mu˚zˇeme bud’ nainstalovat nebo pouzˇ´ıt Live variantu (take´ se rˇ´ıka´ „zˇive´ CD/DVD“, jejı´ vy´hodou je, zˇe nemusı´me mı´t obavy ze za´sahu˚ do operacˇnı´ho syste´mu, ktery´ je na pocˇ´ıtacˇi nainstalova´n). Pokud se rozhodneme pro instalaci, necˇeka´ na´s nic na´rocˇneˇjsˇ´ıho nezˇ trˇeba instalace Windows, jde o hodneˇ podobny´ proces. Pokud na pocˇ´ıtacˇi ma´me nainstalova´n jiny´ operacˇnı´ syste´m (typicky Windows), lze instalovat Linux „vedle“ neˇj, tedy tak, zˇe prˇi startu pocˇ´ıtacˇe ma´me na vy´beˇr mezi ru˚zny´mi operacˇnı´mi syste´my, ktere´ jsou vsˇechny funkcˇnı´. LiveCD nebo LiveDVD (vlastneˇ take´ LiveUSB pro USB flash disky) stacˇ´ı vlozˇit do prˇ´ıslusˇne´ho hardwarove´ho rozhranı´ (naprˇ´ıklad DVD do DVD mechaniky) a restartovat pocˇ´ıtacˇ. Pokud se po restartu dostaneme do operacˇnı´ho syste´mu, ktery´ je nainstalova´n, je
13
P P
2.2
PROSTRˇEDI´ KDE
14
trˇeba prove´st zmeˇny v programu BIOS Setup,1 aby bylo mozˇne´ bootovat (nacˇ´ıtat syste´m) z jine´ho pameˇt’ove´ho me´dia nezˇ pevne´ho disku. Protozˇe existuje hodneˇ ru˚zny´ch distribucı´, ma´me na vy´beˇr. Na Slezske´ univerziteˇ v ucˇebna´ch B3a, B3b a C34 je Linux nainstalova´n, spustı´me ho po startu (restartu) pocˇ´ıtacˇe vy´beˇrem z menu. Pokud chceme Linux vyzkousˇet jinde, mu˚zˇeme zvolit naprˇ´ıklad DaNIX2 nebo Mandriva,3 distribucı´ vhodnou pro zacˇa´tecˇnı´ky je take´ SUSE.4 Sta´hneme obraz (s prˇ´ıponou ISO) a vypa ´ lı´me na prˇ´ıslusˇne´ me´dium neˇktery´m vypalovacı´m programem.
$
´ kol U Najdeˇte pocˇ´ıtacˇ s nainstalovany´m Linuxem nebo sezˇenˇte neˇkterou distribuci Linuxu tak jak je vy´sˇe popsa´no. Spust’te Linux a projdeˇte si jeho prostrˇedı´.
2.2
Prostrˇedı´ KDE
KDE (K Desktop Environment) je jedno z nejkomplexneˇjsˇ´ıch (nabı´zı´ toho opravdu moc) a za´rovenˇ snadno konfigurovatelny´ch desktopovy´ch prostrˇedı´ pro Linux. Obsahuje velke´ mnozˇstvı´ aplikacı´, ktere´ obvykle zacˇ´ınajı´ pı´smenem K – KOffice (kancela´rˇsky´ balı´k), KEdit, KWrite (jednoduche´ editory), Kate (editor pro programa´tory), Konqueror (internetovy´ prohlı´zˇecˇ a spra´vce souboru˚), KPager (spra´vce virtua´lnı´ch ploch), Klipper (schra´nka pro sdı´lenı´ dat mezi aplikacemi prostrˇedı´), KMail (e-mailovy´ klient), K3B (vypalova´nı´ CD/DVD a podobne´ u´lohy), KDevelop (vy´vojove´ prostrˇedı´), a mnoho dalsˇ´ıch. Existujı´ take´ aplikace napsane´ do prostrˇedı´ KDE, ale standardneˇ s nı´m nedoda´vane´, naprˇ´ıklad zajı´mavy´ pokrocˇily´ editor pro programa´tory a uzˇivatele TEXu a dalsˇ´ıch jazyku˚ Kile (jsou dostupne´ na internetu – v repozita´rˇ´ıch nebo na stra´nka´ch programa´toru˚ teˇchto aplikacı´, neˇktere´ distribuce Linuxu tento editor jizˇ obsahujı´). Pokud na´hodou nenajdeme program, ktery´ na´m pro dany´ u´cˇel plneˇ vyhovuje, obvykle ho mu˚zˇeme velmi snadno nainstalovat – instalaci softwaru se budeme veˇnovat pozdeˇji. Programy v prostrˇedı´ KDE spousˇtı´me bud’ z nabı´dky K na hlavnı´m panelu, nebo jejich spustitelny´m souborem (obvykle je to na´zev aplikace maly´mi pı´smeny). 1
Do BIOS Setup se dostaneme beˇhem startu pocˇ´ıtacˇe. Hned po testu hardwaru POST se zobrazı´ hla´sˇenı´ „Press Del to enter Setup“ nebo podobne´, mu˚zˇe jı´t take´ o jinou kla´vesu – kromeˇ Del by´va´ obvykla´ kla´vesa F2 , F1 nebo jine´. V menu najdeme volbu pro nastavenı´ Boot sekvence (v ru˚zny´ch BIOSech se setka´me s ru˚zny´mi na´zvy polozˇek menu) a nastavı´me jako prvnı´ v porˇadı´ tu mechaniku, ze ktere´ chceme spousˇteˇt Live variantu Linuxu. 2 LiveDVD je na http://www.danix.cz/. 3 Live distribuce Mandriva One je na http://www2.mandriva.com/linux/one/, vsˇechny varianty najdeme na http://www2.mandriva.com/linux/, stra´nky v cˇesˇtineˇ jsou na adrese http://www.mandrivalinux.cz/. 4 Volneˇ sˇirˇitelna´ verze OpenSUSE vcˇetneˇ potrˇebny´ch informacı´ je na http://www.opensuse.cz/.
P
P
2.2
2.2.1
PROSTRˇEDI´ KDE
15
Kde hledat potrˇebne´ na´stroje
Pracovnı´ prostrˇedı´ se nastavuje podobneˇ jako ve Windows. Kazˇdy´ objekt na plosˇe vcˇetneˇ plochy samotne´ a hlavnı´ho panelu ma´ kontextove´ menu, v neˇm lze nastavit vsˇechny parametry objektu, ke ktery´m ma´ prˇ´ıstupova´ pra´va beˇzˇny´ uzˇivatel. Neˇktere´ mozˇnosti pro konfiguraci prostrˇedı´ jsou take´ v menu K na hlavnı´m panelu. Na hlavnı´m panelu take´ najdeme tlacˇ´ıtko Zobrazit plochu.
$
Mezi polozˇkami menu K se obvykle nacha´zı´ jedna nebo vı´ce polozˇek s na´zvem Administrovat syste´m, Spra´va syste´mu apod., tam najdeme na´stroje pro konfiguraci prostrˇedı´ a syste´mu. Neˇkde tam je take´ polozˇka spousˇteˇjı´cı´ konzoli nebo termina´l (tu pouzˇijeme, kdyzˇ chceme pracovat v textove´m shellu). Neˇkde v podmenu teˇchto polozˇek je polozˇka s na´zvem Nastavenı´ pracovnı´ho prostrˇedı´ nebo Ovla´dacı´ centrum, tam se nastavuje cokoliv, co souvisı´ s desktopovy´m prostrˇedı´m KDE a take´ dalsˇ´ı veˇci. Jednotlive´ na´stroje jsou zde prˇehledneˇ usporˇa´da´ny bud’ do stromu nebo jako seznam „vnorˇeny´ch“ ikon (prˇepı´na´ se v menu Pohled ï Rezˇim zobrazenı´). Na´zvy jsou dostatecˇneˇ reprezentativnı´. Neˇktere´ na´stroje zde zahrnute´ vyzˇadujı´ pra´vo spra´vce (roota), pak na spodnı´m okraji okna objevı´me tlacˇ´ıtko Administra´torsky´ rezˇim. V ru˚zny´ch distribucı´ch najdeme dalsˇ´ı na´stroje. Naprˇ´ıklad v Mandriveˇ najdeme Ovla´dacı´ centrum Mandrake (mu˚zˇe by´t pod polozˇkou Nastavenı´ pocˇı´tacˇe), v SUSE zase na´stroj YAST nebo YAST2 (je obvykle prˇida´n jako dalsˇ´ı na´stroj do Ovla´dacı´ho centra KDE). Neˇktere´ aplikace majı´ samozrˇejmeˇ vlastnı´ na´stroje a neˇktere´ z nich jsou dokonce napojeny na na´stroje KDE, naprˇ´ıklad spra´vce souboru˚ a prohlı´zˇecˇ v jednom Konqueror umozˇnˇuje ze sve´ho menu nastavovat cokoliv, co souvisı´ se soubory vcˇetneˇ asociacı´. V tabulce 2.1 jsou prˇ´ıkazy spousˇteˇjı´cı´ soucˇa´sti prostrˇedı´ KDE, ve ktery´ch najdeme nejdu˚lezˇiteˇjsˇ´ı na´stroje s graficky´m rozhranı´m. Pamatova´nı´ teˇchto prˇ´ıkazu˚ nenı´ u´plneˇ zbytecˇne´, protozˇe strukturu menu tvorˇ´ı kazˇda´ distribuce dle sve´ho uva´zˇenı´ a umı´steˇnı´ na´stroju˚ se mu˚zˇe lisˇit. Pouzˇitı´ prˇ´ıkazu˚ pak mu˚zˇe urychlit spusˇteˇnı´ teˇchto aplikacı´. Uvedene´ programy budeme probı´rat v na´sledujı´cı´ch podsekcı´ch. Prˇ´ıkaz
Vy´znam
kcontrol kinfocenter konsole khelpcenter ksysguard kuser kmenuedit konqueror
Ovla´dacı´ centrum KDE Informacˇnı´ centrum KDE Konzola v prostrˇedı´ KDE Centrum na´poveˇdy KDE Stra´zˇce syste´mu KDE Spra´va uzˇivatelu˚ Editace hlavnı´ nabı´dky v KDE Spra´vce souboru˚ a internetovy´ prohlı´zˇecˇ
Tabulka 2.1: Spousˇteˇcı´ prˇ´ıkazy pro nejdu˚lezˇiteˇjsˇ´ı programy v KDE
P $
PROSTRˇEDI´ KDE
2.2
2.2.2
16
Pracovnı´ plocha a hlavnı´ panel
Stejneˇ jako ve Windows, i zde platı´, zˇe kdyzˇ chceme nastavovat vlastnosti konkre´tnı´ho objektu, pouzˇijeme prˇednostneˇ kontextove´ menu tohoto objektu. Tedy konfiguraci plochy samotne´ prova´dı´me pomocı´ voleb v kontextove´m menu plochy, konfiguraci nabı´dky K zase v kontextove´m menu tlacˇ´ıtka K , hlavnı´ panel konfigurujeme ve volba´ch jeho kontextove´ho menu. Kromeˇ hlavnı´ho panelu mu˚zˇeme vytvorˇit jaky´koliv pocˇet dalsˇ´ıch panelu˚ neˇkolika typu˚, kazˇdy´ z nich mu˚zˇe by´t prˇichycen k neˇktere´mu okraji obrazovky nebo volneˇ plout, lze take´ urcˇit, jake´ rozmeˇry budou panely mı´t a jaky´m zpu˚sobem budou skry´va´ny (existujı´ take´ skry´vacı´ tlacˇ´ıtka). Na hlavnı´m panelu rozlisˇujeme neˇkolik oblastı´. Veˇtsˇina teˇchto oblastı´ nenı´ va´za´na prˇ´ımo na hlavnı´ panel, trˇebazˇe ve vy´chozı´m nastavenı´ tam by´vajı´ umı´steˇny. Kromeˇ tlacˇ´ıtka menu K (obdoby tlacˇ´ıtka Start ve Windows), zobrazenı´ cˇasu a ikon ve slitu (slit je obdoba System Tray – oznamovacı´ oblasti ve Obra´zek 2.1: Prˇida´nı´ appletu do paWindows) zde najdeme naprˇ´ıklad nelu • applety – drobne´ skripty reprezentovane´ veˇtsˇinou ikonou, ktere´ rychle zprˇ´ıstupnˇujı´ naprˇ´ıklad neˇktere´ mozˇnosti nastavenı´, naprˇ´ıklad indikace stavu sı´teˇ, stav baterie, prˇepı´nacˇ kla´vesnice, rychle´ vyhleda´va´nı´ podle obsahu souboru, apod., v kontextove´m menu panelu najdeme polozˇku Prˇidat applet, ktera´ zobrazı´ seznam dostupny´ch appletu˚, • tlacˇ´ıtka aplikacı´ – rychly´ zpu˚sob, jak spustit zvolenou aplikaci, mu˚zˇeme si take´ vyrobit neˇco na zpu˚sob panelu snadne´ho spusˇteˇnı´ ve Windows, tlacˇ´ıtka opeˇt prˇida´va´me pomocı´ kontextove´ho menu (Prˇidat aplikaci do panelu), • prˇepı´nacˇ virtua´lnı´ch ploch – ma´ tolik „oke´nek“, kolik je vytvorˇeny´ch pracovnı´ch ploch (veˇtsˇinou 4, na obra´zku 1.1 na straneˇ 9 jsou pouze dveˇ, pocˇet mu˚zˇeme urcˇit), klepnutı´m na oke´nko neˇktere´ virtua´lnı´ pracovnı´ plochy se na tuto plochu prˇepneme, umı´steˇnı´ aplikace na konkre´tnı´ virtua´lnı´ plochu mu˚zˇeme obvykle urcˇovat prˇes neˇkterou ikonku v jejı´m titulkove´m pruhu, ve skutecˇnosti jde vlastneˇ o applet, • pruh u´loh – oblast, ve ktere´ najdeme tlacˇ´ıtka spusˇteˇny´ch aplikacı´, jsou zobrazena bud’ tlacˇ´ıtka pro vsˇechny, a nebo jen pro ty aplikace, ktere´ jsou na pra´veˇ aktivnı´ virtua´lnı´ plosˇe, a to i ve vı´ce rˇa´dcı´ch (kdyzˇ je panel vysˇsˇ´ı), v prostrˇedı´ GNOME by´va´ tento pruh na spodnı´m okraji obrazovky a vsˇe ostatnı´ na hornı´m okraji obrazovky, atd.
$
P
2.2
PROSTRˇEDI´ KDE
17
Pokud chceme na plosˇe mı´t ikonu neˇktere´ho pameˇt’ove´ho zarˇ´ızenı´, vytvorˇ´ıme ji v kontextove´m menu Vytvorˇit novy´ ï Zarˇ´ızenı´, pak urcˇite´ zarˇ´ızenı´ (naprˇ. pevny´ disk), v zobrazene´m dialogu nesmı´me zapomenout na poslednı´ za´lozˇce urcˇit konkre´tnı´ zarˇ´ızenı´ (trˇeba oddı´l pevne´ho disku). Stejny´m zpu˚sobem vytva´rˇ´ıme ikony pro cokoliv vcˇetneˇ souboru˚.
Obra´zek 2.2: Vlastnosti USB flash disku Veˇtsˇina distribucı´ je nastavena tak, aby se po prˇipojenı´ vy´meˇnne´ho pameˇt’ove´ho me´dia na plosˇe objevila ikona tohoto me´dia. Prˇes kontextove´ menu te´to ikony mu˚zˇeme ovlivnˇovat jeho vlastnosti, jak vidı´me na obra´zku 2.2. Mu˚zˇeme zmeˇnit take´ na´zev zarˇ´ızenı´ zobrazovany´ pod ikonou, zadany´ na´zev pak bude pouzˇit i prˇi kazˇde´m dalsˇ´ım prˇipojenı´ (ovsˇem pouze tohoto me´dia, ru˚zne´ USB disky budou mı´t ru˚zne´ na´zvy). ´ koly U 1. Prˇidejte na hlavnı´ panel applet pro odhla´sˇenı´ a pak dalsˇ´ı applety a tlacˇ´ıtka dle vlastnı´ho vy´beˇru (pak je zase odstranˇte). 2. Vyzkousˇejte prˇepı´nacˇ virtua´lnı´ch ploch – na prvnı´ i druhe´ plosˇe spust’te neˇktere´ programy dle vlastnı´ho vy´beˇru a zjisteˇte, zda podle momenta´lnı´ho nastavenı´ jsou na hlavnı´m panelu zobrazova´na pouze tlacˇ´ıtka aplikacı´ spusˇteˇny´ch na aktivnı´ virtua´lnı´ plosˇe a nebo tlacˇ´ıtka aplikacı´ ze vsˇech ploch. 3. Pohrajte si s nastavenı´m plochy a hlavnı´ho panelu – vyberte jiny´ obra´zek na pozadı´, umı´steˇte hlavnı´ panel na jine´ mı´sto na obrazovce, zmeˇnˇte jeho velikost, atd. 4. Zjisteˇte, jak na plosˇe vytvorˇit obdobu za´stupce souboru, ktere´ho zna´me z Windows. Vytvorˇte na plosˇe za´stupce jake´hokoliv souboru podle vlastnı´ho vy´beˇru. 5. Projdeˇte si konfiguraci menu v tlacˇ´ıtku K . Zajisteˇte, aby v menu byla polozˇka Rychle´ procha´zenı´ a zjisteˇte, jak funguje.
$
2.2
2.2.3
PROSTRˇEDI´ KDE
18
Ovla´dacı´ centrum KDE
Veˇtsˇinu nastavenı´ v prostrˇedı´ KDE lze prova´deˇt na jedine´m mı´steˇ – v Ovla´dacı´m centru KDE (KDE Control Center, Nastavenı´ prostrˇedı´, Environment Settings, apod.). Tuto aplikaci obvykle najdeme v nabı´dce K , nebo ji spustı´me prˇ´ıkazem kcontrol. V leve´m pruhu je seznam voleb, a to bud’ ve formeˇ stromu, a nebo jako seznam (formy zobrazenı´ lze prˇepnout v menu). V ru˚zny´ch jazykovy´ch varianta´ch prostrˇedı´ jsou volby v ru˚zne´m porˇadı´ – podle abecedy. To mu˚zˇe ma´st, pokud strˇ´ıdaveˇ pouzˇ´ıva´me cˇeskou a anglickou variantu.
Obra´zek 2.3: Zmeˇna hesla prˇihla´sˇene´ho uzˇivatele Prvnı´ (v cˇeske´ verzi) jsou volby souvisejı´cı´ s bezpecˇnostı´. Najdeme zde naprˇ´ıklad volbu pro zmeˇnu hesla a dalsˇ´ıch u´daju˚ uzˇivatele (obra´zek 2.3), sˇifrova´nı´, zajisˇteˇnı´ soukromı´ (maza´nı´ neˇktery´ch du˚veˇrny´ch informacı´, obra´zek 2.4 – vsˇimneˇte si, zˇe je zde hodneˇ polozˇek, ´ schovna hektere´ se ty´kajı´ zabezpecˇenı´ webove´ho prohlı´zˇecˇe) a nastavenı´ u´schovny hesel. U sel slouzˇ´ı k bezpecˇne´mu ulozˇenı´ hesel, ktera´ si „nemı´nı´me“ pamatovat, samotna´ u´schovna samozrˇejmeˇ musı´ by´t take´ zabezpecˇena´. Na´sleduje nastavenı´ prˇipojenı´ k internetu a sı´ti obecneˇ – na obra´zku 2.5 vidı´me celou pravou cˇa´st v cˇervene´m ra´mecˇku, to indikuje prˇechod do administra´torske´ho rezˇimu. V pocˇ´ıtacˇi, na ktere´m byl porˇ´ızen obra´zek, je jedna sı´t’ova´ karta (Ethernet) oznacˇena´ jako eth0 (dalsˇ´ı by byla eth1, atd.). Ve vlastnostech karty lze nastavit potrˇebne´ parametry, a to bud’ pro prˇ´ıpad, zˇe IP adresa ma´ by´t zı´ska´na dynamicky z DHCP serveru, a nebo pro prˇ´ıpad, zˇe ma´me vlastnı´ IP adresu se vsˇemi dalsˇ´ımi potrˇebny´mi u´daji. Da´le nastavujeme Komponenty KDE. Jde naprˇ´ıklad o nastavenı´ asociacı´ prˇ´ıpon souboru˚ (obra´zek 2.6), sluzˇeb (tj. de´monu˚), implicitnı´ho e-mailove´ho klienta, WWW prohlı´zˇecˇe, komunika´toru apod. (obra´zek 2.7). V nastavenı´ch asociacı´ prˇ´ıpon souboru˚ si mu˚zˇeme vsˇim-
$
2.2
PROSTRˇEDI´ KDE
19
Obra´zek 2.4: Nastavenı´ soukromı´ prˇihla´sˇene´ho uzˇivatele
Obra´zek 2.5: Nastavenı´ sı´teˇ
2.2
PROSTRˇEDI´ KDE
20
Obra´zek 2.6: Nastavenı´ asociacı´ prˇ´ıpon souboru˚ nout, zˇe vy´bava aplikacemi je dobra´, pro veˇtsˇinu prˇ´ıpon ma´me k dispozici alesponˇ dveˇ aplikace. V nabı´dce Mı´stnı´ zvyklosti a zprˇ´ıstupneˇnı´ na´s zajı´majı´ kla´vesove´ zkratky (obra´zek 2.8), nastavenı´ mozˇny´ch rozvrzˇenı´ kla´vesnice (obra´zek 2.9, take´ mu˚zˇeme urcˇit, zda se na hlavnı´m panelu bude zobrazovat applet pro prˇepı´na´nı´ mezi kla´vesnicemi), ve vstupnı´ch cˇinnostech
Obra´zek 2.7: Nastavenı´ vy´chozı´ch aplikacı´ pro KDE
2.2
PROSTRˇEDI´ KDE
21
Obra´zek 2.8: Nastavenı´ kla´vesovy´ch zkratek urcˇujeme „alternativnı´“ vy´znam kla´ves a gest mysˇi (obra´zek 2.10), a take´ zde nastavujeme forma´t data, cˇ´ısla, peneˇz apod. pro dany´ jazyk (obra´zek 2.11). Da´l tady najdeme nastavenı´ pro zjednodusˇenı´ prˇ´ıstupu postizˇeny´m uzˇivatelu˚m.
Obra´zek 2.9: Nastavenı´ rozvrzˇenı´ kla´vesnice
2.2
PROSTRˇEDI´ KDE
22
Obra´zek 2.10: Vstupnı´ cˇinnosti Ve volbeˇ Perife´rie je nastavenı´ ru˚zny´ch perifernı´ch zarˇ´ızenı´ – fotoapara´tu, joysticku, kla´vesnice, monitoru (obra´zek 2.13), mysˇi, tiska´ren (obra´zek 2.12) a nabı´dky akcı´ pro vy´meˇnna´ u´lozˇna´ zarˇ´ızenı´ (pouzˇije se, pokud naprˇ´ıklad vlozˇ´ıme do mechaniky CD nebo prˇipojı´me USB disk, obra´zek 2.14).
Obra´zek 2.11: Nastavenı´ zobrazenı´ lokalizovany´ch prvku˚
2.2
PROSTRˇEDI´ KDE
23
Obra´zek 2.12: Nastavenı´ tiska´ren
Obra´zek 2.13: Nastavenı´ vlastnostı´ monitoru
2.2
PROSTRˇEDI´ KDE
24
Obra´zek 2.14: Nastavenı´ akcı´ pro u´lozˇna´ zarˇ´ızenı´ Volba Pracovnı´ plocha je cˇa´stecˇneˇ namapova´na do kontextove´ho menu pracovnı´ plochy a objektu˚ na nı´ zobrazeny´ch. Nastavujeme tu chova´nı´ pracovnı´ plochy (ktere´ nabı´dky se zobrazujı´, co se ma´ dı´t prˇi akcı´ch mysˇi, ktere´ ikony souboru˚ a zarˇ´ızenı´ jsou zobrazeny,
Obra´zek 2.15: Chova´nı´ pracovnı´ plochy
2.2
PROSTRˇEDI´ KDE
25
Obra´zek 2.16: Nastavenı´ chova´nı´ oken obra´zek 2.15), jak se majı´ chovat okna na plosˇe (zda se okno zaktivnı´ klepnutı´m mysˇi na oblast okna nebo prˇesunem kurzoru mysˇi nad toto okno, pru˚hlednost oken apod., obra´zek 2.16), vlastnosti jednotlivy´ch panelu˚ (obra´zek 2.17), pruhu u´loh (tam jsou umı´steˇna tlacˇ´ıtka
Obra´zek 2.17: Vlastnosti panelu˚
2.2
PROSTRˇEDI´ KDE
26
Obra´zek 2.18: Specificka´ nastavenı´ oken nebo typu˚ oken spusˇteˇny´ch aplikacı´), specificka´ nastavenı´ oken nebo typu˚ oken (obra´zek 2.18), a pocˇet virtua´lnı´ch ploch. Na´sleduje Spra´va syste´mu. Tuto cˇa´st obvykle pouzˇ´ıva´ spra´vce (root), pro zprˇ´ıstupneˇnı´
Obra´zek 2.19: Spra´vce prˇihla´sˇenı´ – nastavenı´ ukoncˇenı´ cˇinnosti syste´mu
2.2
PROSTRˇEDI´ KDE
27
Obra´zek 2.20: Spra´vce prˇihla´sˇenı´ – uzˇivatele´ voleb je nutno klepnout na tlacˇ´ıtko Administra´torsky´ rezˇim a zadat heslo. Kromeˇ cest k neˇktery´m syste´movy´m souboru˚m mu˚zˇeme ovlivnˇovat nastavenı´ data a cˇasu, spra´vu souborovy´ch syste´mu˚, instalovat pı´sma, urcˇovat, jak ma´ vypadat prˇihlasˇovacı´ dialog – vzhledoveˇ,
Obra´zek 2.21: Spra´vce prˇihla´sˇenı´ – pohodlı´ prˇihla´sˇenı´
2.2
PROSTRˇEDI´ KDE
28
Obra´zek 2.22: Konfigurace sluzˇeb ale take´ komu je povoleno vypnout pocˇ´ıtacˇ a ktery´mi prˇ´ıkazy se ukoncˇ´ı nebo restartuje syste´m (obra´zek 2.19), uzˇivatele´, kterˇ´ı se zobrazı´ na prˇihlasˇovacı´ obrazovce (obra´zek 2.20),
Obra´zek 2.23: Motivy pracovnı´ plochy
2.2
PROSTRˇEDI´ KDE
29
take´ lze povolit automaticke´ prˇihla´sˇenı´ neˇktere´ho uzˇivatele, urcˇit, ktere´ prˇihlasˇovacı´ jme´no bude vy´chozı´ prˇi prˇihlasˇova´nı´ nebo dokonce povolit prˇihlasˇova´nı´ bez hesla (nedoporucˇuje se), volba automaticke´ho znovuprˇihla´sˇenı´ po spadnutı´ X Serveru take´ nenı´ povazˇova´na za bezpecˇnou (obra´zek 2.21).
Obra´zek 2.24: Styl prvku˚ graficke´ho rozhranı´ Ve Spra´veˇ syste´mu se take´ konfigurujı´ sluzˇby (de´mony) – obra´zek 2.22. Ma´me vı´ce mozˇnostı´ nezˇ v obdobne´ soucˇa´sti modulu Komponenty KDE, kromeˇ prˇ´ıstupu k veˇtsˇ´ımu mnozˇstvı´ sluzˇeb a jejich popisu take´ lze pracovat s jednotlivy´mi u´rovneˇmi beˇhu syste´mu (jednouzˇivatelsky´, vı´ceuzˇivatelsky´, restartovat, apod.). Modul Spra´va uzˇivatelu˚ (User Management) slouzˇ´ı ke spra´veˇ uzˇivatelu˚ a skupin. Kazˇdy´ uzˇivatel ma´ prˇirˇazenu jednu prima´rnı´ (hlavnı´) skupinu, a mu˚zˇe by´t cˇlenem jake´hokoliv pocˇtu dalsˇ´ıch skupin. Na´sledujı´cı´ modul Windows Applications je urcˇen ke konfiguraci podsyste´mu Wine, ve ktere´m beˇzˇ´ı Windows aplikace. Ve volbeˇ Vzhled a motivy najdeme vy´beˇr motivu˚ urcˇujı´cı´ch hlavnı´ te´ma vzhledu prostrˇedı´ (obra´zek 2.23), vybrany´ motiv pak lze da´le upravovat pouzˇitı´m dalsˇ´ıch modulu˚ te´to nabı´dky (Barvy, Dekorace oken apod.). V modulu Styl pak nastavı´me vzhled beˇzˇny´ch graficky´ch prvku˚ jako jsou tlacˇ´ıtka, za´lozˇky, prˇepı´nacı´ tlacˇ´ıtka nebo rolovacı´ lisˇty (obra´zek 2.24) vcˇetneˇ ru˚zny´ch efektu˚, v dalsˇ´ıch modulech urcˇujeme sˇetrˇicˇ obrazovky a vzhled u´vodnı´ obrazovky (nenı´ tote´zˇ jako prˇihlasˇovacı´ obrazovka, jde o motiv, ktery´ se zobrazuje prˇi spousˇteˇnı´ prostrˇedı´ KDE). V modulu Zvuk a multime´dia konfigurujeme vsˇe, co souvisı´ se zvukem, vcˇetneˇ nastavenı´ zvukove´ho syste´mu (obra´zek 2.25), a take´ zpu˚sob, jaky´m jsme informova´ni o syste´movy´ch uda´lostech.
2.2
PROSTRˇEDI´ KDE
30
Obra´zek 2.25: Nastavenı´ zvukove´ho syste´mu ´ koly U 1. Spust’te Ovla´dacı´ centrum KDE a projdeˇte postupneˇ vsˇechny na´stroje v neˇm obsazˇene´. 2. Vymazˇte historii spousˇteˇnı´ prˇ´ıkazu˚, cookies a za´znamy vyplnˇova´nı´ formula´rˇu˚ na webovy´ch stra´nka´ch. 3. Zjisteˇte, kolik je ve vasˇem pocˇ´ıtacˇi sı´t’ovy´ch karet a zda ma´te pevnou IP adresu cˇi prˇideˇlovanou DHCP serverem. 4. Najdeˇte v Ovla´dacı´m centru nastavenı´ webove´ho prohlı´zˇecˇe a projdeˇte si je. 5. Zjisteˇte, ktere´ aplikace jsou pouzˇ´ıva´ny prˇi zpracova´nı´ souboru˚ s prˇ´ıponami DOC, ODT, BMP, PNG, RTF, CSS, HTML, SH. 6. Zjisteˇte, jaka´ rozlozˇenı´ (rozvrzˇenı´) kla´vesnice jsou dostupna´. Pokud je jenom jedno, nastavte druhe´ (tak, aby bylo jedno cˇeske´ a jedno anglicke´). Da´le zjisteˇte, ktera´ kla´vesova´ zkratka se pouzˇ´ıva´ pro prˇepı´na´nı´ mezi ru˚zny´mi rozlozˇenı´mi. 7. Zkontrolujte, jak je nastaveno forma´tova´nı´ data a cˇasu, peneˇz, cˇ´ısel apod. – podle ktere´ho jazyka. 8. Najdeˇte seznam tiska´ren, ktere´ jsou nainstalova´ny. Ktere´ z nich jsou virtua´lnı´ (tj. neposı´lajı´ data na fyzickou tiska´rnu, ale tisknou do souboru s prˇ´ıponou PDF nebo jinou)? Kde se dostanete k tiskovy´m fronta´m? 9. Zjisteˇte, jake´ je nastavene´ rozlisˇenı´ obrazovky a obnovovacı´ frekvence. Kde se nastavuje u´sporny´ rezˇim?
2.2
PROSTRˇEDI´ KDE
31
10. Podı´vejte se, jak jsou nastaveny akce pro u´lozˇna´ zarˇ´ızenı´ – naprˇ´ıklad co se stane, kdyzˇ do mechaniky vlozˇ´ıme CD. 11. Zjisteˇte, jak lze nastavit akce prˇi klepnutı´ jednotlivy´mi tlacˇ´ıtky mysˇi na plosˇe. 12. Zkontrolujte, zda se na plosˇe majı´ zobrazit ikony prˇipojeny´ch vy´meˇnny´ch zarˇ´ızenı´ (prˇedevsˇ´ım USB flash disku˚). Pokud ma´te takove´to zarˇ´ızenı´ po ruce, vyzkousˇejte, zda nastavenı´ funguje. Po prˇipojenı´ pak pomocı´ ikony na plosˇe toto zarˇ´ızenı´ odpojte. 13. Nastavte chova´nı´ oken tak, aby se okno aktivovalo jizˇ prˇi prˇejetı´ mysˇ´ı prˇes toto okno. Jak je nastavena pru˚hlednost oken? 14. Zmeˇnˇte pocˇet virtua´lnı´ch ploch a oveˇrˇte si, zda se zmeˇnil applet pro virtua´lnı´ plochy na hlavnı´m panelu. 15. Zjisteˇte, ktere´ sluzˇby pra´veˇ beˇzˇ´ı. 16. Pohrajte si s motivy pracovnı´ plochy a dalsˇ´ımi polozˇkami k nim vztazˇeny´mi. Pak vsˇe vrat’te do pu˚vodnı´ho stavu :-).
2.2.4
Informacˇnı´ centrum
V na´stroji Informacˇnı´ centrum prˇedevsˇ´ım zı´ska´va´me informace o cˇemkoliv, co souvisı´ se stavem syste´mu. Mnohe´ ze zde uvedeny´ch informacı´ jsou zı´ska´va´ny z adresa´rˇe /proc. Tento adresa´rˇ je velmi du˚lezˇity´m informacˇnı´m zdrojem (obsahuje vesˇkere´ beˇhove´ informace o syste´mu a procesech, v prˇ´ısˇtı´m semestru se mu budeme hodneˇ veˇnovat), ovsˇem informace v tomto adresa´rˇi jsou prakticky nezforma´tovane´ a proto hu˚rˇe cˇitelne´ zvla´sˇteˇ pro laika. Proto existujı´ aplikace (vcˇetneˇ Informacˇnı´ho centra) zobrazujı´cı´ potrˇebne´ informace v „cˇitelneˇjsˇ´ı podobeˇ“. Na obra´zcı´ch 2.26, 2.27 a 2.28 viObra´zek 2.26: Informace o zarˇ´ızenı´ch dı´me informace o zarˇ´ızenı´ch (jejich specia´lnı´ch souborech slouzˇ´ıcı´ch pro komunikaci se zarˇ´ızenı´mi), strukturˇe operacˇnı´ pameˇti a vyuzˇ´ıvany´ch komunikacˇnı´ch protokolech (zobrazeny´ protokol fish je implementace protokolu SSH).
$
2.2
PROSTRˇEDI´ KDE
32
Obra´zek 2.27: Informace o vyuzˇitı´ pameˇti
Obra´zek 2.28: Informace o komunikacˇnı´ch protokolech
2.2
2.2.5
PROSTRˇEDI´ KDE
33
Dalsˇı´ na´stroje
V prostrˇedı´ KDE existujı´ take´ na´stroje, ktere´ nejsou prˇ´ımo prˇ´ıstupne´ prˇes Ovla´dacı´ centrum. Najdeme je bud’ v kontextove´m nebo hlavnı´m menu aplikacı´, a nebo v nabı´dce K .
Obra´zek 2.29: Vyuzˇitı´ Konqueroru jako rozhranı´ k neˇktery´m konfiguracˇnı´m na´stroju˚m Jak uzˇ vı´me, spra´vcem souboru˚ a za´rovenˇ internetovy´m prohlı´zˇecˇem je Konqueror (ale v jiny´ch distribucı´ch to mu˚zˇe by´t i jiny´ program, naprˇ´ıklad Dolphin). Pro konfiguraci tohoto programu existuje modul v Ovla´dacı´m centru, ale samotny´ Konqueror mu˚zˇe take´ slouzˇit jako prˇ´ıstupove´ rozhranı´ ke konfiguracˇnı´m na´stroju˚m. Na obra´zku 2.29 vidı´me zpu˚sob
Obra´zek 2.30: Centrum na´poveˇdy KDE
$
2.2
PROSTRˇEDI´ KDE
34
Obra´zek 2.31: Schra´nka Klipper a na´stroj pro za´lohova´nı´ Keep pouzˇitı´ – do adresnı´ho rˇa´dku napı´sˇeme settings:/ . Takto vyuzˇ´ıva´me tzv. KIO protokoly (nebo ovladacˇe) pracujı´cı´ pouze v uzˇivatelske´m rezˇimu (nepotrˇebujı´ beˇzˇet v rezˇimu ja´dra). Kromeˇ protokolu settings existujı´ i dalsˇ´ı KIO protokoly, naprˇ´ıklad system. Du˚lezˇity´m na´strojem je Centrum na´poveˇdy. Na obra´zku 2.30 vidı´me na´poveˇdu k manua´lovy´m stra´nka´m prˇ´ıkazu˚ textove´ho shellu. V na´poveˇdeˇ lze take´ vyhleda´vat podle klı´cˇovy´ch slov. V tomto na´stroji najdeme prˇedevsˇ´ım na´poveˇdu pro aplikace, ktere´ jsou soucˇa´stı´ KDE (stra´nky na´poveˇdy majı´ standardizovany´ forma´t), ale take´ neˇktere´ polozˇky nety´kajı´cı´ se tohoto prostrˇedı´ (jak ostatneˇ vidı´me na obra´zku 2.30).
Obra´zek 2.32: Stra´zˇce syste´mu KDE – sledova´nı´ syste´move´ho zatı´zˇenı´
P
2.2
PROSTRˇEDI´ KDE
35
Obra´zek 2.33: Stra´zˇce syste´mu KDE – sledova´nı´ procesu˚ KDE aplikace mohou take´ komunikovat prostrˇednictvı´m schra´nky, ktera´ je zastoupena´ aplikacı´ Klipper – viz obra´zek 2.31 vlevo. Kdykoliv v aplikaci patrˇ´ıcı´ do prostrˇedı´ KDE zvolı´me v menu volbu pro kopı´rova´nı´ nebo pouzˇijeme prˇ´ıslusˇnou kla´vesovou zkratku, kopı´rovana´ data jsou odesla´na aplikaci Klipper. Opeˇt jaka´koliv KDE aplikace tato data
Obra´zek 2.34: Stra´zˇce syste´mu KDE – vytvorˇenı´ vlastnı´ho modulu
$
2.2
PROSTRˇEDI´ KDE
36
mu˚zˇe vlozˇit. Do panelu pak mu˚zˇeme prˇidat applet, ktery´ sleduje obsah schra´nky, jak vidı´me na obra´zku 2.31. Na obra´zku 2.31 vpravo je dalsˇ´ı uzˇitecˇny´ na´stroj, za´lohovacı´ program Keep, ke ktere´mu se dostaneme obvykle prˇes neˇkterou z voleb menu K . Jak vidı´me, za´lohova´nı´ je ´ koly souvisejı´cı´ pra´veˇ vypnuto (pozna´me to podle cˇervene´ kontrolky a na´pisu vedle nı´). U se za´lohova´nı´m prova´dı´ de´mon keepd (de´mony jsou ekvivalentem sluzˇeb ve Windows). Ze za´kladnı´ho rozhranı´ ma´me prˇ´ıstup k nejdu˚lezˇiteˇjsˇ´ım volba´m – urcˇenı´ za´lohovany´ch objektu˚, spusˇteˇnı´ za´lohy, obnovenı´ ze za´lohy. V menu K najdeme i dalsˇ´ı na´stroje, naprˇ´ıklad jizˇ drˇ´ıve zminˇovane´ho Stra´zˇce syste´mu KDE (ksysguard). Neˇktere´ moduly tohoto na´stroje jsou jizˇ prˇedem vytvorˇeny – sledova´nı´ procesoru a pameˇti (obra´zek 2.32) a sledova´nı´ procesu˚ (obra´zek 2.33), ale mu˚zˇeme vytvorˇit dalsˇ´ı za´lozˇky s vlastnı´mi moduly (obra´zek 2.34). Doporucˇuje se zvolit vhodny´ na´zev pro za´lozˇku, abychom veˇdeˇli, co je vlastneˇ sledova´no, protozˇe pro jednotlive´ grafy jsou automaticky voleny zkra´cene´ na´zvy.
$
$
Novou za´lozˇku vytvorˇ´ıme pomocı´ menu, na za´lozˇku pak mysˇ´ı prˇeta´hneme vybrane´ senzory. Prˇi prˇetahova´nı´ za´rovenˇ urcˇujeme, jak majı´ by´t sledovana´ data zobrazovana´. Kromeˇ beˇzˇne´ho grafu to naprˇ´ıklad mu˚zˇe by´t i sloupec, jehozˇ maxima´lnı´ hodnotu stanovı´me (jako na obra´zku 2.34 vpravo dole pro sledova´nı´ pocˇtu spusˇteˇny´ch procesu˚). Pla´nova´nı´ spousˇteˇnı´ procesu˚ prova´deˇjı´ v Linuxu de´mony atd (jednora´zove´ spusˇteˇnı´ procesu v danou dobu, ovla´da´ se prˇ´ıkazem at) a crond (velmi komplexnı´, take´ mozˇnost pravidelne´ho spousˇteˇnı´, ovla´da´ se prˇ´ıkazem cron a tzv. cron tabulkami). Pro cron existuje v KDE take´ graficky´ na´stroj – KCron (obra´zek 2.36). Mnohe´ distribuce doda´vajı´ za´rovenˇ s KDE dalsˇ´ı konfiguracˇnı´ na´stroje, ktere´ jsou pro danou distribuci vyladeˇny a obvykle vı´ce-me´neˇ zapadajı´ do prostrˇedı´ KDE. Naprˇ´ıklad v distribuci Mandriva obvykle na- Obra´zek 2.35: Spra´va oddı´lu˚ v Ovla´dacı´m centru jdeme Ovla´dacı´ centrum Mandriva Mandriva Linuxu Linuxu (drakconf) – hlavnı´ rozhranı´ programu je na obra´zku 2.37, na obra´zku 2.35 je jeho soucˇa´st na spra´vu oddı´lu˚ (diskdrake).
$
2.2
PROSTRˇEDI´ KDE
Obra´zek 2.36: Graficke´ rozhranı´ programu cron v KDE – KCron
Obra´zek 2.37: Ovla´dacı´ centrum Mandriva Linuxu ´ koly U 1. Zjisteˇte stav obsazenı´ operacˇnı´ pameˇti. 2. Najdeˇte informace o procesoru. 3. Zjisteˇte informace o protokolech ftp, file a finger.
37
2.3
PROSTRˇEDI´ GNOME
38
4. Projdeˇte si KHelpCenter (Centrum na´poveˇdy KDE). 5. Pokud nenı´ na hlavnı´m panelu tlacˇ´ıtko aplikace Klipper, umı´steˇte jej tam. Vyzkousˇejte schra´nku – otevrˇete neˇktery´ textovy´ editor patrˇ´ıcı´ do prostrˇedı´ KDE, napisˇte jaky´koliv text a zkopı´rujte do schra´nky. Prohle´dneˇte si nastavenı´ Klipperu. 6. Najdeˇte ve sve´ distribuci na´stroje, kde mu˚zˇete prohlı´zˇet nastavenı´ hardwaru a prova´deˇt konfiguraci nastavenı´ specia´lnı´ch souboru˚ (naprˇ. pro kla´vesnici), definovat prˇipojenı´ k Internetu (IP adresu apod.), pracovat s prˇ´ıpojny´mi body k pameˇt’ovy´m zarˇ´ızenı´m, apod. (v Mandrake je to Ovla´dacı´ centrum Mandrake). Tyto na´stroje si du˚kladneˇ projdeˇte. 7. Vyzkousˇejte kla´vesovou zkratku Ctrl+Esc . Zobrazı´ se Stra´zˇce syste´mu obdobny´ Spra´vci u´loh ve Windows. Prohle´dneˇte si seznam procesu˚, ktery´ je v tomto na´stroji zobrazen. Vyzkousˇejte stromove´ i rˇa´dkove´ usporˇa´da´nı´. Zjisteˇte, ktere´ sloupce jsou zobrazeny, jak procesy podle neˇktere´ho sloupce serˇadit a jak urcˇit, ktere´ sloupce majı´ by´t uvedeny. 8. Ve Stra´zˇci syste´mu vytvorˇte vlastnı´ za´lozˇku s neˇkolika moduly dle sve´ho uva´zˇenı´. 9. Najdeˇte kalkulacˇku, na´stroj pro vypalova´nı´ CD/DVD, jednoduchy´ textovy´ editor.
2.3
Prostrˇedı´ GNOME
GNOME (GNU Network Object Model Environment) je dalsˇ´ı oblı´bene´ prostrˇedı´ pro Linux. Je o neˇco strˇ´ızliveˇjsˇ´ı nezˇ KDE, me´neˇ vybavene´, ale o to prˇehledneˇjsˇ´ı, ma´ obecneˇ mensˇ´ı na´roky na hardware.
P
Na jednom pocˇ´ıtacˇi mu˚zˇe by´t (a taky cˇasto by´va´) instalova´no vı´ce prostrˇedı´. Pokud ma´me jako vy´chozı´ KDE a chceme vyzkousˇet GNOME, obvykle stacˇ´ı najı´t na prˇihlasˇovacı´ obrazovce prˇ´ıstup k volba´m (by´va´ to rozbalovacı´ seznam nebo tlacˇ´ıtko, podle konkre´tnı´ho nastavenı´) a tam zvolit prˇ´ıslusˇnou polozˇku.
2.3.1
Pracovnı´ plocha
Podobneˇ jako u KDE, take´ GNOME je sˇiroce konfigurovatelne´, i co se ty´cˇe vzhledu a vybavenosti aplikacemi. Proto na´sledujı´cı´ text o GNOME je trˇeba bra´t jen jako vodı´tko, na kazˇde´m pocˇ´ıtacˇi se zrˇejmeˇ setka´me s neˇcˇ´ım jiny´m. Na obra´zku 2.38 vidı´me, jak mu˚zˇe GNOME vypadat. Hlavnı´ panel je nahorˇe, na tomto panelu najdeme (zleva) tlacˇ´ıtka hlavnı´ho menu prostrˇedı´ a pak tzv. spousˇteˇcˇe aplikacı´ a applety. Ikonu Firefoxu hned za zkratkou pro cˇesˇtinu (prˇepı´na´nı´ kla´vesnice) urcˇiteˇ kazˇdy´ pozna´, na´sleduje prˇ´ıstup k sı´ti, spousˇteˇcˇ mail klienta Evolution, nastavenı´ hlasitosti, ikona pro spusˇteˇnı´ na´poveˇdy , da´le panel s datem, cˇasem a prˇ´ıstupem k jednoduche´mu kalenda´rˇi, na´sleduje ikona programu monitorujı´cı´ho syste´m (klepnutı´m nebo poklepa´nı´m se
P
2.3
PROSTRˇEDI´ GNOME
39
Obra´zek 2.38: Prostrˇedı´ GNOME zobrazı´ okno programu), a dalsˇ´ı. Na spodnı´m panelu je ikona pro minimalizaci zobrazeny´ch oken, vpravo pak prˇ´ıstup ke kosˇi a prˇepı´nacˇ virtua´lnı´ch ploch (je nastavena jen jedna). Na volne´m mı´steˇ se zobrazujı´ tlacˇ´ıtka spusˇteˇny´ch aplikacı´ (zrovna zˇa´dna´ nenı´ spusˇteˇna). Opeˇt platı´, zˇe v graficke´m prostrˇedı´ pouzˇ´ıva´me pro za´kladnı´ konfiguraci prave´ tlacˇ´ıtko mysˇi. Takto nastavujeme vzhled pracovnı´ plochy (vcˇetneˇ motivu˚) a take´ vlastnosti panelu˚ a jednotlivy´ch ikon na nich.
$
Na obra´zku 2.39 je okno, ktere´ se zobrazı´ na pozˇadavek Prˇidat na panel v kontextove´m menu panelu. Obra´zek na pozadı´ pracovnı´ plochy zmeˇnı´me v kontextove´m menu pracovnı´ plochy, polozˇka Zmeˇnit pozadı´. Zobrazı´ se okno se za´lozˇkami, ve ktere´m mu˚zˇeme nejen zmeˇnit pozadı´, ale nastavit i ostatnı´ souvisejı´cı´ vlastnosti. Tento na´stroj mu˚zˇeme spustit take´ prˇ´ıkazem gnome-appearance-properties. Obra´zek 2.39: Prˇida´nı´ appletu na panel v GNOME
2.3
PROSTRˇEDI´ GNOME
40
Obra´zek 2.40: Nastavenı´ vzhledu plochy, na´stroj Prˇedvolby vzhledu Obvykle postupujeme tak, zˇe nejdrˇ´ıv urcˇ´ıme motiv (na prvnı´ za´lozˇce, vidı´me na obra´zku 2.40 vlevo), upravı´me ho podle svy´ch prˇedstav (po klepnutı´ na tlacˇ´ıtko Upravit se zobrazı´ okno, ve ktere´m mu˚zˇeme urcˇit vzhled ovla´dacı´ch prvku˚, tvar a barvu okraje oken, ikony apod.) a pak vzhled uprˇesnı´me na ostatnı´ch za´lozˇka´ch vcˇetneˇ nastavenı´ efektu˚. Vsˇimneˇte si, zˇe v okneˇ na obra´zku 2.40 nenı´ nikde tlacˇ´ıtko OK ani Zpeˇt – vsˇechny zmeˇny se hned prova´deˇjı´. V prostrˇedı´ GNOME je tento prˇ´ıstup pomeˇrneˇ cˇasty´, meˇli bychom si tedy da´vat pozor, co deˇla´me (v tomto prˇ´ıpadeˇ se proble´my neprˇedpokla´dajı´, ale u jiny´ch programu˚ se zmeˇny vracejı´ hu˚rˇe). Panely lze samozrˇejmeˇ prˇesouvat mysˇ´ı, vytva´rˇet nove´ (v kontextove´m menu neˇktere´ho panelu zvolı´me Novy´ panel, vytvorˇeny´ panel pak prˇesuneme tam, kde ho potrˇebujeme, v jeho Vlastnostech nastavı´me vzhled a pak beˇzˇny´m zpu˚sobem prˇida´me spousˇteˇcˇe a applety, ktere´ chceme) nebo take´ odstranit. V kontextove´m menu plochy (i jinde) najdeme volby pro prˇida´nı´ novy´ch prvku˚ na plochu – mu˚zˇeme vytvorˇit novou slozˇku, spousˇteˇcˇ nebo dokument. Dokument mu˚zˇe by´t bud’ pra´zdny´ soubor (prˇ´ıponu pak urcˇ´ıme prˇi pojmenova´nı´) nebo soubor s obsahem podle dane´ho typu (v prˇ´ıpadeˇ, zˇe jsou nainstalova´ny prˇ´ıslusˇne´ sˇablony). Spousˇteˇcˇ je zkratka pro spusˇteˇnı´ neˇktere´ aplikace nebo otevrˇenı´ souboru cˇi adresa´rˇe, obdoba za´stupcu˚ ve Windows. Obra´zek 2.41: Mı´sta v hlavKazˇdy´ prvek (i ikona na plosˇe) mu˚zˇe mı´t prˇirˇazen tzv. nı´m menu emble´m. Jedna´ se o jakousi grafickou pozna´mku, ktera´ se po
P
2.3
PROSTRˇEDI´ GNOME
41
prˇideˇlenı´ prˇ´ıslusˇne´ho emble´mu zobrazuje jako maly´ obra´zek u ikony (dokument, foto, web, du˚lezˇity´, oblı´beny´, novy´, apod.). Emble´my prˇirˇazujeme na za´lozˇce Emble´my ve Vlastnostech prvku. Hlavnı´ menu plochy (ke ktere´mu se dostaneme podle obra´zku 2.38 vlevo nahorˇe) je vlastneˇ jeden z appletu˚. Mu˚zˇe by´t umı´steˇno kdekoliv, take´ na ktere´mkoliv panelu. Ma´me zde trˇi za´kladnı´ polozˇky – Aplikace, Mı´sta a Syste´m (mu˚zˇe se take´ jmenovat Prostrˇedı´). Aplikace je cˇa´st pro prˇ´ıstup k aplikacı´m, tato polozˇka by´va´ u beˇzˇny´ch uzˇivatelu ˚ nejpou-
zˇ´ıvaneˇjsˇ´ı, aplikace jsou trˇ´ıdeˇny do kategoriı´ (to ostatneˇ vidı´me na obra´zku 2.38). Mı´sta veˇtsˇinou pouzˇ´ıva´me, kdyzˇ pracujeme se soubory, chceme se dostat do sve´ho domovske´ho adresa´rˇe, ke svy´m dokumentu˚m nebo k mı´stu˚m souvisejı´cı´m s vy´meˇnny´mi pameˇt’ovy´mi me´dii (CD/DVD, USB flash disk, apod.) nebo se sı´tı´. Syste´m (Prostrˇedı´) poskytuje prˇ´ıstup k syste´movy´m nastavenı´m, a to pro administra´tora
i beˇzˇne´ho uzˇivatele.
Obra´zek 2.42: Souborovy´ manazˇer Nautilus v GNOME ´ koly U 1. Nastavte vzhled prostrˇedı´ (motiv, obra´zek na pozadı´, atd.) podle sve´ho uva´zˇenı´, pak se pokuste vra´tit prostrˇedı´ do pu˚vodnı´ho stavu (v tak velke´ mı´rˇe, jak se va´m to podarˇ´ı). 2. Zjisteˇte, jake´ applety a spousˇteˇcˇe jsou pra´veˇ aktivnı´ na vasˇem pocˇ´ıtacˇi. Vyberte si ktery´koliv z appletu˚, ktere´ nejsou aktivnı´ (tj. nejsou zobrazeny na zˇa´dne´m panelu) a umı´steˇte ho do prave´ cˇa´sti panelu s hlavnı´m menu.
$
2.3
PROSTRˇEDI´ GNOME
42
3. Zjisteˇte, zda neˇktery´ z appletu˚ a spousˇteˇcˇu˚ lze konfigurovat (naprˇ´ıklad v kontextove´m menu) a jestli se po poklepa´nı´ na neˇj zobrazı´ prˇidruzˇena´ aplikace (tak to funguje naprˇ´ıklad u na´stroje Sledova´nı´ syste´mu). 4. Vytvorˇte novy´ panel. Prˇesunˇte ho k leve´mu okraji obrazovky, nastavte mu neˇkterou vhodnou barvu s pru˚hlednostı´ 50 %. Na panel pak umı´steˇte alesponˇ trˇi applety nebo spousˇteˇcˇe podle vlastnı´ho vy´beˇru. 5. Vyzkousˇejte, co vsˇe lze vytvorˇit na pracovnı´ plosˇe pomocı´ kontextove´ho menu. Vytvorˇte spousˇteˇcˇ pro adresa´rˇ Dokumenty z vasˇeho domovske´ho adresa´rˇe. Pak tomuto spousˇteˇcˇi (jeho ikoneˇ) prˇideˇlte neˇktery´ emble´m. 6. Projdeˇte si hlavnı´ menu a zjisteˇte, ktere´ aplikace jsou nainstalova´ny. Zkuste spustit kalkulacˇku a neˇktery´ jednoduchy´ textovy´ editor. 7. Pomocı´ hlavnı´ho menu spust’te souborovy´ manazˇer a prohle´dneˇte si obsah sve´ho domovske´ho adresa´rˇe. Zjisteˇte, jak lze urcˇovat zpu˚sob zobrazenı´ souboru˚ a jak se nastavuje zobrazova´nı´ skryty´ch souboru˚.
2.3.2
Ovla´dacı´ centrum
Take´ prostrˇedı´ GNOME ma´ sve´ Ovla´dacı´ centrum. Spousˇtı´ se bud’ v hlavnı´m menu prˇes polozˇku Syste´m ï Ovla´dacı´ centrum, a nebo prˇ´ıkazem gnome-control-center. Okno na´stroje vidı´me na obra´zku 2.44.
$
Ovla´dacı´ centrum mu˚zˇe (ale nemusı´) by´t cˇleneˇno do skupin, mezi ktery´mi se lze rychle prˇesouvat pomocı´ seznamu v leve´ cˇa´sti okna. Klepnutı´m nebo poklepa´nı´m (podle nastavenı´ prostrˇedı´) lze spustit jednotlive´ na´stroje, ktere´ jsou zde zprˇ´ıstupneˇny. Neˇktere´ vyzˇadujı´ zada´nı´ hesla (obvykle zada´va´me sve´ vlastnı´ heslo). Nynı´ se podı´va´me na neˇktere´ z na´stroju˚ v Ovla´dacı´m centru. V prvnı´ skupineˇ, Osobnı´, veˇtsˇinou najdeme na´stroje, ke ktery´m lze prˇistupovat i bez hesla. Jejich funkce je zrˇejma´ uzˇ z na´zvu, snad azˇ na Sezenı´ (obra´zek 2.43). Pojem „sezenı´ “ (relace) oznacˇuje souhrn nastavenı´ souvisejı´cı´ch s prˇihla´sˇenı´m a na´slednou pracı´ v syste´mu pro jednoho konkre´tnı´ho uzˇivatele. V tomto na´stroji mu˚zˇeme urcˇit naprˇ´ıklad programy, ktere´ se spustı´ prˇi prˇihla´sˇenı´ uzˇivatele a pobeˇzˇ´ı azˇ do konce jeho relace nebo sve´ho ukoncˇenı´. Pomocı´ na´stroje O mneˇ si mu˚zˇeme take´ zmeˇnit heslo nebo urcˇit neˇktere´ du˚lezˇite´ osobnı´ u´daje. Takte´zˇ skupina Vzhled a chova´nı´ je zrˇejma´. Ma´me zde prˇ´ıstup k nastavenı´ vzhledu prostrˇedı´, a take´ tady naObra´zek 2.43: Nastavenı´ relace jdeme na´stroj pro konfiguraci hlavnı´ho menu (obra´zek uzˇivatele
P
2.3
PROSTRˇEDI´ GNOME
Obra´zek 2.44: Ovla´dacı´ centrum GNOME
Obra´zek 2.45: Konfigurace hlavnı´ho menu prostrˇedı´ – Alacarte
43
2.3
PROSTRˇEDI´ GNOME
44
Obra´zek 2.46: Nastavenı´ opra´vneˇnı´ uzˇivatelu˚ a procesu˚ 2.45), ktery´ lze spustit take´ prˇ´ıkazem alacarte. Skupiny Internet a sı´t’ a Hardware podle ocˇeka´va´nı´ obsahujı´ na´stroje pro konfiguraci hardwaru a sı´teˇ. Zajı´mave´ na´stroje najdeme ve skupineˇ Syste´m. Veˇtsˇinou budou vyzˇadovat heslo. Neˇktere´ na´stroje jsou zameˇrˇeny na zajisˇteˇnı´ bezpecˇnosti, naprˇ´ıklad Opra´vneˇnı´ (obra´zek 2.46, jde o program polkit-gnome-authorization, neˇkdy neby´va´ nainstalova´n) nebo Editor pro omezenı´ pra´v uzˇivatele (obra´zek 2.47). Dalsˇ´ı na´stroje v te´to skupineˇ majı´ kontrolnı´ funkci, naprˇ´ıklad Sledova´nı´ syste´mu (obra´zek 2.48, prˇ´ıkaz gnome-system-monitor), kde ma´me prˇ´ıstup ke spusˇteˇny´m procesu˚m (vcˇetneˇ informacı´ o procesu), stavu syste´mu, vyuzˇ´ıvany´m zdroju˚m (obra´zek 2.49 vpravo) a souborovy´m syste´mu˚m. U ktere´hokoliv procesu ma´me mozˇnost zjistit, ktere´ soubory ma´ otevrˇeny (obra´zek 2.49 vlevo). Neˇktere´ na´stroje neprˇ´ımo souvisejı´ s nastavenı´m prostrˇedı´, ale vyzˇadujı´ zada´nı´ hesla. Jsou to naprˇ´ıklad Jazykova´ podpora a Prˇedvolby prˇihlasˇovacı´ obrazovky (oba na´stroje vidı´me na obra´zku 2.50). Je pravdeˇpodobne´, zˇe v Ovla´dacı´m centru najdeme take´ na´stroj na testova´nı´ hardwaru. Jde o pru˚vodce, ktery´ proveˇrˇ´ı hardware pocˇ´ıtacˇe (kla´vesnice, mysˇ, graficka´ karta apod.), postupneˇ vypisuje zjisˇteˇne´ typy komponent a pak odesˇle zpra´vu na zadanou e-mailovou adresu. Tento na´stroj vyuzˇijeme naprˇ´ıklad tehdy, kdyzˇ neˇktera´ z komponent nefunguje spra´vneˇ nebo chceme zjistit, ktery´ ovladacˇ budeme pro komponentu potrˇebovat.
2.3
PROSTRˇEDI´ GNOME
45
Obra´zek 2.47: Na´stroj Editor pro omezenı´ pra´v uzˇivatele
Obra´zek 2.48: Sledova´nı´ syste´mu
2.3
PROSTRˇEDI´ GNOME
46
Obra´zek 2.49: Prˇ´ıstup k syste´movy´m zdroju˚m vcˇetneˇ otevrˇeny´ch souboru˚ Mohou by´t instalova´ny i dalsˇ´ı na´stroje souvisejı´cı´ se spra´vou hardwaru, naprˇ´ıklad Spra´vce disku˚, ve ktere´m ma´me mozˇnost zjistit potrˇebne´ informace o discı´ch (nejen pevny´ch). Na obra´zku 2.51 je zobrazena informace o pevne´m disku, na ktere´m jsou nainstalova´ny dva operacˇnı´ syste´my – Windows Vista (na oddı´lu 2) a Debian Linux (oddı´l 6). Jak vidı´me, na oddı´lu s Windows Vista je souborovy´ syste´m NTFS.
Obra´zek 2.50: Nastavenı´ jazyku˚ a prˇihlasˇovacı´ obrazovky
2.3
PROSTRˇEDI´ GNOME
47
Obra´zek 2.51: Zjisˇteˇnı´ informacı´ o disku ve Spra´vci disku˚ Z konfiguracˇnı´ch na´stroju˚ se mu˚zˇe hodit take´ prˇ´ıstup ke sluzˇba´m (obra´zek 2.53, vidı´me take´ vy´zvu k zada´nı´ hesla), Spra´vu napa´jenı´ (obra´zek 2.54 – na notebooku) nebo trˇeba Sı´t’ove´ na´stroje (obra´zek 2.52). V okneˇ pro sı´t’ove´ na´stroje vidı´me, zˇe na pocˇ´ıtacˇi (notebooku) ma´me jednu ethernetovou kartu (eth0) a da´le zarˇ´ızenı´ loopback, ktere´ slouzˇ´ı jako „zpeˇtna´ smycˇka“ pro prˇ´ıstup k te´muzˇ pocˇ´ıtacˇi stejny´m zpu˚sobem jako k sı´ti. Prˇi spra´veˇ softwaru se pouzˇ´ıvajı´ na´stroje Zdroje softwaru (urcˇ´ıme, odkud – ze ktery´ch repozita´rˇu˚ – se majı´ programy instalovat) a Spra´vce balı´cˇku˚ Synaptic (prˇes ten urcˇujeme, co se ma´ nainstalovat, tedy prˇistupujeme do repozita´rˇu˚). Najdeme zde i na´stroj pro rˇ´ızenı´ aktualizacı´, ale aktualizace mu˚zˇeme spousˇteˇt take´ z programu Synaptic. Instalacı´ a aktualizacı´ programu˚ se budeme zaby´vat pozdeˇji.
Obra´zek 2.52: Konfigurace sı´teˇ
´ koly U 1. Zjisteˇte, jaka´ rozlozˇenı´ kla´vesnice jsou zvolena. Pokud je jen jedno, zajisteˇte, aby byla vybra´na alesponˇ dveˇ – cˇeske´ a anglicke´. 2. Zjisteˇte, ktere´ kla´vesove´ zkratky slouzˇ´ı k odhla´sˇenı´, zamknutı´ obrazovky, prˇepı´na´nı´
2.3
PROSTRˇEDI´ GNOME
48
Obra´zek 2.53: Konfigurace sluzˇeb s vy´zvou k zada´nı´ hesla
Obra´zek 2.54: Konfigurace napa´jenı´ pro notebook mezi okny, prˇepnutı´ mezi rozlozˇenı´mi kla´vesnice. Nastavte kla´vesovou zkratku pro spusˇteˇnı´ prohlı´zˇecˇe na´poveˇdy na Shift+Ctrl+F1 (hned ji vyzkousˇejte). 3. Pokud na panelu nenı´ applet pro prˇepı´na´nı´ mezi rozlozˇenı´mi kla´vesnice, umı´steˇte ho tam. 4. Zjisteˇte, jake´ je zvoleno rozlisˇenı´ obrazovky. Jaky´ je rozdı´l ve funkcı´ch na´stroju˚ Tisk a Vy´chozı´ tiska´rna? 5. Zobrazte seznam beˇzˇ´ıcı´ch procesu˚. Vyzkousˇejte si ru˚zna´ usporˇa´da´nı´ tohoto seznamu (serˇazenı´ se prova´dı´ klepnutı´m na za´hlavı´ prˇ´ıslusˇne´ho sloupce) a zjisteˇte, ktere´ sloupce lze zobrazit. Zobrazte sloupec s prˇesny´m tvarem prˇ´ıkazu, ktery´m byly procesy spusˇteˇny. Spust’te neˇktery´ z vy´sˇe uvedeny´ch na´stroju˚ a zjisteˇte, ktery´m prˇ´ıkazem byl spusˇteˇn. 6. Zjisteˇte svou IP adresu a podı´vejte se na konfiguraci zarˇ´ızenı´ loopback.
2.3
PROSTRˇEDI´ GNOME
49
7. Po jake´ dobeˇ necˇinnosti ma´ by´t vypnut displej? Jaka´ akce je nastavena prˇi stisknutı´ tlacˇ´ıtka napa´jenı´?
2.3.3
Dalsˇı´ na´stroje
Skladba na´stroju˚ v Ovla´dacı´m centru se mu˚zˇe na ru˚zny´ch pocˇ´ıtacˇ´ıch lisˇit (za´lezˇ´ı, co vsˇe je zvoleno prˇi instalaci syste´mu cˇi prostrˇedı´). Take´ mimo Ovla´dacı´ centrum najdeme ru˚zne´ na´stroje. Zmı´nı´me se zde o neˇktery´ch, ktere´ by mohly by´t uzˇitecˇne´. Du˚lezˇity´m na´strojem je samozrˇejmeˇ na´poveˇda. Take´ v prostrˇedı´ GNOME ji najdeme, veˇtsˇinou se k nı´ dostaneme prˇes neˇktery´ z appletu˚. Mezi aplikacemi (tj. v menu Aplikace) obvykle najdeme na´stroj, ktery´ sice take´ slouzˇ´ı ke spra´veˇ softwaru jako Synaptic, ale narozdı´l od neˇj je „uzˇivatelsky prˇ´ıtulneˇjsˇ´ı “ – nepracujeme s balı´cˇky aplikacı´ (pro jednu aplikaci mu˚zˇe existovat i vı´ce balı´cˇku˚, na´zvy balı´cˇku˚ korespondujı´ s anglicky´mi na´zvy instalacˇnı´ch souboru˚), ale prˇ´ımo s na´zvy aplikacı´. V menu Aplikace by´va´ podmenu Syste´move´ na´stroje s jednoduchy´mi na´stroji pro ru˚zne´ u´cˇely. Veˇtsˇina podobny´ch na´stroju˚ je vsˇak prˇ´ıstupna´ prˇes menu Syste´m. Kromeˇ odkazu na Ovla´dacı´ centrum tady ma´me dveˇ podmenu – Volby pro na´stroje spı´sˇe uzˇivatelske´ho charakteru a Spra´va pro na´stroje urcˇene´ k administraci syste´mu. Seznam polozˇek v teˇchto podmenu se do znacˇne´ mı´ry kryje s obsahem Ovla´dacı´ho centra, ma´me tedy mozˇnost vybrat si, jestli chceme na´stroj spustit prˇes Ovla´dacı´ centrum nebo prˇes hlavnı´ menu.
Obra´zek 2.55: Editor nastavenı´ (gconf editor) Zajı´mavy´ na´stroj je Editor nastavenı´ (GNOME Configurator – take´ se da´ spustit prˇ´ıkazem gconf-editor). Jedna´ se o jake´si sjednocenı´ nejru ˚ zneˇjsˇ´ıch voleb na jedno mı´sto, volby jsou
$
2.3
PROSTRˇEDI´ GNOME
50
roztrˇ´ıdeˇny do kategoriı´. Zobrazena´ struktura je obdobou struktury, kterou zna´me z na´stroje Editor registru ve Windows, ale voleb je vy´razneˇ me´neˇ, editor pu˚sobı´ trochu prˇ´ıveˇtiveˇjsˇ´ım dojmem a take´ se volby neukla´dajı´ do bina´rnı´ch souboru˚. Na obra´zku 2.55 vidı´me nastavenı´ voleb pro spra´vu napa´jenı´ (obdobne´ mozˇnosti ma´me i v na´stroji pro spra´vu napa´jenı´ probı´rane´m drˇ´ıve). Obecneˇ platı´, zˇe kdyzˇ neˇktere´ nastavenı´ nenı´ dosazˇitelne´ prˇes na´stroje prˇ´ıstupne´ z graficke´ho rozhranı´ a nechce se na´m pracovat prˇ´ımo s konfiguracˇnı´mi skripty, je mozˇne´, zˇe prˇ´ıslusˇnou volbu najdeme v tomto na´stroji (pokud je nainstalova´n). Program gconf je, jak bylo naznacˇeno, sice uzˇitecˇny´, ale nic pro zacˇa´tecˇnı´ky. Proto se (ostatneˇ jako u regeditu ve Windows) pomalu zacˇ´ınajı´ objevovat „tweakovacı´ na´stroje“, naprˇ´ıklad Pessulus a gtweak. Jednı´m z nejzna´meˇjsˇ´ıch programu˚ souvisejı´cı´ch s prostrˇedı´m GNOME (a taky obecneˇ z programu˚ pro Linux) je GPartEd (zkratka z GNOME Partition Editor).Na obra´zku 2.56 vidı´me prostrˇedı´ tohoto na´stroje (je to stejny´ syste´m, jako v prˇ´ıpadeˇ obra´zku 2.51 na straneˇ 47 se Spra´vcem disku˚).
Obra´zek 2.56: Spra´va disku˚ s programem GPartEd
$
2.3
PROSTRˇEDI´ GNOME
51
Ma´me prˇehled o oddı´lech na disku vytvorˇeny´ch. Podle prˇ´ıznaku „boot“ zcela vpravo pozna´me, na ktery´ch oddı´lech je instalova´n operacˇnı´ syste´m. Oddı´ly pouzˇ´ıvane´ Windows – oddı´l 2, na ktere´m je instalova´n Windows Vista (disk C:), a pak oddı´l 3 (dole) vyuzˇ´ıvany´ jako datove´ u´lozˇisˇteˇ (disk D:) – jsou zprˇ´ıstupneˇny a lze na neˇ take´ zapisovat (vcˇetneˇ vytva´rˇenı´ novy´ch souboru˚), trˇebazˇe je na nich souborovy´ syste´m NTFS. Kromeˇ prohlı´zˇenı´ mu˚zˇeme take´ rusˇit a vytva´rˇet oddı´ly. ´ koly U 1. Spust’te na´poveˇdu a projdeˇte si jejı´ strukturu. 2. Projdeˇte si na´stroje, ktere´ najdete v hlavnı´m menu Aplikace, v podmenu Syste´move´ na´stroje a Prˇ´ıslusˇenstvı´. Pokud ma´te nainstalova´nu distribuci Debian, pak i podmenu Debian. 3. Vytvorˇte na plosˇe ikonu pro prˇ´ıstup k neˇktere´mu disku (nejle´pe USB flash disku) a projdeˇte si kontextove´ menu te´to ikony.
Kapitola
3
Vlastnosti unixovy´ch syste´mu˚ V te´to kapitole projdeme neˇktere´ za´kladnı´ charakteristiky syste´mu˚ unixove´ho typu. Nebudeme se zaby´vat vnitrˇnı´ strukturou Unixu, ale spı´sˇe vlastnostmi ty´kajı´cı´mi se uzˇivatelu˚ a spra´vcu˚ syste´mu. Snahou je neza´vislost textu kapitoly na graficke´m prostrˇedı´, ve ktere´m pracujete, proto jsou neˇktere´ u´koly me´neˇ konkre´tnı´.
3.1
Uzˇivatele´ a skupiny
Nejdu˚lezˇiteˇjsˇ´ım uzˇivatelem je root (v jiny´ch operacˇnı´ch syste´mech se nazy´va´ supervizor, spra´vce, administra´tor). Ma´ nejrozsa´hlejsˇ´ı pra´va, mu˚zˇe prova´deˇt konfiguraci syste´mu, pracovat s uzˇivatelsky´mi konty vcˇetneˇ definova´nı´ novy´ch uzˇivatelu˚ a ma´ prˇ´ıstup ke vsˇemu v syste´mu. Uzˇivatel mu˚zˇe patrˇit i do vı´ce uzˇivatelsky´ch skupin. Skupiny se obvykle pouzˇ´ıvajı´ pro urcˇenı´ uzˇivatelu˚ u´zˇeji spolupracujı´cı´ch naprˇ´ıklad na neˇjake´m projektu, mohou by´t samozrˇejmeˇ docˇasne´. Vsˇichni uzˇivatele´ majı´ prˇirˇazeno identifikacˇnı´ cˇ´ıslo UID (User ID), uzˇivatel root ma´ vzˇdy UID = 0. Stejneˇ tak i skupiny majı´ prˇirˇazeno identifikacˇnı´ cˇ´ıslo GID (Group ID). Uzˇivatel ma´ prˇirˇazeno UID (s tı´mto cˇ´ıslem pracujı´ bezpecˇnostnı´ mechanismy syste´mu), login – prˇihlasˇovacı´ jme´no, zada´va´ ho prˇi prˇihlasˇova´nı´ do syste´mu, password – heslo, vlastnı´ domovsky´ adresa´rˇ (Home Directory), je prˇ´ıstupny´ jen jemu a rootovi, jeho na´zev je obvykle stejny´ jako login, • skupiny, do ktery´ch patrˇ´ı, jedna ze skupin je pro neˇj prima´rnı´ (nejdu˚lezˇiteˇjsˇ´ı), • vy´chozı´ shell (neˇco na zpu˚sob Prˇ´ıkazove´ho rˇa´dku ve Windows). • • • •
52
P P
3.2
PROCESY
53
Cˇ´ısla UID a GID mu˚zˇe root urcˇovat jakkoliv (prˇi vytvorˇenı´ uzˇivatele a skupiny, UID beˇzˇny´ch uzˇivatelu˚ by´va´ obvykle nejme´neˇ trojciferne´). Jedine´ omezenı´ mu˚zˇe nastat prˇi propojenı´ vı´ce unixovy´ch pocˇ´ıtacˇu˚ do sı´teˇ tak, zˇe uzˇivatel (nebo skupina) mu˚zˇe pracovat na ru˚zny´ch pocˇ´ıtacˇ´ıch bez nutnosti vytva´rˇenı´ u´cˇtu˚ na vsˇech syste´mech. To se rˇesˇ´ı obvykle sı´t’ovy´m souborovy´m syste´mem, naprˇ´ıklad NFS, ktery´ vyzˇaduje pro te´hozˇ uzˇivatele se stejny´m jme´nem jedine´ UID v cele´ sı´ti, a tote´zˇ platı´ pro GID skupin. ´ kol U Zjisteˇte informace o sobeˇ jako uzˇivateli – sve´ UID, skupiny, do ktery´ch patrˇ´ıte, GID sve´ prima´rnı´ skupiny.
3.2
Procesy
Proces je vlastneˇ beˇzˇ´ıcı´ program.1 Procesy v Unixu jsou serˇazeny v hierarchicke´ (stromove´) strukturˇe zalozˇene´ na vztahu prˇedek–potomci. Potomci jsou spousˇteˇni svy´m prˇedkem a deˇdı´ neˇktere´ jeho vlastnosti. Kazˇdy´ proces identifikova´n svy´m vlastnı´kem (uzˇivatelem) a skupinou, ma´ vzˇdy prˇirˇazeno jedno cˇ´ıslo UID a jedno cˇ´ıslo GID, od toho jsou odvozena take´ jeho prˇ´ıstupova´ pra´va. Procesy majı´ take´ identifikacˇnı´ cˇ´ısla, a to PID (Process ID), kazˇdy´ proces take´ musı´ veˇdeˇt, kdo je jeho prˇedek (cˇ´ıslo PPID – Parent Process ID), a obvykle platı´, zˇe po ukoncˇenı´ cˇinnosti prˇedka koncˇ´ı i jeho potomci (jsou vy´jimky). Existujı´ i dalsˇ´ı identifikacˇnı´ cˇ´ısla, ktera´ ma´ proces prˇideˇlena (PGID, SID), teˇmi se budeme zaby´vat na prˇedna´sˇka´ch v prˇ´ısˇtı´m semestru. Kazˇdy´ proces ma´ sve´ho vlastnı´ka. Obvykle to by´va´ uzˇivatel, ktery´ tento proces spustil (trˇeba zprostrˇedkovaneˇ prˇes jiny´ proces). Vlastnı´kem syste´movy´ch procesu˚ je veˇtsˇinou uzˇivatel root. Od vlastnı´ka se take´ odvı´jejı´ prˇ´ıstupova´ opra´vneˇnı´ tohoto procesu. Po startu syste´mu beˇzˇ´ı pouze jediny´ proces, init. Jeho vlastnı´kem je root, pro init je cˇ´ıslo PID = 1 (proces s hodnotou PID = 0 vlastneˇ neexistuje, na tom mı´steˇ si mu˚zˇeme prˇedstavit sadu instrukcı´, ktera´ je vykona´va´na jesˇteˇ prˇed procesem init a ve skutecˇnosti ji ani nepovazˇujeme za proces – bootova´nı´ syste´mu). Proces init pak spousˇtı´ dalsˇ´ı procesy, tedy vsˇechny dalsˇ´ı procesy v syste´mu beˇzˇ´ıcı´ jsou jeho potomci, prˇ´ımı´ nebo neprˇ´ımı´. Spousˇtı´ prˇedevsˇ´ım syste´move´ procesy veˇtsˇinou beˇzˇ´ıcı´ na pozadı´, ktery´m se v Unixu rˇ´ıka´ de´mony (daemons). Specia´lnı´m procesem je take´ ja´dro (kernel). Pokud neˇktery´ proces da´le beˇzˇ´ı a prˇitom jeho prˇedek byl ukoncˇen, musı´ by´t tento proces „adoptova´n“ procesem init, aby zu˚stala zachova´na hierarchicka´ struktura procesu˚, a nebo ukoncˇen. 1
Technicky rˇecˇeno jde o instanci programu – program ulozˇeny´ naprˇ´ıklad na pevne´m disku spustı´me, v operacˇnı´ pameˇti je vytvorˇen jeho obraz vybaveny´ ko´dem programu, pameˇtı´ pro ulozˇenı´ promeˇnny´ch a dalsˇ´ımi prostrˇedky.
P P P P P
3.3
ADRESA´RˇE A SOUBORY
54
Podle pu˚vodnı´ koncepce Unixu jsou programy male´ a jednoduche´, a tedy i procesy, a hlavnı´ sı´la Unixu je v jejich efektivnı´ spolupra´ci, ktera´ znamena´ prˇedevsˇ´ım prˇeda´va´nı´ vy´stupu˚ jednoho procesu na vstupy jine´ho. Je to mozˇne´ neˇkolika zpu˚soby, jeden z nich je pouzˇ´ıva´nı´ tzv. rour. Roura (Pipe nebo Pipeline) je vlastneˇ docˇasny´ soubor (i kdyzˇ ne vzˇdy doslova), ktery´ slouzˇ´ı k takove´muto prˇeda´va´nı´ dat. V prˇ´ıkazech shellu nebo ve skriptu se obvykle realizuje zrˇeteˇzenı´m prˇ´ıkazu˚ symbolem roury, |.
E
´ koly U 1. Spust’te neˇktery´ na´stroj, ve ktere´m ma´te prˇ´ıstup ke strukturˇe beˇzˇ´ıcı´ch procesu˚ (podle toho, ve ktere´m prostrˇedı´ pracujete). Pokud nenı´ vyznacˇena hierarchicka´ struktura, zapneˇte zobrazenı´ stromu procesu˚. Najdeˇte proces init a zjisteˇte, jake´ ma´ „prˇ´ıme´ potomky“. 2. Zjisteˇte, kolik procesu˚ je pra´veˇ spusˇteˇno. 3. Oveˇrˇte PID procesu init. Da´le serˇad’te procesy podle PID a u procesu˚ s nejnizˇsˇ´ımi hodnotami se pokuste odhadnout porˇadı´, ve ktere´m byly spusˇteˇny. Zobrazte sloupec s u´dajem o cˇasu spusˇteˇnı´ procesu˚ (pokud je podporova´n pouzˇ´ıvany´m na´strojem, zrˇejmeˇ ano) a porovnejte svu˚j odhad. 4. Opeˇt zapneˇte zobrazenı´ stromove´ struktury. Spust’te neˇktery´ program a sledujte, kde se objevı´ ve strukturˇe procesu˚ a jake´ PID mu bude prˇideˇleno. Pak tento program ukoncˇete prostrˇednictvı´m na´stroje se seznamem procesu˚.
3.3 3.3.1
Adresa´rˇe a soubory Soubory
Nejdu˚lezˇiteˇjsˇ´ım faktem je: VSˇECHNO JE SOUBOR (vcˇetneˇ adresa´rˇu˚, zarˇ´ızenı´ a cˇehokoliv dalsˇ´ıho) a ke vsˇemu se jako k souboru mu˚zˇeme chovat vcˇetneˇ uplatnˇova´nı´ prˇ´ıstupovy´ch pra´v. Soubory jsou ukla´da´ny v adresa´rˇove´ strukturˇe, zpu˚sob reprezentace souboru na pameˇt’ove´m me´diu je da´n prˇedevsˇ´ım pouzˇity´m souborovy´m syste´mem. Souborove´ syste´my. Podobneˇ jako jsme se ve Windows setkali se souborovy´mi syste´my FAT a NTFS, unixove´ syste´my pouzˇ´ıvajı´ mnoho ru˚zny´ch souborovy´ch syste´mu˚, naprˇ´ıklad UFS (Unix File System, pu˚vodnı´, sta´le vylepsˇovany´ a pouzˇ´ıvany´), VXFS, PCFS, HSFS, v Linuxu jsou obvykle´ ext2, ext3, ReiserFS, JFS, XFS, . . . , pouzˇ´ıvajı´ se take´ sı´t’ove´ souborove´ syste´my (NFS, SMB, . . . ). Je jich tolik nejen proto, zˇe od vzniku Unixu uzˇ ubeˇhlo hodneˇ vody (a bylo dost cˇasu na vylepsˇova´nı´), ale take´ proto, zˇe souborovy´ syste´m volı´me prˇedevsˇ´ım podle jeho vlastnostı´, a kazˇdy´ z nich ma´ tyto vlastnosti trochu jine´ (dnes se setka´me nejcˇasteˇji s ext3).
E P
ADRESA´RˇE A SOUBORY
3.3
55
Na´zev souboru. Soubory mohou mı´t prˇ´ıponu, ale nenı´ operacˇnı´m syste´mem vyzˇadova´na (mu˚zˇe by´t vyzˇadova´na nebo podporova´na neˇktery´mi aplikacemi). Narozdı´l od produktu˚ Microsoftu nenı´ prˇ´ıpona specia´lnı´ cˇa´stı´ oddeˇlenou od na´zvu souboru, ale je soucˇa´stı´ na´zvu vcˇetneˇ oddeˇlujı´cı´ tecˇky, cozˇ znamena´, zˇe cˇa´st za tecˇkou mu˚zˇe by´t jakkoliv dlouha´. Uzˇivatele´ prˇ´ıponu obvykle pouzˇ´ıvajı´, protozˇe jim umozˇnˇuje rozpoznat typ souboru a hodı´ se take´ pro asociace souboru˚ s aplikacemi (to je obvykle´ v graficky´ch rozhranı´ch). Spustitelne´ soubory a take´ neˇktere´ skripty prˇ´ıponu nemajı´.
P
V unixovy´ch souborovy´ch syste´mech obvykle nejsou takova´ omezenı´ pro na´zvy souboru˚ jako naprˇ´ıklad u Windows. Jediny´m omezenı´m by´va´ za´kaz pouzˇitı´ znaku / v na´zvu souboru, protozˇe tento znak oddeˇluje adresa´rˇe v cesteˇ k souboru. Prˇesto se dodrzˇujı´ urcˇite´ konvence, jako naprˇ´ıklad nepouzˇ´ıva´nı´ nezobrazitelny´ch znaku˚ (prvnı´ch 30 znaku˚ v ASCII tabulka´ch) a da´le neˇktery´ch znaku˚ pouzˇ´ıvany´ch shellem (*, ?, #, apod.). Maxima´lnı´ povolena´ de´lka na´zvu souboru za´visı´ na pouzˇite´m souborove´m syste´mu, dnes souborove´ syste´my v tomto smeˇru take´ nekladou va´zˇneˇjsˇ´ı prˇeka´zˇky, pokud je tato de´lka stanovena, tak obvykle na 255 znaku˚. Jak uzˇ bylo vy´sˇe napsa´no, do tohoto na´zvu patrˇ´ı i tecˇka a prˇ´ıpadna´ prˇ´ıpona souboru, tedy na´zev souboru abc.txt ma´ 7 znaku˚. Neˇktere´ soubory zacˇ´ınajı´ tecˇkou (a obvykle je to jedina´ tecˇka v na´zvu) – tak se znacˇ´ı skryte´ soubory. Jsou to veˇtsˇinou konfiguracˇnı´ soubory syste´mu, shellu nebo neˇktere´ aplikace, obvykle jde o textove´ soubory, a prˇi beˇzˇne´m zobrazova´nı´ souboru˚ je ve vy´pisech neuvidı´me (musı´me zapnout zobrazova´nı´ skryty´ch souboru˚).
E
Ve vy´pisech mu˚zˇeme take´ videˇt na´zvy ve tvaru ne ˇjaky ´_na ´zev.d (tedy koncˇ´ı tecˇkou a pı´smenem d). Nejde o beˇzˇne´ soubory, ale o adresa´rˇe (directory). ´ kol U Spust’te neˇktere´ho spra´vce souboru˚ (mu˚zˇete jednodusˇe poklepa´nı´m na ikonu sve´ho domovske´ho adresa´rˇe, pokud je zobrazena). Projdeˇte si mozˇnosti jeho nastavenı´ a zapneˇte zobrazova´nı´ skryty´ch souboru˚.
3.3.2
Struktura adresa´rˇu˚
Narozdı´l od struktury obvykle´ pro Windows, v unixovy´ch syste´mech je adresa´rˇova´ struktura vı´ce virtualizova´na. Existuje jediny´ adresa´rˇovy´ strom (s jednı´m korˇenem), do ktere´ho jsou prˇipojova´na pameˇt’ova´ me´dia a prˇistupuje se k nim prˇes prˇedem urcˇene´ adresa´rˇe stromu. Vy´hodou je mozˇnost univerza´lnı´ho prˇ´ıstupu k ru˚zny´m typu˚m dat vcˇetneˇ dynamicky vytva´rˇeny´ch, tento prˇ´ıstup znamena´ velke´ zjednodusˇenı´ hlavneˇ pro programa´tory. Neˇktere´ adresa´rˇe majı´ v urcˇite´m okamzˇiku zvla´sˇtnı´ vy´znam, jsou to • aktua´lnı´ adresa´rˇ, oznacˇuje se znakem . (pouzˇijeme v slozˇiteˇjsˇ´ıch prˇ´ıkazech, kdy se chceme odkazovat na aktua´lnı´ adresa´rˇ),
P
3.3
ADRESA´RˇE A SOUBORY
56 /
bin
dev
etc
home
root
lib
honza
klara
martin
...
proc
tmp
usr
var
mnt
...
usb
diskC
...
Obra´zek 3.1: Obvykla´ struktura v unixovy´ch syste´mech • nadrˇ´ızeny´ adresa´rˇ, oznacˇuje se .. (pouzˇijeme naprˇ´ıklad pro pohyb v adresa´rˇove´ strukturˇe), • korˇenovy´ adresa´rˇ, oznacˇuje se znakem / • domovsky´ adresa´rˇ, oznacˇuje se znakem ~ (platı´ vzˇdy pro urcˇite´ho uzˇivatele). Struktura adresa´rˇu˚ se mu˚zˇe na ru˚zny´ch Unixech trochu lisˇit. Obvykle prˇiblizˇneˇ odpovı´da´ strukturˇe, kterou vidı´me na obra´zcı´ch 3.1 a 3.2, nejdu˚lezˇiteˇjsˇ´ı adresa´rˇe jsou / – korˇenovy´ adresa´rˇ (root), narozdı´l od Windows je spolecˇny´ pro vsˇechna vneˇjsˇ´ı pameˇt’ova´
me´dia (obvykle disky, prosteˇ vsˇe je dostupne´ prˇes tento jediny´ adresa´rˇ), obsahuje take´ neˇktere´ du˚lezˇite´ soubory /bin – soubory pro zavedenı´ syste´mu, neˇktere´ konfiguracˇnı´ soubory syste´mu, take´ beˇzˇne´ prˇ´ıkazy pro ru˚zne´ u´cˇely (na´zev bin je od „bina´rnı´“) /sbin – soubory pouzˇ´ıvane´ uzˇivatelem root ke spra´veˇ syste´mu /etc – konfiguracˇnı´ soubory pro operacˇnı´ syste´m i mnohe´ aplikace, naprˇ´ıklad /etc/passwd – soubor se seznamem uzˇivatelu ˚ (prˇihlasˇovacı´ jme´no, UID, skupina
apod.), mu˚zˇeme otevrˇ´ıt v textove´m editoru (stacˇ´ı na soubor poklepat) /etc/shadow – sˇifrovany´ soubor s hesly uzˇivatelu ˚ /etc/group – seznam skupin uzˇivatelu ˚ s podobny´m forma´tem /etc/services – seznam sluzˇeb, protokolu ˚ a portu˚ v syste´mu /etc/fstab – seznam souborovy´ch syste´mu ˚ automaticky prˇipojovany´ch prˇi startu syste´mu (jsou zde informace potrˇebne´ k prˇipojenı´ pameˇt’ovy´ch me´diı´ – o jake´ me´dium jde, prˇes ktery´ adresa´rˇ ma´ by´t prˇ´ıstupny´ jeho obsah, jaky´ ma´ souborovy´ syste´m, zda se ma´ prˇipojit jen pro cˇtenı´ nebo i pro za´pis, atd.) /etc/mtab – seznam momenta´lneˇ prˇipojeny´ch souborovy´ch syste´mu ˚ (mu˚zˇe se jmenovat mnttab) /etc/inittab – konfiguracˇnı´ soubor procesu init, zde je stanoveno, ktere´ skripty se majı´ spustit v ru˚zny´ch u´rovnı´ch beˇhu (tj. v jednouzˇivatelske´m/vı´ceuzˇivatelske´m rezˇimu, apod.) /etc/shells – seznam povoleny´ch shellu ˚ , mezi ktery´mi se lze prˇepı´nat prˇ´ıkazem chsh
P
3.3
ADRESA´RˇE A SOUBORY
57
Obra´zek 3.2: Adresa´rˇova´ struktura v prohlı´zˇecˇi souboru˚ /root – domovsky´ adresa´rˇ uzˇivatele root /home – domovske´ adresa´rˇe ostatnı´ch uzˇivatelu ˚ (kazˇdy´ ma´ v tomto adresa´rˇi svu˚j vlastnı´
adresa´rˇ pojmenovany´ podle loginu, jak vidı´me na obra´zku 3.1); kromeˇ vlastnı´ch dokumentu˚ uzˇivatele zde najdeme take´ souvisejı´cı´ konfiguracˇnı´ skripty (naprˇ´ıklad s prˇ´ıkazy, ktere´ se majı´ prove´st prˇi prˇihla´sˇenı´ uzˇivatele), uzˇivatel si do tohoto adresa´rˇe mu˚zˇe instalovat sve´ vlastnı´ „soukrome´“ programy (nemusı´ ho zajı´mat prˇ´ıstupova´ opra´vneˇnı´ a za´rovenˇ ostatnı´ uzˇivatele´ takovy´ program nemohou spousˇteˇt) /lib – sdı´lene´ knihovny vyuzˇ´ıvane´ prˇi startu syste´mu nebo pro programy z /bin a /sbin, v podadresa´rˇi modules najdeme moduly ja´dra /srv – u ´ lozˇisˇteˇ dat pro sluzˇby /dev – specia´lnı´ soubory pro zarˇ´ızenı´ (zkratka z device), slouzˇ´ı mimo jine´ k nı´zkou ´ rovnˇo-
ve´mu prˇ´ıstupu k zarˇ´ızenı´m /mnt – prˇ´ıpojne´ body pro docˇasneˇ prˇipojovana´ pameˇt’ova´ zarˇ´ızenı´ (pro kazˇde´ zarˇ´ızenı´ je
zde prˇ´ıstupovy´ adresa´rˇ s vnitrˇnı´ adresa´rˇovou strukturou me´dia), prˇes tento adresa´rˇ prˇistupujeme k obsahu CD/DVD, USB flash disku˚, disket, ale take´ trˇeba k oddı´lu˚m s nainstalovany´m syste´mem Windows; v mnohy´ch distribucı´ch se pro tyto u´cˇely vyuzˇ´ıva´ adresa´rˇ /media /tmp – adresa´rˇ pro docˇasne´ soubory
3.3
ADRESA´RˇE A SOUBORY
58
/boot – soubory pro zavadeˇcˇ syste´mu (LILO nebo GRUB), by´va´ tam by´t ulozˇeno take´ ja´dro syste´mu (v Linuxu soubor zacˇ´ınajı´cı´ rˇeteˇzcem vmlinuz); obecneˇ jde o informace
a programy intenzı´vneˇ pouzˇ´ıvane´ prˇedevsˇ´ım prˇi startu syste´mu (azˇ na ja´dro, to se pouzˇ´ıva´ po celou dobu beˇhu syste´mu) /usr – zde jsou nainstalova´ny programy a dokumentace, kromeˇ samotne´ instalace se v
tomto adresa´rˇi se zmeˇnami nepocˇ´ıta´; neˇktere´ podadresa´rˇe: /usr/bin – programy, naprˇ´ıklad /usr/bin/passwd, take´ pro mnohe´ skriptovacı´
jazyky (Perl, Python, Tcl, atd.) /usr/man, /usr/info, /usr/doc – dokumentace, manua´love´ stra´nky /usr/x11r6 (mu ˚ zˇe by´t i jinak) – X-Window (za´klad graficke´ho prostrˇedı´) /usr/include – knihovny hlavicˇkovy´ch souboru ˚ pro jazyk C /usr/lib – syste´move´ knihovny /usr/local – mı´sto pro instalaci aplikacı´ /usr/src – zdrojove´ soubory /var – zkratka z variable, promeˇnlivy´, zde jsou soubory syste´mu a aplikacı´, se ktery´mi se neusta´le pracuje a meˇnı´ se: e-mailove´ schra´nky, logovacı´ soubory – /var/log, tiskove´ fronty tiska´ren a jina´ data ke zpracova´nı´ (/var/spool), adresa´rˇ pro docˇasne´ soubory, /opt – zkratka z optional (volitelny´), do tohoto adresa´rˇe se cˇasto instalujı´ aplikace, ktere´
nebyly doda´ny s distribucı´ a instalujeme je tedy dodatecˇneˇ (podle sve´ volby), je to alternativnı´ instalacˇnı´ mı´sto vzhledem k /usr /proc (v Linuxu) – beˇhove´ informace o syste´mu, ve skutecˇnosti je to dynamicky udrzˇovany´
virtua´lnı´ adresa´rˇ, neexistuje rea´lneˇ na disku, je vygenerova´n prˇi spusˇteˇnı´ syste´mu, naprˇ´ıklad /proc/1 – informace o procesu s PID=1, tedy init /proc/ne ˇjake ´_c ˇı ´slo – informace o procesu s dany´m cˇ´ıslem (jeho PID), najdeme
zde naprˇ´ıklad prˇ´ıkaz, ktery´m byl proces spusˇteˇn, ktery´ adresa´rˇ je pro tento proces zrovna pracovnı´, symbolicke´ odkazy na soubory, se ktery´mi pracuje, stav procesu, vyuzˇ´ıvanou pameˇt’, atd. /proc/cpuinfo – informace o procesoru /proc/dma – ktere´ dma kana´ly jsou zrovna vyuzˇ´ıva´ny /proc/kmsg – vy´stupnı´ hla´sˇenı´ ja´dra syste´mu /sys – jedna´ se opeˇt o virtua´lnı´ adresa´rˇ, tento vsˇak najdeme pouze v Linuxu (v nejnoveˇjsˇ´ıch
ja´drech); najdeme tady vesˇkere´ informace o zarˇ´ızenı´ch, naprˇ´ıklad /sys/devices – fyzicke´ vztahy mezi zarˇ´ızenı´mi (co je k cˇemu prˇipojeno) /sys/bus – zarˇ´ızenı´ trˇ´ıdeˇna´ podle sbeˇrnic (PCI, USB, atd.) /sys/class – zarˇ´ızenı´ trˇ´ıdeˇna´ podle trˇ´ıd (typu ˚ zarˇ´ızenı´) /sys/block – prˇ´ıstup k blokovy´m zarˇ´ızenı´m vcˇetneˇ disku ˚ /sys/power – nı´zkou ´ rovnˇovy´ prˇ´ıstup ke spra´veˇ napa´jenı´
ADRESA´RˇE A SOUBORY
3.3
59
Informace o standardu pro adresa´rˇovou strukturu Unixu˚ (File Hierarchy Standard) jsou take´ na http://www.pathname.com/fhs. ´ koly U 1. Projdeˇte si svu˚j domovsky´ adresa´rˇ (se zapnuty´m zobrazenı´m skryty´ch souboru˚). Zjisteˇte, kam se ukla´dajı´ konfiguracˇnı´ skripty, dokumenty, apod.
2. V adresa´rˇi /etc zobrazte obsah souboru fstab a porovnejte se souborem mtab. Da´le zobrazte soubory se seznamem uzˇivatelu˚ a skupin (najdeˇte svu˚j za´znam v teˇchto souborech). 3. Zjisteˇte na´zev souboru ja´dra (veˇtsˇinou obsahuje i cˇ´ıslo verze). 4. Projdeˇte adresa´rˇ /usr a podı´vejte se, ktere´ aplikace jsou instalova´ny. 5. V adresa´rˇi /proc zvolte neˇktery´ podadresa´rˇ pojmenovany´ cˇ´ıslem (spı´sˇe vı´ceciferny´m) a prohle´dneˇte si ho – zjisteˇte, ve ktery´ch souborech se nacha´zejı´ informace jako naprˇ´ıklad prˇ´ıkaz, ktery´m byl proces spusˇteˇn, vyuzˇitı´ pameˇti apod. Podobneˇ prozkoumejte take´ podadresa´rˇ prˇ´ıslusˇejı´cı´ procesu init.2 6. V adresa´rˇi /proc si prohle´dneˇte informace o procesoru, vyuzˇite´ operacˇnı´ pameˇti, atd. – beˇhove´ informace o syste´mu.
3.3.3
Odkazy na soubor
V unixovy´ch syste´mech existujı´ odkazy dvou typu˚: pevne´ a symbolicke´. Pevny´ odkaz (hard link) je dalsˇ´ı ukazatel na soubor disku, je rovnopra´vny´ s „prvnı´m odkazem“ vznikly´m prˇi vytvorˇenı´ souboru, tedy na´zev pevne´ho odkazu na soubor je take´ na´zev souboru. Pokud existuje na tenty´zˇ soubor vı´ce pevny´ch odkazu˚, znamena´ to, zˇe v souborove´m syste´mu existuje vı´ce cest k tomuto souboru (naprosto rovnopra´vny´ch). V souborovy´ch syste´mech pod Windows se pevne´ odkazy moc nepouzˇ´ıvajı´, ke kazˇde´mu souboru existuje jen jedna cesta (i kdyzˇ v souborove´m syste´mu NTFS ve vysˇsˇ´ıch verzı´ch pevne´ odkazy lze vytvorˇit). Pevny´ odkaz ke vy´hodny´ zvla´sˇteˇ tehdy, kdyzˇ soubor, na ktery´ odkazujeme, chceme sem tam prˇejmenovat, prˇistupujeme k neˇmu z vı´ce mı´st, da´le kdyzˇ soubor smazˇeme z prvnı´ho odkazu, nenı´ ztracen, mu˚zˇeme se na neˇj dostat z ostatnı´ch pevny´ch odkazu˚, pokud existujı´. Pevne´ odkazy mohou by´t vytva´rˇeny pouze na beˇzˇne´ soubory, ne na adresa´rˇe (kromeˇ . a .., ktere´ jsou „prˇedvı´datelne´“), aby zu˚stala zachova´na acyklicˇnost v grafu adresa´rˇu˚, musı´ by´t vzˇdy v ra´mci stejne´ho fyzicke´ho syste´mu souboru˚ (naprˇ. na stejne´m oddı´lu disku). Symbolicky´ odkaz (soft link) ukazuje pouze na jme´no souboru, je to obdoba za´stupcu˚ ve Windows. Obsahuje tedy v sobeˇ informaci o na´zvu souboru s absolutnı´ nebo relativnı´ 2
V textove´m editoru graficke´ho rozhranı´ obvykle nic neuvidı´te. Pokud va´s zajı´ma´, co je v souborech uvnitrˇ
P
E P
ZARˇI´ZENI´
3.4
60
cestou. Vy´hodou je, zˇe narozdı´l od pevny´ch odkazu˚ symbolicky´ odkaz mu˚zˇe odkazovat na cokoliv vcˇetneˇ adresa´rˇe, cı´l mu˚zˇe by´t i na jine´ partition. Nevy´hoda je, zˇe kdyzˇ je pu˚vodnı´ soubor odstraneˇn, symbolicky´ odkaz ukazuje na neexistujı´cı´ soubor. Jak je poznat: ve spra´vci souboru˚, ktere´ho pouzˇ´ıva´me, zajistı´me zobrazenı´ sloupcu˚ s prˇ´ıstupovy´mi opra´vneˇnı´mi a pocˇtem odkazu˚ na soubor.
$
• pevny´ odkaz je zameˇnitelny´ s kazˇdou jinou cestou k dane´mu souboru, proto se da´ vysledovat pouze existencı´ cˇ´ısla vysˇsˇ´ıho nezˇ 1 ve sloupci s pocˇtem odkazu˚ na soubor – vsˇimneˇte si, jake´ je toto cˇ´ıslo u adresa´rˇu˚ . a .. (pokud ma´me zapnuto zobrazenı´ skryty´ch souboru˚), • symbolicky´ odkaz je znacˇen pı´smenem l hned na prvnı´m mı´steˇ ve sloupci s prˇ´ıstupovy´mi opra´vneˇnı´mi (jinak tam veˇtsˇinou by´va´ - pro beˇzˇne´ soubory a d pro adresa´rˇe), naprˇ´ıklad tam mu˚zˇe by´t rˇeteˇzec lrw-r--r--. ´ koly U 1. Kolik pevny´ch odkazu˚ (cest) vede k podadresa´rˇu˚m . a .. ve vasˇem domovske´m adresa´rˇi? Kolik je jich u stejneˇ pojmenovany´ch podadresa´rˇu˚ v adresa´rˇi /home? 2. Zjisteˇte, zda ve vasˇem domovske´m adresa´rˇi je neˇjaky´ symbolicky´ odkaz. Zkuste tento soubor otevrˇ´ıt v textove´m editoru (pomocı´ kontextove´ho menu).
3.4 3.4.1
Zarˇı´zenı´ Zajisˇteˇnı´ prˇı´stupu k zarˇı´zenı´m
Ovladacˇe. Take´ v Linuxu jsou pro kazˇde´ zarˇ´ızenı´ nutne´ ovladacˇe. Obvykle nemu˚zˇeme pouzˇ´ıt ovladacˇe pro Windows (i tato mozˇnost dnes jizˇ existuje, i kdyzˇ nenı´ jednoducha´ – prˇes na´stroj NDISWrapper), nasˇteˇstı´ pro beˇzˇneˇ proda´vana´ zarˇ´ızenı´ se dajı´ veˇtsˇinou sehnat ovladacˇe pro Unix (Linux) nebo jsou prˇ´ımo v ja´drˇe (tam jsou veˇtsˇinou standardnı´ ovladacˇe, ktere´ umozˇnı´ zarˇ´ızenı´ pouzˇ´ıvat, i kdyzˇ neˇkdy nemu˚zˇeme jeho mozˇnosti plneˇ vyuzˇ´ıt). Ovladacˇe pro Linux, pokud vestaveˇne´ standardnı´ nevyhovujı´, se veˇtsˇinou dajı´ sehnat na internetu na stra´nka´ch vy´robce zarˇ´ızenı´ nebo na specializovany´ch stra´nka´ch. Proble´my nasta´vajı´ jen u teˇch zarˇ´ızenı´, jejichzˇ vy´robci sami nemı´nı´ vydat linuxove´ ovladacˇe a take´ nechteˇjı´ zverˇejnit informace nutne´ pro jejich naprogramova´nı´. Nasˇteˇstı´ se to obvykle da´ vyrˇesˇit pouzˇitı´m obecne´ho ovladacˇe pro dany´ typ zarˇ´ızenı´, prˇ´ıpadneˇ naprogramova´nı´m ovladacˇe „ad-hoc“ s pouzˇitı´m informacı´ zı´skany´ch pozorova´nı´m chova´nı´ ovladacˇe pro jiny´ operacˇnı´ syste´m. /proc, pak musı´te prˇes termina´l. Pomocı´ prˇ´ıkazu cd se prˇesunˇte do adresa´rˇe, ktery´ va´s zajı´ma´, pak prˇ´ıkazem cat zobrazte obsah souboru.
P
ZARˇI´ZENI´
3.4
61
Aby bylo mozˇne´ plneˇ vyuzˇ´ıvat 3D graficke´ rozhranı´ v unixovy´ch syste´mech, je trˇeba mı´t 3D grafickou kartu a take´ k nı´ vhodne´ ovladacˇe. Ovladacˇe karet firem ATI a nVidia se dajı´ sta´hnout na internetu v bina´rnı´ podobeˇ (jsou dostupne´ ve veˇtsˇineˇ repozita´rˇu˚, podrobnosti budeme probı´rat pozdeˇji), za urcˇity´ch okolnostı´ mohou by´t nainstalova´ny automaticky za´rovenˇ se syste´mem. Specia´lnı´ soubory jsou jake´si komunikacˇnı´ body, prˇes ktere´ procesy zı´ska´vajı´ data ze zarˇ´ızenı´ nebo je tam naopak posı´lajı´. Najdeme je v adresa´rˇi /dev. Za´kladnı´ operace jsou realizova´ny jako beˇzˇna´ pra´ce se souborem (podle filozofie „vsˇe je soubor – i zarˇ´ızenı´“):
P
• inicializace zarˇ´ızenı´ (pokud je nutna´) = otevrˇenı´ souboru, • zasla´nı´ dat zarˇ´ızenı´ (disku, tiska´rneˇ apod.) = za´pis dat do souboru, • nacˇtenı´ dat ze zarˇ´ızenı´ (disku, . . . ) = cˇtenı´ dat ze souboru, atd. Pozor, specia´lnı´ soubor zarˇ´ızenı´ nenı´ tote´zˇ co ovladacˇ (ovladacˇ je program – proces komunikujı´cı´ se zarˇ´ızenı´m, specia´lnı´ soubor zarˇ´ızenı´ je datova´ struktura slouzˇ´ıcı´ ke komunikaci uzˇivatele nebo jine´ho procesu s tı´mto zarˇ´ızenı´m reprezentovany´m ovladacˇem). Prˇipojova´nı´ pameˇt’ovy´ch zarˇı´zenı´. Pro zarˇ´ızenı´ typu pameˇt’ove´ me´dium nestacˇ´ı mı´t pouze specia´lnı´ soubor. Komunikace s takovy´m zarˇ´ızenı´m je mnohem slozˇiteˇjsˇ´ı, naprˇ´ıklad kdyzˇ ukla´da´me soubor, nestacˇ´ı pouze poslat prakticky nezforma´tovana´ data specia´lnı´mu souboru, ale musı´me prˇidat dalsˇ´ı informace – na´zev souboru, jeho umı´steˇnı´, atributy, apod. Proto pro pameˇt’ova´ me´dia ma´me kromeˇ specia´lnı´ho souboru take´ jine´ kontaktnı´ mı´sto, bod prˇipojenı´ (prˇ´ıpojny´ bod). Kazˇde´ pameˇt’ove´ zarˇ´ızenı´ je nutne´ prˇed jeho pouzˇ´ıva´nı´m prˇipojit, a po ukoncˇenı´ pra´ce s nı´m synchronizovat (pokud se pouzˇ´ıva´ mezipameˇt’ – cache) a odpojit. Tyto operace by´vajı´ obvykle automatizova´ny, jen odpojenı´ USB flash disku, ktere´ je poneˇkud „na´hle´“ a pro operacˇnı´ syste´m neprˇedvı´datelne´, je vhodne´ prove´st rucˇneˇ (to znamena´ naprˇ´ıklad z prˇ´ıslusˇne´ho kontextove´ho menu vybrat volbu pro odpojenı´ me´dia). Tyto postupy ostatneˇ zna´me i z Windows. Zarˇ´ızenı´, ktera´ je nutne´ prˇipojit (a take´ oddı´ly zabrane´ jiny´m operacˇnı´m syste´mem), se prˇipojujı´ do adresa´rˇe /mnt nebo /media nebo jinam (za´lezˇ´ı na distribuci), v tomto adresa´rˇi pak k zarˇ´ızenı´m mu˚zˇeme prˇistupovat (naprˇ. pokud chceme na disk ulozˇit urcˇity´ soubor, zkopı´rujeme ho do podadresa´rˇe v tomto adresa´rˇi prˇedstavujı´cı´ho dotycˇny´ disk). Poddresa´rˇe pro jednotlive´ oddı´ly v adresa´rˇi /mnt (nebo jak je pojmenova´n) si mu˚zˇeme pojmenovat jak chceme. Uka´zku vidı´me na obra´zku 3.2 na straneˇ 57 a na obra´zku 3.2 na straneˇ 57 – v kazˇde´m z teˇchto prˇ´ıpadu˚ jsou body prˇipojenı´ pojmenova´ny jinak.
3.4.2
Obvykla´ umı´steˇnı´
S pameˇt’ovy´mi zarˇ´ızenı´mi komunikuje uzˇivatel a programa´tor spı´sˇe prˇes bod prˇipojenı´, i kdyzˇ i specia´lnı´ soubor je du˚lezˇity´, s ostatnı´mi zarˇ´ızenı´mi komunikujeme pouze prˇes specia´lnı´ soubor.
P
3.4
ZARˇI´ZENI´
62
Mnoha´ prˇ´ıstupova´ rozhranı´, vcˇetneˇ rozhranı´ pro specia´lnı´ soubory, jsou v Linuxu koncipova´na jako virtua´lnı´ souborove´ syste´my. Tı´m si zatı´m nemusı´me la´mat hlavu, stacˇ´ı na´m jen veˇdeˇt, ktery´ souborovy´ syste´m se pro tyto u´cˇely pouzˇ´ıva´. Ve starsˇ´ıch verzı´ch jsme se mohli setkat se souborovy´m syste´mem devfs, ktery´ celkem spolehliveˇ zajisˇt’oval komunikaci se zarˇ´ızenı´mi. V noveˇjsˇ´ıch verzı´ch se setka´me uzˇ te´meˇrˇ vy´hradneˇ se syste´mem udev, ktery´ je prˇedevsˇ´ım narozdı´l od devfs dynamicky koncipovany´. Z hlediska uzˇivatele je rozdı´l prˇedevsˇ´ım v na´zvech specia´lnı´ch souboru˚ pro pevne´ disky.
P
/dev/sda /dev/sda1
/dev/sda2
...
/dev/sdb /dev/sdb1
/dev/sdb2
...
Obra´zek 3.3: Pojmenova´nı´ specia´lnı´ch souboru˚ (dva pevne´ disky) prˇi pouzˇitı´ udev Pevny´ disk: specia´lnı´ soubor je /dev/sda (prvnı´ pevny´ disk), /dev/sdb (druhy´ pevny´ disk), . . . , pokud ma´me na disku vı´ce diskovy´ch oddı´lu˚ (cozˇ je obvykly´ stav), tak kazˇda´ z nich ma´ take´ vlastnı´ specia´lnı´ soubor a jsou odlisˇeny cˇ´ısly – /dev/sda1, /dev/sda2, . . . Ve skutecˇnosti, i kdyzˇ ma´me na disku jen jediny´ oddı´l, pouzˇ´ıva´ se alesponˇ to cˇ´ıslo 1.3 Bod prˇipojenı´ by´va´ naprˇ´ıklad /mnt/disk1 (na´zev mu˚zˇe by´t jaky´koliv, du˚lezˇite´ je umı´steˇnı´ v adresa´rˇi /mnt nebo /media a take´ to, abychom jednotlive´ disky doka´zali rozlisˇit podle na´zvu). Hlavnı´ linuxovy´ oddı´l se prˇipojuje jako korˇenovy´ adresa´rˇ. Abychom mohli pameˇt’ove´ me´dium prˇipojit, musı´ jeho prˇ´ıpojny´ bod (ten adresa´rˇ) prˇedem vytvorˇen. Na obra´zku 3.4 je disk rozdeˇleny´ na neˇkolik oddı´lu˚. Prvnı´ oddı´l (/dev/sda1) byl na notebooku vytvorˇen prodejcem (nenı´ prˇipojen, proto nevidı´me bod prˇipojenı´). Na na´sledujı´cı´m (/dev/sda2) je nainstalova´n syste´m Windows Vista, bod prˇipojenı´ je /media/diskC a ma´ souborovy´ syste´m NTFS. Kdybychom naprˇ´ıklad chteˇli prˇistupovat k profilu neˇktere´ho uzˇivatele, pracujeme s adresa´rˇem /media/diskC/Users/huz ˇivateli. Na oddı´lu /dev/sda3 je souborovy´ syste´m NTFS, dostaneme se k neˇmu prˇes bod prˇipojenı´ /media/diskD. Oddı´l /dev/sda4 je rozsˇ´ırˇeny´ (to znamena´, zˇe v neˇm nejsou prˇ´ımo data nebo operacˇnı´ syste´my, ale vnorˇene´ oddı´ly). V tomto oddı´lu najdeme oddı´ly /dev/sda5 (je to odkla´dacı´ oddı´l, o te´to problematice se budeme ucˇit v prˇ´ısˇtı´m semestru), /dev/sda6 (hlavnı´ oddı´l, z neˇj se nacˇ´ıta´ Linux) a /dev/sda7 (podle bodu prˇipojenı´ pozna´me, zˇe v neˇm jsou domovske´ adresa´rˇe uzˇivatelu˚). Vsˇimneˇte si, zˇe u /dev/sda6 jsou uvedeny dva prˇ´ıpojne´ body oddeˇlene´ cˇa´rkou. Prvnı´ je korˇenovy´ adresa´rˇ syste´mu, ten druhy´ vede do adresa´rˇe /dev, do jeho skryte´ho podadresa´rˇe .static. 3
Podle syste´mu devfs bylo oznacˇenı´ /dev/hda, /dev/hdb, /dev/hda1, apod.
$
E
ZARˇI´ZENI´
3.4
63
Obra´zek 3.4: Spra´va oddı´lu˚ disku v GNOME, program GPartEd V oddı´lu /dev/sda6 se nacha´zejı´ vsˇechny adresa´rˇe z drˇ´ıve popsane´ struktury, ktere´ nejsou ve vlastnı´m oddı´lu. Naprˇ´ıklad • • • • • •
/boot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . adresa´rˇ v oddı´lu 6 /home/huz ˇivateli . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . adresa´rˇ v oddı´lu 7 /etc/fstab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . soubor v oddı´lu 6 /dev/sda1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . soubor v oddı´lu 6 /usr/lib . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . adresa´rˇ s podadresa´rˇem v oddı´lu 6 /proc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . nenı´ vu ˚ bec ulozˇen na disku!!!
Prˇi instalaci Linuxu lze vytvorˇit jake´koliv mnozˇstvı´ oddı´lu˚ a ulozˇit v nich ktere´koliv adresa´rˇe. Mu˚zˇeme se naprˇ´ıklad setkat s tı´m, zˇe existuje samostatny´ oddı´l pro /usr (s nainstalovany´mi aplikacemi) nebo /boot. SCSI disky majı´ specia´lnı´ soubory /dev/sda1, /dev/sda2, . . . , /dev/sdb1, . . . (tj. prˇi pouzˇitı´ udev nenı´ rozdı´l v oznacˇenı´ beˇzˇny´ch IDE/SATA disku˚ a SCSI disku˚). CD mechanika ma´ specia´lnı´ soubor /dev/cdrom nebo podobny´ (take´ mu˚zˇe by´t pouzˇita syntaxe podle pevny´ch disku˚). Pokud ma´me vı´ce CD mechanik, mu˚zˇeme s nimi zacha´zet podobneˇ jako s pevny´mi disky, za´lezˇ´ı, jak jsou prˇipojeny. Mu˚zˇe to by´t trˇeba /dev/sdb1,
3.4
ZARˇI´ZENI´
64
Obra´zek 3.5: Spra´va oddı´lu˚ disku v KDE, starsˇ´ı verze ja´dra pouzˇ´ıvajı´cı´ devfs /dev/sdc1 apod. Disketa je obvykle /dev/fd0. Pro na´zvy bodu ˚ prˇipojenı´ platı´ tote´zˇ co pro beˇzˇne´ disky.
USB flash disky jsou obvykle prˇipojova´ny jako SCSI (resp. prˇi udev jako pevne´ disky), tedy naprˇ´ıklad flash disk mu˚zˇe by´t /dev/sdb1 (ale mu˚zˇe to by´t /dev/usb0, /dev/usb1, . . . ). Opeˇt potrˇebujeme bod prˇipojenı´, ve ktere´m bude prˇ´ıstupna´ adresa´rˇova´ struktura uvnitrˇ disku. Tiska´rna /dev/lp0, zarˇ´ızenı´ prˇipojena´ k se´riovy´m portu˚m jsou /dev/tty0, /dev/tty1, . . . , k paralelnı´m portu˚m /dev/lp0, /dev/lp1, . . . (take´ LPT tiska´rna). Virtua´lnı´ zarˇı´zenı´ jsou takova´ zarˇ´ızenı´, pro ktera´ nemusı´ existovat fyzicky´ „proteˇjsˇek“. Zarˇ´ızenı´ /dev/null ma´ stejny´ vy´znam jako zarˇ´ızenı´ NULL ve Windows, prˇesmeˇrova´va´ se zde vsˇe, u cˇeho na´s nezajı´ma´ vy´stup, naprˇ´ıklad ru˚zna´ uprˇesnˇujı´cı´ hla´sˇenı´ neˇktery´ch programu˚ (je to tedy vy´stupnı´ zarˇ´ızenı´). Zarˇ´ızenı´ /dev/random a /dev/urandom generujı´ na´hodna´ cˇ´ısla a jsou tedy vstupnı´mi zarˇ´ızenı´mi, prvnı´ z nich pouzˇ´ıva´me, pokud na´m vı´ce za´lezˇ´ı na bezpecˇnosti (generova´nı´ kryptograficky´ch klı´cˇu˚), druhe´ mu˚zˇe by´t zase rychlejsˇ´ı. Zarˇ´ızenı´ /dev/zero zase pouzˇijeme jako vstupnı´, pokud chceme mı´t na vstupu cˇ´ıslo nula (naprˇ´ıklad chceme vytvorˇit soubor urcˇite´ de´lky bez smysluplne´ho obsahu). Rozlisˇujeme specia´lnı´ soubory blokove´ a znakove´. Znakova´ zarˇ´ızenı´ jsou naprˇ´ıklad /dev/random, /dev/zero, tiska´rny, /dev/null – posı´la´me data o de´lce 1 B (resp. sekvence takovy´chto dat), blokova´ zarˇ´ızenı´ jsou naprˇ´ıklad pevny´ disk nebo disketa – komunikujı´ se po blocı´ch o stanovene´ de´lce, ktera´ obvykle by´va´ znacˇneˇ veˇtsˇ´ı nezˇ 1 B s tı´m, zˇe hranice mezi jednotlivy´mi osmicemi bitu˚ nejsou du˚lezˇite´.
P P P
PRˇI´STUPOVA´ OPRA´VNEˇNI´ A VLASTNOSTI SOUBORU˚
3.5
65
´ koly U 1. Pokud pracujete v prostrˇedı´ KDE, najdeˇte v Informacˇnı´m centru seznam u´lozˇny´ch zarˇ´ızenı´, zjisteˇte, ktera´ jsou prˇipojena´ a v jake´m bodu prˇipojenı´. Prˇipojte USB flash disk, pokud ma´te neˇjaky´ k dispozici, a sledujte, jake´ u´daje se do seznamu prˇidajı´. Jestlizˇe pracujete v prostrˇedı´ GNOME, najdeˇte pro tyto u´cˇely obdobne´ na´stroje, ktere´ ma´te nainstalova´ny. 2. Projdeˇte si adresa´rˇ /dev. Najdeˇte specia´lnı´ soubory pro pevne´ disky vcˇetneˇ teˇch odkazujı´cı´ch na oddı´ly na nich. 3. Odhadneˇte, ktery´ specia´lnı´ soubor na´lezˇ´ı mysˇi. 4. V souboru /etc/fstab si projdeˇte dvojice specia´lnı´ch souboru˚ a bodu˚ prˇipojenı´ pro pameˇt’ova´ me´dia. 5. Zjisteˇte, ktere´ diskove´ oddı´ly jsou pouzˇity pro jednotlive´ adresa´rˇe.
3.5 3.5.1
Prˇı´stupova´ opra´vneˇnı´ a vlastnosti souboru˚ ´ vod do prˇı´stupovy´ch opra´vneˇnı´ U
Kazˇdy´ soubor (vcˇetneˇ adresa´rˇu˚) ma´ prˇirˇazeny trˇi du˚lezˇite´ u´daje: • sve´ho vlastnı´ka (obvykle ten uzˇivatel, ktery´ soubor vytvorˇil, u syste´movy´ch souboru˚ je to root), • prˇidruzˇenou skupinu, jejı´zˇ cˇlenove´ obvykle mı´vajı´ k souboru o neˇco vysˇsˇ´ı prˇ´ıstupova´ pra´va nezˇ ostatnı´, • urcˇenı´ prˇ´ıstupovy´ch opra´vneˇnı´ pro vlastnı´ka/cˇleny skupiny/ostatnı´. Kazˇdy´ soubor ma´ prˇirˇazeny trˇi sady prˇ´ıstupovy´ch pra´v – pro sve´ho vlastnı´ka, skupinu (group) a ostatnı´ (others – ty, kterˇ´ı nejsou ani vlastnı´kem, ani cˇlenem prˇirˇazene´ skupiny). Prˇ´ıstupova´ pra´va mu˚zˇe ve veˇtsˇineˇ prˇ´ıpadu˚ meˇnit jen vlastnı´k souboru nebo root (prˇesneˇji, kdykoliv root neˇco deˇla´, jeho pra´va nejsou azˇ na vy´jimky proveˇrˇova´na; kdykoliv neˇco prova´dı´ jiny´ uzˇivatel, jsou prˇi kazˇde´m prˇ´ıstupu k souboru˚m vcˇetneˇ prˇ´ıkazu˚ jeho pra´va proveˇrˇova´na). V kazˇde´ ze trˇ´ı sad (vlastnı´k, skupina, ostatnı´) najdeme nastavenı´ trˇ´ı opra´vneˇnı´ (celkem ˇ eteˇzec s prˇ´ıstupovy´mi opra´vneˇnı´mi tedy ma´ celkem deveˇt znaku˚. Tyto znaky tedy deveˇt). R mohou by´t r (pra´vo cˇtenı´), w (pra´vo za´pisu), x (pra´vo spousˇteˇnı´), nebo pokud toto pra´vo nenı´ prˇideˇleno, pak je zobrazen znak „-“ jako symbol odeprˇenı´ pra´va, to vsˇe pro vlastnı´ka, skupinu a ostatnı´ (tedy trˇi skupiny po trˇech znacı´ch). Vy´znam jednotlivy´ch znaku˚ najdeme v tabulce 3.1 na straneˇ 66.
P
3.5
PRˇI´STUPOVA´ OPRA´VNEˇNI´ A VLASTNOSTI SOUBORU˚
dokument spustitelny´ soubor, skript adresa´rˇ
66
r
w
x
cˇ´ıst cˇ´ıst (zobrazit) vypsat (zobrazit) obsazˇene´ polozˇky
zapisovat, meˇnit zapisovat, meˇnit prˇida´vat a mazat polozˇky
– spustit zvolit jako pracovnı´ (aktivnı´) adresa´rˇ
Tabulka 3.1: Vy´znam prˇ´ıstupovy´ch pra´v Prˇı´klad 3.1 ˇ eteˇzec souboru, ke ktere´mu majı´ vsˇichni povolen jaky´koliv typ prˇ´ıstupu, by byl rwxrwxrwx. R Uka´zˇeme si rˇeteˇzce, ve ktery´ch je vzˇdy alesponˇ jeden typ prˇ´ıstupu odeprˇen. rwxrwxr-- pro majitele a stanovenou skupinu jsou prˇideˇlena vsˇechna pra´va, ostatnı´ mo-
hou jen cˇ´ıst (za´pis a spousˇteˇnı´ jsou pomlcˇkou zaka´za´ny), rwxr--r-- znamena´ vsˇechna pra´va pro majitele, pro skupinu a ostatnı´ jen cˇtenı´, rwxrw---- znamena´ vsˇechna pra´va pro majitele, pro skupinu cˇtenı´ a za´pis, pro ostatnı´ nic, rw-r----- majitel mu ˚ zˇe cˇ´ıst a zapisovat (spousˇteˇnı´ zrˇejmeˇ nema´ smysl, pu˚jde o neˇjaky´
dokument), cˇlenove´ stanovene´ skupiny mohou cˇ´ıst, ostatnı´ nemohou nic.
Pro soubor je vy´znam pra´v r, w a x jasny´ (cˇ´ıst soubor, zapisovat, spousˇteˇt spustitelny´ soubor). Pokud jde o skript (tedy textovy´ soubor s prˇ´ıkazy), mu˚zˇeme ho spustit bud’ s pouzˇitı´m prˇ´ıslusˇne´ho interpretacˇnı´ho programu (tedy jako parametr programu interpretujı´cı´ho perl, bash, php apod.), a nebo prˇ´ımo – to lze, kdyzˇ jsou splneˇny tyto podmı´nky:
P
1) soubor skriptu ma´ nastaveno pra´vo x (spousˇteˇnı´), 2) na zacˇa´tku souboru je stanoveno, ktery´m programem ma´ by´t skript interpretova´n (budeme probı´rat pozdeˇji). Pro adresa´rˇ znamena´ cˇtenı´ vypsat si jeho obsah, za´pis zmeˇnit obsah adresa´rˇe (prˇidat soubory, zmeˇnit, vymazat), spousˇteˇnı´ zvolit si ho jako pracovnı´ (mozˇnosti jsou v tabulce 3.1). Jenzˇe to nenı´ vsˇechno. Abychom se mohli dostat k urcˇite´mu souboru, musı´ na´m by´t prˇ´ıstupna´ i cesta k neˇmu, cozˇ znamena´, zˇe potrˇebujeme mı´t pra´vo x pro vsˇechny adresa´rˇe na cesteˇ k souboru, vcˇetneˇ korˇenove´ho. Prˇı´klad 3.2 Prˇedpokla´dejme, zˇe u souboru /seznamy/xdata.txt a adresa´rˇu˚ na cesteˇ k neˇmu jsou opra´vneˇnı´ nastavena takto: ˇ eteˇzec opra´vneˇnı´ Vlastnı´k Skupina Soubor R / (korˇenovy´ adresa´rˇ)
rwxr-xr-x
root
root
seznamy
rwxr-xr--
jan
marketing
xdata.txt
rw-r-----
jan
marketing
P
PRˇI´STUPOVA´ OPRA´VNEˇNI´ A VLASTNOSTI SOUBORU˚
3.5
67
Root ma´ vsˇechna opra´vneˇnı´ ke vsˇem teˇmto objektu˚m. Uzˇivatel jan se dostane do vsˇech adresa´rˇu˚ na cesteˇ (jen nemu˚zˇe ovlivnˇovat obsah korˇenove´ho adresa´rˇe, u neˇjzˇ pro Jana platı´ poslednı´ trˇetina rˇeteˇzce opra´vneˇnı´) – u obou adresa´rˇu˚ ma´ pra´vo x, take´ mu˚zˇe jakkoliv manipulovat se souborem xdata.txt, protozˇe pro neˇj jako vlastnı´ka platı´ prvnı´ trˇetina rˇeteˇzce opra´vneˇnı´. Vezmeˇme si uzˇivatele pavel, ktery´ je cˇlenem skupiny marketing. Pro neˇj platı´ • / – trˇetı´ trˇetina: r-x dostane se dovnitrˇ • seznamy – druha´ trˇetina: r-x dostane se dovnitrˇ • xdata.txt – trˇetı´ trˇetina: r-- mu˚zˇe pouze cˇ´ıst Naproti tomu pro uzˇivatele lukas, ktery´ nenı´ ani vlastnı´kem, ani cˇlenem prˇidruzˇene´ skupiny marketing, to bude jine´: • / – trˇetı´ trˇetina: r-x dostane se dovnitrˇ • seznamy – trˇetı´ trˇetina: r-- tady se zasekne, nemu˚zˇe mı´t tento adresa´rˇ jako pracovnı´, nemu˚zˇe dovnitrˇ • xdata.txt – trˇetı´ trˇetina: --- nema´ zˇa´dna´ opra´vneˇnı´; i kdyby je meˇl, je mu to na nic, protozˇe se k souboru tak jako tak ani nedostane (potrˇeboval by prˇidat pra´vo x pro seznamy).
3.5.2
Specia´lnı´ prˇı´znaky
Prˇ´ıstupova´ pra´va pro uzˇivatele jsou celkem jasna´ – stanovujı´, co je dovoleno uzˇivateli, pokud prˇistupuje k urcˇite´mu objektu. Kdyzˇ vznika´ neˇco nove´ho (proces, novy´ soubor, novy´ adresa´rˇ apod.), musı´ se take´ stanovit jeho prˇ´ıstupova´ pra´va. Za obvykly´ch okolnostı´ noveˇ vytvorˇeny´ soubor deˇdı´ prˇ´ıstupova´ pra´va od sve´ho tvu˚rce, cozˇ je proces zprostrˇedkovaneˇ spusˇteˇny´ pod urcˇity´m uzˇivatelem, tedy soubor deˇdı´ pra´va sve´ho uzˇivatele vcˇetneˇ nastavenı´ vlastnı´ka a skupiny. Tote´zˇ platı´ o noveˇ vytvorˇene´m adresa´rˇi. Deˇdeˇnı´ pra´v vsˇak lze ovlivnit, a to specia´lnı´mi prˇ´ıznaky prˇ´ıstupovy´ch pra´v – SUID (SetUID), SGID (SetGID) a Sticky. Jaky´ko- Obra´zek 3.6: Prˇ´ıstupova´ opra´vneˇnı´ v Linuxu, liv soubor nebo adresa´rˇ mu˚zˇe mı´t tyto prˇ´ı- vcˇetneˇ specia´lnı´ch prˇ´ıznaku˚ znaky nastaveny, i kdyzˇ u veˇtsˇiny tomu
P
3.5
PRˇI´STUPOVA´ OPRA´VNEˇNI´ A VLASTNOSTI SOUBORU˚
68
Adresa´rˇ:
=0
=1
SUID =
Kdyzˇ vytva´rˇ´ıme novy´ podadresa´rˇ v tomto adresa´rˇi, vlastnı´kem se sta´va´me my (tj. vlastnı´kem nove´ho adresa´rˇe se sta´va´ jeho tvu˚rce – uzˇivatel nebo vlastnı´k tvorˇ´ıcı´ho procesu). Kdyzˇ vytva´rˇ´ıme novy´ podadresa´rˇ v tomto adresa´rˇi, prˇirˇazenou skupinou se sta´va´ nasˇe prima´rnı´ skupina (do ktere´ pra´veˇ patrˇ´ıme). Pokud ma´ uzˇivatel k adresa´rˇi prˇirˇazeno pra´vo „w“, mu˚zˇe kromeˇ prˇida´va´nı´ polozˇek v adresa´rˇi take´ tyto prvky mazat. Modifikovat polozˇku (naprˇ´ıklad meˇnit obsah souboru) mu˚zˇe jen tehdy, kdyzˇ ma´ pra´vo „w“ prˇ´ımo k te´to polozˇce.
Kdyzˇ vytva´rˇ´ıme novy´ podadresa´rˇ v tomto adresa´rˇi, novy´ podadresa´rˇ zdeˇdı´ vlastnı´ka od sve´ho nadrˇ´ızene´ho adresa´rˇe (tj. adresa´rˇ prˇeda´va´ vlastnı´ka svy´m podadresa´rˇu˚m). Kdyzˇ vytva´rˇ´ıme novy´ podadresa´rˇ v tomto adresa´rˇi, prˇirˇazena´ skupina je zdeˇdeˇna od nadrˇ´ızene´ho adresa´rˇe.
SGID =
Sticky =
Pokud ma´ uzˇivatel k adresa´rˇi prˇirˇazeno pra´vo „w“, mu˚zˇe prˇida´vat (a prˇ´ıpadneˇ modifikovat) polozˇky, ale mazat je mu˚zˇe pouze jejich vlastnı´k nebo root. Je to obrana proti nechteˇne´mu smaza´nı´ cizı´ho souboru.
Tabulka 3.2: Specia´lnı´ pra´va pro adresa´rˇe tak neby´va´. Majı´ vy´znam pouze pro adresa´rˇe a spustitelne´ soubory (vcˇetneˇ textovy´ch skriptu˚). V tabulka´ch 3.2 a 3.3 je prˇehledneˇ vysveˇtlen vy´znam nastavenı´ bitu˚ SUID, SGID a Sticky (pro spustitelne´ soubory tento prˇ´ıznak nema´ vyuzˇitı´). U starsˇ´ıch verzı´ Unixu˚ byl Sticky bit pouzˇ´ıva´n take´ u spustitelny´ch souboru˚ – kdyzˇ byl nastaven, pak po ukoncˇenı´ zu˚stal jeho ko´d v operacˇnı´ pameˇti, aby v prˇ´ıpadeˇ opeˇtovne´ho spusˇteˇnı´ tohoto programu nebylo nutne´ ko´d znovu do pameˇti nacˇ´ıtat. V soucˇasne´ dobeˇ jizˇ prakticky zˇa´dny´ Unix tuto mozˇnost nepouzˇ´ıva´. Na obra´zku 3.6 je uka´zka nastavenı´ prˇ´ıstupovy´ch opra´vneˇnı´ vcˇetneˇ specia´lnı´ch prˇ´ıznaku˚ ve vlastnostech souboru v prostrˇedı´ KDE (v GNOME je to podobne´, ale ke specia´lnı´m prˇ´ıznaku˚m se veˇtsˇinou dostaneme jen prˇes prˇ´ıkazy v textove´m shellu). SUID bit u spustitelne´ho souboru mu˚zˇe by´t nebezpecˇny´ – spustitelny´ch souboru˚, jejichzˇ vlastnı´kem je root a majı´ nastaveny´ SUID bit, by meˇlo by´t co nejme´neˇ, jen v nejnutneˇjsˇ´ıch prˇ´ıpadech. Veˇtsˇina prˇ´ıpadu˚ SUID bitu se ve skutecˇnosti da´ rˇesˇit jinak, naprˇ´ıklad prˇ´ıkazem pro navy´sˇenı´ pra´v (takte´zˇ pouzˇ´ıvany´m s rozmyslem). Nastavenı´ specia´lnı´ch opra´vneˇnı´ se take´ projevı´ v rˇeteˇzci s prˇ´ıstupovy´mi pra´vy, a to na mı´stech, kde obvykle by´va´ „x“ pro spusˇteˇnı´. Prˇi nastavenı´ SUID najdeme „S“ na tomto mı´steˇ v trojici pro uzˇivatele, prˇi nastavenı´ SGID tote´zˇ pı´smeno v trojici pro skupinu a pro Sticky bit pı´smeno „T“ v poslednı´ trojici. Takzˇe prˇ´ıstupova´ opra´vneˇnı´ adresa´rˇe, ktere´mu
E $
3.5
PRˇI´STUPOVA´ OPRA´VNEˇNI´ A VLASTNOSTI SOUBORU˚
Spustitelny´ soubor: SUID =
SGID =
69
=0
=1
Kdyzˇ spousˇtı´me spustitelny´ soubor, vlastnı´kem vznikle´ho procesu se sta´va´me my, proces prˇebı´ra´ prˇ´ıstupova´ pra´va od toho, kdo ho spustil. Beˇzˇne´ chova´nı´, skupina obvykle nepotrˇebuje mı´t vliv na proces.
Kdyzˇ spousˇtı´me spustitelny´ soubor, vlastnı´kem vznikle´ho procesu se sta´va´ vlastnı´k spustitelne´ho souboru, proces zdeˇdı´ prˇ´ıstupova´ pra´va od vlastnı´ka souboru. Toto nastavenı´ se pouzˇ´ıva´ pro programy, ktere´ obvykle spousˇtı´ beˇzˇny´ uzˇivatel, ale tento program prˇi sve´ cˇinnosti potrˇebuje vysˇsˇ´ı prˇ´ıstupova´ opra´vneˇnı´ (naprˇ´ıklad prˇi zmeˇneˇ hesla). Funguje podobneˇ jako SUID = 1, prˇ´ıstupova´ opra´vneˇnı´ spusˇteˇne´ho procesu se deˇdı´ od prˇ´ıstupovy´ch opra´vneˇnı´ skupiny prˇirˇazene´ spustitelne´mu souboru. Tzv. efektivnı´ skupinou procesu je skupina souboru. Obvykle nenasta´va´ situace, kdy by SUID i SGID souboru byly nastaveny na 1.
Tabulka 3.3: Specia´lnı´ pra´va pro spustitelne´ soubory vcˇetneˇ skriptu˚ nastavı´me SUID a Sticky bity, by mohla vypadat naprˇ´ıklad takto: rwSrwxr-T ´ koly U 1. Projdeˇte si prˇ´ıstupova´ opra´vneˇnı´ (take´ vlastnı´ka a skupinu) souboru˚ a adresa´rˇu˚ ve sve´m domovske´m adresa´rˇi. Srovnejte opra´vneˇnı´ u adresa´rˇu˚, dokumentu˚ a spustitelny´ch souboru˚. 2. Rozko´dujte tyto rˇeteˇzce opra´vneˇnı´: Adresa´rˇe: • • • •
rwxr-x--rwxr--r-rwSrwSr-rwxrwx--T
Soubory: • • • •
rw-rw-r-rwxr-x--rwSr--r-rwxr-S---
3. Zjisteˇte u prˇ´ıkazu˚ v adresa´rˇi /bin, kdo by´va´ vlastnı´kem a jaka´ majı´ prˇ´ıstupova´ opra´vneˇnı´. 4. Najdeˇte soubor /usr/bin/passwd a zjisteˇte, jaka´ opra´vneˇnı´ ma´ prˇirˇazena (vcˇetneˇ specia´lnı´ch). 5. Ktere´ opra´vneˇnı´ a kde musı´ by´t nastaveno, abyste mohli smazat soubor, ktery´ vlastnı´te?
PRˇI´STUPOVA´ OPRA´VNEˇNI´ A VLASTNOSTI SOUBORU˚
3.5
3.5.3
70
Atributy souboru˚
Kazˇdy´ soubor (mı´neˇno vcˇetneˇ adresa´rˇu˚ a specia´lnı´ch souboru˚) ma´ atributy, ktere´ ho plneˇ urcˇujı´ (pozor – pod pojmem atribut zde rozumı´me neˇco jine´ho nezˇ ve Windows). Tyto atributy v sobeˇ zahrnujı´ prˇedevsˇ´ım vlastnosti souvisejı´cı´ s identifikacı´ a opra´vneˇnı´mi souboru. Jsou to:
P
1. typ souboru – adresa´rˇ, beˇzˇny´ soubor, symbolicky´ odkaz, roura (pipe), apod. 2. mo´d souboru – obsahuje nastavenı´ prˇ´ıstupovy´ch opra´vneˇnı´ (cˇ´ıslo, ve ktere´m je zako´dova´n rˇeteˇzec, ktery´m jsme se zaby´vali v prˇedchozı´m textu) 3. pocˇet pevny´ch odkazu˚ na soubor 4. vlastnı´k (majitel) souboru (jeho UID) 5. skupina prˇirˇazena´ souboru (jejı´ GID) 6. velikost souboru v B (pro adresa´rˇ ma´ vztah k pocˇtu souboru˚ v tomto adresa´rˇi) 7. cˇas poslednı´ho prˇ´ıstupu k souboru (nejen otevrˇenı´ souboru) 8. cˇas poslednı´ zmeˇny obsahu souboru 9. cˇas poslednı´ zmeˇny atributu˚ souboru (teˇchto atributu˚), meˇnı´ se tedy naprˇ´ıklad i prˇi zmeˇneˇ vlastnı´ka nebo prˇ´ıstupovy´ch opra´vneˇnı´ Prvnı´ dveˇ polozˇky probereme podrobneˇji, ostatnı´ jsou zrˇejme´ z prˇedchozı´ho textu. Typ souboru: rozlisˇujeme d c b p l
adresa´rˇ (directory) obycˇejny´ soubor specia´lnı´ soubor pro znakove´ zarˇ´ızenı´ (Character Device) specia´lnı´ soubor pro blokove´ zarˇ´ızenı´ (Block Device) roura (Pipe) – lze vytva´rˇet i pojmenovane´ roury, ktere´ po sve´m pouzˇitı´ nejsou zrusˇeny symbolicky´ odkaz – link
Prˇı´klad 3.3 Typ souboru by´va´ ve vy´pisech uveden teˇsneˇ prˇed prˇ´ıstupovy´mi opra´vneˇnı´mi, naprˇ´ıklad • „drwxr-xr-x“ znamena´, zˇe jde o adresa´rˇ (d), ke ktere´mu ma´ vlastnı´k plna´ prˇ´ıstupova´ pra´va, a cˇlenu˚m prˇidruzˇene´ skupiny a ostatnı´m uzˇivatelu˚m je dovoleno vypsat si obsah adresa´rˇe (r) a nastavit ho jako pracovnı´ adresa´rˇ (x), • „-rw-r--r--“ je rˇeteˇzec pro beˇzˇny´ soubor, jeho vlastnı´k ho mu˚zˇe cˇ´ıst i meˇnit, vsˇichni ostatnı´ pouze cˇ´ıst (pravdeˇpodobneˇ nepu˚jde o spustitelny´ soubor nebo spousˇteˇnı´ nenı´ prˇ´ımo dovoleno), • „lrwxr-xr-x“ jde o symbolicky´ odkaz (l).
P
3.5
PRˇI´STUPOVA´ OPRA´VNEˇNI´ A VLASTNOSTI SOUBORU˚
71
Mo´d souboru je cˇ´ıslo slozˇene´ ze cˇtyrˇ cˇ´ıslic, prvnı´ odpovı´da´ specia´lnı´mu prˇ´ıznaku souboru. Tyto cˇ´ıslice dostaneme soucˇtem urcˇity´ch cˇ´ısel (tj. vlastneˇ pracujeme s bina´rnı´m cˇ´ıslem, ktere´ pak prˇevedeme na desı´tkove´): • prvnı´ cˇ´ıslice: 4 – set UID, nastaven prˇ´ıznak SUID 2 – set GID, nastaven prˇ´ıznak SGID 1 – set Sticky bit, nastaven prˇ´ıznak Sticky • druha´ cˇ´ıslice: 4 – pra´vo cˇtenı´ pro majitele (r) 2 – pra´vo za´pisu pro majitele (w) 1 – pra´vo spousˇteˇnı´ pro majitele (x) • trˇetı´ cˇ´ıslice: tote´zˇ pro skupinu • cˇtvrta´ cˇ´ıslice: tote´zˇ pro ostatnı´ uzˇivatele Prˇı´klad 3.4 Princip si uka´zˇeme na neˇkolika prˇ´ıkladech: • rˇeteˇzec „rwxr-xr-x“ s tı´m, zˇe SUID, SGID i Sticky jsou 0, tento rˇeteˇzec (vcˇetneˇ specia´lnı´ch bitu˚, ktere´ umı´stı´me zcela vlevo) je bina´rneˇ 000k111k101k101, zako´dujeme jako (0 + 0 + 0)k(1 · 22 + 1 · 21 + 1 · 20 )k(1 · 22 + 0 · 21 + 1 · 20 )k(1 · 22 + 0 · 21 + 1 · 20 ) = = (0 + 0 + 0)k(4 + 2 + 1)k(4 + 0 + 1)k(4 + 0 + 1) = 0755, • rˇeteˇzec „rw-r-----“ s tı´m, zˇe SUID, SGID i Sticky jsou 0, je bina´rneˇ (vcˇetneˇ specia´lnı´ch bitu˚) 000k110k100k000, zako´dujeme jako (0 + 0 + 0)k(4 + 2 + 0)k(4 + 0 + 0)k(0 + 0 + 0) = 0640, • rˇeteˇzec „rwxr-x---T“ s nastaveny´m Sticky bitem bude zako´dova´n na´sledovneˇ: (0 + 0 + 1)k(4 + 2 + 1)k(4 + 0 + 1)k(0 + 0 + 1) = 1751, • rˇeteˇzec „rwSr--r--“ s nastaveny´m SUID bitem bude zako´dova´n na´sledovneˇ: (4 + 0 + 0)k(4 + 2 + 1)k(4 + 0 + 0)k(4 + 0 + 0) = 4744, • mo´d 0710 znamena´, zˇe – ze specia´lnı´ch bitu˚ nenı´ nastaven zˇa´dny´, – majitel souboru ma´ nastavena vsˇechna prˇ´ıstupova´ pra´va, 4 + 2 + 1 = 7, rwx, – skupina, jejı´zˇ GID je take´ v atributech souboru, ma´ pouze pra´vo spousˇteˇnı´ (trˇeba programu˚), tj. 0 + 0 + 1 = 1, --x, – ostatnı´ nemajı´ zˇa´dna´ prˇ´ıstupova´ pra´va (0 + 0 + 0 = 0, ---), odpovı´da´ to sekvenci „rwx--x---“, • mo´d 2754 znamena´, zˇe – je nastaven SGID bit (0 + 2 + 0 = 2), – majitel souboru ma´ nastavena vsˇechna prˇ´ıstupova´ pra´va, 4 + 2 + 1 = 7, rwx, – skupina ma´ pouze pra´vo cˇtenı´ a spousˇteˇnı´ (zrˇejmeˇ se jedna´ o adresa´rˇ, tedy mozˇnost nastavit adresa´rˇ jako pracovnı´), tj. 4 + 0 + 1 = 5, r-x,
P
3.5
PRˇI´STUPOVA´ OPRA´VNEˇNI´ A VLASTNOSTI SOUBORU˚
72
– ostatnı´ majı´ pra´vo cˇtenı´ (zobrazit obsah adresa´rˇe, 4 + 0 + 0 = 4, r--), odpovı´da´ to sekvenci „rwxr-Sr--“.
Obra´zek 3.7: Vy´pis vlastnostı´ souboru˚ v graficke´m a textove´m rezˇimu Na obra´zku 3.7 vidı´me vy´pis vlastnostı´ souboru˚ v adresa´rˇi pro dokumenty uzˇivatele, a to nejdrˇ´ıv ve spra´vci souboru˚ (Konqueror v KDE) a pak v termina´lu. Oba vy´pisy jsou prakticky ekvivalentnı´, jen v graficke´m rezˇimu je vypnuto zobrazova´nı´ pevny´ch odkazu˚ na nadrˇ´ızeny´ adresa´rˇ a sebe sama („tecˇkove´“ adresa´rˇe). V okneˇ Konqueroru vidı´me z atributu˚ hned za na´zvem velikost, cˇas poslednı´ zmeˇny, prˇ´ıstupova´ opra´vneˇnı´ vcˇetneˇ typu souboru, vlastnı´ka a skupinu. U symbolicky´ch odkazu˚ se zobrazı´ take´ cı´lovy´ soubor. V menu lze samozrˇejmeˇ zvolit take´ zobrazova´nı´ dalsˇ´ıch atributu˚. V okneˇ termina´lu jsme pouzˇili prˇ´ıkaz ls -la. Tento prˇ´ıkaz je obdobou prˇ´ıkazu dir ve Windows, vypisuje obsah adresa´rˇe. Parametry -la zajisˇt’ujı´ „dlouhy´“ vy´pis (long, vcˇetneˇ atributu˚), a to vsˇech souboru˚ (all, vcˇetneˇ skryty´ch). Oproti vy´pisu v Konqueroru ma´me navı´c pocˇet pevny´ch odkazu˚ na soubor (to cˇ´ıslo hned za rˇeteˇzcem opra´vneˇnı´), na´sleduje vlastnı´k, skupina, velikost a cˇas poslednı´ zmeˇny (rok se zrovna nevypisuje, poslednı´ zmeˇna tedy byla letos u vsˇech souboru˚). Jako poslednı´ u´daj je uveden na´zev souboru (je poslednı´, protozˇe narozdı´l od ostatnı´ch mu˚zˇe by´t jakkoliv dlouhy´ a teˇzˇko se „zarovna´va´“ do sloupce).
3.5
PRˇI´STUPOVA´ OPRA´VNEˇNI´ A VLASTNOSTI SOUBORU˚
73
Jak vidı´me, symbolicky´ odkaz pozna´me podle „l“ v na zacˇa´tku rˇeteˇzce opra´vneˇnı´. Znacˇit pevne´ odkazy podobny´m zpu˚sobem nema´ smysl, protozˇe jsou naprosto rovnocenne´ s jakoukoliv dalsˇ´ı cestou k souboru. Jejich existence se projevuje pouze v hodnoteˇ cˇ´ısla pocˇtu pevny´ch odkazu˚, ktere´ vidı´me na obra´zku z termina´lu.
Obra´zek 3.8: Vy´pis vlastnostı´ neˇktery´ch specia´lnı´ch souboru˚ (dva ru˚zne´ syste´my, prvnı´ pouzˇ´ıva´ udev, druhy´ devfs) Na vy´pisech jsme zatı´m videˇli beˇzˇne´ soubory, adresa´rˇe a odkazy. Na obra´zku 3.8 najdeme i jine´ typy souboru˚ (hveˇzdicˇka zastupuje jaky´koliv rˇeteˇzec, tedy naprˇ´ıklad cd* zastupuje vsˇe, co zacˇ´ına´ podrˇeteˇzcem cd a pak mohou na´sledovat jake´koliv dalsˇ´ı znaky). Jak vı´me, v adresa´rˇi /dev jsou specia´lnı´ soubory zarˇ´ızenı´. Zarˇ´ızenı´ jsou znakova´ nebo blokova´, cozˇ se projevı´ take´ v typu specia´lnı´ho souboru. Vidı´me, zˇe rˇa´dky pro zarˇ´ızenı´ random a urandom zacˇ´ınajı´ pı´smenem „c“, jde o znakova´ zarˇ´ızenı´ (character), a to virtua´lnı´ vstupnı´ zarˇ´ızenı´ generujı´cı´ na´hodna´ cˇ´ısla (tento fakt se ve vy´pisu neobjevı´). Specia´lnı´ soubory zacˇ´ınajı´cı´ rˇeteˇzcem sd na´lezˇejı´ (prˇi pouzˇitı´ udev) pevne´mu disku cˇi jeho oddı´lu˚m. Jak vidı´me, jde o blokova´ zarˇ´ızenı´ („b“ jako block), na disku jsou pouze trˇi oddı´ly. Poslednı´ cˇa´st vy´pisu v leve´m okneˇ obsahuje symbolicke´ odkazy („l“) na specia´lnı´ soubory nacha´zejı´cı´ se v tomte´zˇ adresa´rˇi, k CD/DVD mechanice lze tedy prˇistupovat prˇes trˇi ru˚zne´ soubory, z nichzˇ jeden je specia´lnı´ (/dev/scd0), dalsˇ´ı dva jsou jen odkazy. Na obra´zku 3.8 vpravo je obdobny´ vy´pis na syste´mu pouzˇ´ıvajı´cı´m starsˇ´ı devfs, na pevne´m disku je celkem 11 oddı´lu˚, a da´le vidı´me dveˇ CD/DVD mechaniky (poslednı´ dva rˇa´dky vy´pisu). Urcˇiteˇ jste si vsˇimli, zˇe ve sloupci, kde podle termina´lu na obra´zku 3.7 byla velikost souboru, je u zarˇ´ızenı´ na obra´zku 3.8 neˇco jine´ho – dveˇ cˇ´ısla oddeˇlena´ cˇa´rkou (je to patrne´ hlavneˇ vlevo, kde jsou ve vy´pisu kromeˇ specia´lnı´ch souboru˚ i symbolicke´ odkazy). U specia´lnı´ch zarˇ´ızenı´ obvykle nema´ moc smysl vypisovat velikost souboru, ale zato je du˚lezˇity´ jiny´ u´daj – cˇ´ısla zarˇ´ızenı´. Ja´dro unixovy´ch syste´mu˚ nepracuje s na´zvy specia´lnı´ch souboru˚,
P
3.5
PRˇI´STUPOVA´ OPRA´VNEˇNI´ A VLASTNOSTI SOUBORU˚
74
ale se zarˇ´ızenı´mi zacha´zı´ pomocı´ hlavnı´ho a vedlejsˇ´ıho cˇ´ısla zarˇ´ızenı´. Hlavnı´ cˇ´ıslo oznacˇuje trˇ´ıdu zarˇ´ızenı´. Svou trˇ´ıdu majı´ hlavnı´ blokova´ zarˇ´ızenı´ (pevne´ disky, RAM disky apod.), dalsˇ´ı je pro vstupnı´ zarˇ´ızenı´ (naprˇ´ıklad mysˇ), dalsˇ´ı majı´ sı´t’ova´ zarˇ´ızenı´ (sı´t’ove´ karty), atd., ty´ka´ se to take´ virtua´lnı´ch zarˇ´ızenı´. Rozdeˇlenı´ do trˇ´ıd zde odpovı´da´ tomu, co jsme videˇli v adresa´rˇi /sys/class. Vedlejsˇ´ı cˇ´ıslo pak odlisˇuje jednotliva´ zarˇ´ızenı´ ve stejne´ trˇ´ıdeˇ. Staticky´ souborovy´ syste´m pro zarˇ´ızenı´ devfs meˇl stanoveno, ktera´ hlavnı´ cˇ´ısla patrˇ´ı ktery´m zarˇ´ızenı´m, v dynamicke´m udev se hlavnı´ i vedlejsˇ´ı cˇ´ısla prˇirˇazujı´ dynamicky podle jejich prˇipojova´nı´. ´ koly U 1. Podle rˇeteˇzce s prˇ´ıstupovy´mi opra´vneˇnı´mi rwSr-xr-T sestavte k neˇmu ekvivalentnı´ cˇ´ıselnou reprezentaci mo´du souboru. 2. Vytvorˇte rˇeteˇzec s prˇ´ıstupovy´mi opra´vneˇnı´mi podle mo´du 1551. 3. Prˇirˇad’te k rˇeteˇzcu˚m s prˇ´ıstupovy´mi opra´vneˇnı´mi k nim ekvivalentnı´ cˇ´ıselnou reprezentaci mo´du souboru: rwxrwxr--
rwxrwSr-T
rw-rw-r--
rwxrwxr-x
rwSrwx---
rwxr-Sr-x
2755
0774
3775
0775
0664
4770
4. Prohle´dneˇte si vlastnosti souboru˚ a podadresa´rˇu˚ v adresa´rˇi /proc. Z jake´ho du˚vodu majı´ vsˇechny soubory nulovou velikost? Do ktery´ch lze zapisovat a kdo za´pis mu˚zˇe prove´st? Co vyply´va´ z rozdı´lu˚ ve vlastnı´kovi (a skupineˇ) u podadresa´rˇu˚ s cˇ´ıselny´m pojmenova´nı´m (vzhledem? 5. Spust’te si termina´l (nebojte se, zatı´m si nemusı´te pamatovat zˇa´dne´ prˇ´ıkazy). Najdete ho v hlavnı´m menu prostrˇedı´. V KDE hledejte v „rozveˇtvene´m“ menu, veˇtsˇinou mezi na´stroji pro spra´vu syste´mu – kategorie mu˚zˇe mı´t vı´ce ru˚zny´ch na´zvu˚, mu˚zˇe to by´t konsole, xterm, atd. V GNOME je termina´l v Aplikace ï Prˇ´ıslusˇenstvı´. Pokud jste sˇt’astneˇ nalezli a spustili, vyzkousˇejte tuto sekvenci prˇ´ıkazu˚: cd ~ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . prˇechod do domovske´ho adresa´rˇe touch pokus.txt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vytvorˇ´ıme soubor pokus.txt ls po* -l . . . . . . . . . . . . . . . . . . . . . podı´vejte se prˇedevsˇ´ım na prˇ´ıstupova´ opra´vneˇnı´ chmod u+s . . . . . . . . . . . . . . . . . . . . . . . . . nastavı´me SUID („u“ jako user, zde vlastnı´k) ls po* -l . . . . . . . . . . . . . . . . . . . . . . jak se to projevilo v prˇ´ıstupovy´ch opra´vneˇnı´ch? chmod u-s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . zrusˇ´ıme SUID ls po* -l . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . opeˇt zkontrolujeme chmod g+s . . . . . . . . . . . . . . . . . . . . . . . . . . . . nastavı´me SGID („g“ jako group, skupina)
R
3.5
PRˇI´STUPOVA´ OPRA´VNEˇNI´ A VLASTNOSTI SOUBORU˚
75
ls po* -l . . . . . . . . . . . . . oveˇrˇ´ıme, jak se to odrazilo na prˇ´ıstupovy´ch opra´vneˇnı´ch chmod +t . . . . . . . . . nastavı´me Sticky bit (nevztahuje se k vlastnı´kovi ani skupineˇ) ls po* -l . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . zkontrolujeme zmeˇnu v opra´vneˇnı´ch rm pokus.txt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . smazˇeme soubor pokus.txt
To vytvorˇenı´ a smaza´nı´ mu˚zˇeme klidneˇ prove´st i v graficke´m rezˇimu. Takte´zˇ oveˇrˇovat rˇeteˇzec s prˇ´ıstupovy´mi opra´vneˇnı´mi (prˇ´ıkaz ls) lze v souborove´m manazˇerovi (v KDE pouzˇijeme Konqueror nebo Dolphin, v GNOME by´va´ Nautilus, zapneme zobrazenı´ sloupce s opra´vneˇnı´mi).
Kapitola
4
Linux Tato kapitola je prˇedevsˇ´ım urcˇena k za´kladnı´mu sezna´menı´ s Linuxem. Podı´va´me se na nejzna´meˇjsˇ´ı distribuce, jaky´ software v distribucı´ch obvykle najdeme a jak nainstalovat dalsˇ´ı, a jak nainstalovat samotny´ Linux.
4.1
Za´kladnı´ u´daje
Linux je ve skutecˇnosti jen ja´dro (a jesˇteˇ k tomu bychom meˇli spra´vneˇ psa´t GNU/Linux), to, s cˇ´ım se setka´ uzˇivatel, je distribuce Linuxu od konkre´tnı´ firmy nebo komunity (skupiny programa´toru˚ a uzˇivatelu˚) – k ja´dru jsou prˇida´ny dalsˇ´ı moduly, na´stroje a programy vcˇetneˇ graficke´ho prostrˇedı´. Na u´rovni zdrojovy´ch ko´du˚ je Linux kompatibilnı´ s Unixem, i kdyzˇ linuxovy´ ko´d byl kompletneˇ znovu vytvorˇen. Vlastnı´m tvu˚rcem Linuxu je Linus Torvalds, ktery´, jesˇteˇ jako student informatiky na univerziteˇ v Helsinka´ch, roku 1991 poslal na internet prvnı´ verzi Linuxu (0.1). Tato verze zu˚stala navzˇdy pouze v podobeˇ zdrojove´ho ko´du (veˇtsˇinou v jazyce C), prvnı´ prˇelozˇena´ verze byla 0.2. Prvnı´ vı´ce provozovana´ verze byla 1.0, objevila se v roce 1994. Na vy´voji Linuxu se od te´ doby podı´lejı´ tisı´ce dalsˇ´ıch vy´voja´rˇu˚. Verze samotne´ho Linuxu je ve skutecˇnosti verze ja´dra. Dnes je nejrozsˇ´ırˇeneˇjsˇ´ı verze ja´dra 2.6, tam, kde je velky´ du˚raz na stabilitu syste´mu, se mu˚zˇeme setkat s ja´drem verze 2.4. Pro ja´dro Linuxu platı´: verze se sudy´m cˇ´ıslem za tecˇkou jsou stabilnı´ („stable“), verze s lichy´m cˇ´ıslem za tecˇkou jsou vy´vojove´ („testing“), po odchyta´nı´ vsˇech nedostatku˚ se prˇehoupnou na sude´ cˇ´ıslo. Liche´ verze pouzˇ´ıvajı´ prˇedevsˇ´ım ti lide´, kterˇ´ı chteˇjı´ poma´hat prˇi vy´voji Linuxu nebo je la´kajı´ nove´ mozˇnosti teˇchto verzı´. Od verze 2.6 to vsˇak neplatı´ do du˚sledku˚. Kdyzˇ jsou prˇida´va´ny dalsˇ´ı vlastnosti nebo prova´deˇny zmeˇny, odrazı´ se to v na´sledujı´cı´ch u´rovnı´ch cˇ´ıslova´nı´, prˇ´ıpadneˇ se prˇida´ zkratka rc, ktera´ znamena´ testovacı´ cˇi nestabilnı´ verzi. Prˇechod na verzi 2.7 bude proveden azˇ 76
P
ZA´KLADNI´ U´DAJE
4.1
77
u velmi vy´razne´ zmeˇny. Celkove´ distribuce (to co si stahujeme z internetu nebo kupujeme, je to „distribuova´no“) majı´ vlastnı´ cˇ´ıslova´nı´ verzı´, kazˇdy´ vy´robce pouzˇ´ıva´ vlastnı´ cˇ´ıslova´nı´. Prˇesto by´va´ du˚lezˇity´m u´dajem take´ cˇ´ıslo verze ja´dra. U neˇktery´ch distribucı´ by´va´ mozˇne´ si prˇi instalaci vybrat mezi dveˇma verzemi ja´dra. Minima´lnı´ konfigurace je ru˚zna´ pro ru˚zne´ distribuce, absolutnı´m minimem je to, co platı´ take´ pro Unix, tedy procesor i386 a neˇkolik MB pameˇti. Veˇtsˇ´ı distribuce obvykle doporucˇujı´ alesponˇ Pentium III, vysˇsˇ´ı na´roky platı´ prˇedevsˇ´ım pro prˇ´ıpad, zˇe chceme pracovat v graficke´m prostrˇedı´ a pouzˇ´ıvat „zdrojoveˇ na´rocˇneˇjsˇ´ı “ aplikace.
P
S podporou hardwarovy´ch zarˇ´ızenı´ je to rok od roku lepsˇ´ı s tı´m, jak vy´robci HW zacˇ´ınajı´ s Linuxem pocˇ´ıtat prˇi psanı´ ovladacˇu˚ nebo alesponˇ zverˇejnˇujı´ informace nutne´ pro programa´tory ovladacˇu˚, obecneˇ nenı´ s veˇtsˇinou zarˇ´ızenı´ proble´m (Linux obsahuje mnoho „implicitnı´ch“ ovladacˇu˚, ktere´ sice neˇkdy nedoka´zˇou vyuzˇ´ıt plneˇ mozˇnosti zarˇ´ızenı´, ale funguje to), pracuje beˇzˇneˇ s CD a DVD mechanikami, SCSI zarˇ´ızenı´mi, LCD obrazovkami apod. Ovladacˇe pro Linux neby´vajı´ prˇ´ımo v doda´vce hardwaru, takzˇe pokud nedostacˇujı´ implicitnı´ ovladacˇe, je veˇtsˇinou mozˇne´ najı´t ovladacˇe na internetu. Neˇktera´ zarˇ´ızenı´ vsˇak jsou dosud problematicka´. Ty´ka´ se to zejme´na velmi nestandardnı´ch nebo „noname“ zarˇ´ızenı´, take´ podpory neˇktery´ch komponent v noteboocı´ch. Pokud si kupujeme notebook a chceme na neˇj instalovat Linux, je vhodne´ si prˇedem oveˇrˇit, jestli bude vsˇe funkcˇnı´. K tomu u´cˇelu pouzˇijeme naprˇ´ıklad tyto stra´nky: • • • • • • • • •
http://www.linlap.com/ http://www.linux.org/hardware/ http://www.linux-drivers.org/ http://tldp.org/HOWTO/Hardware-HOWTO/ http://www.linuxcompatible.org/compatibility.html http://www.ubuntuhcl.org/ http://en.opensuse.org/Hardware http://hardware4linux.info/ http://www.linuxhardware.org/
Nemeˇli bychom zapomı´nat, zˇe v anglofonnı´ oblasti se mı´sto pojmu „notebook“ pouzˇ´ıva´ spı´sˇe „laptop“. Je mozˇne´ projı´t stra´nky te´ distribuce, kterou jsme zvolili, prˇ´ıpadneˇ nejjednodusˇsˇ´ı je prosteˇ zadat specifikaci zarˇ´ızenı´ (notebooku, disku, webkamery apod.) Googlu. Existuje mozˇnost pouzˇ´ıva´nı´ ovladacˇu˚ psany´ch pro Windows – jejich cˇinnost zprostrˇedkova´va´ program NDISWrapper. Je to jake´si rozhranı´, ktere´ implementuje cˇa´st API (programove´ho rozhranı´, prˇes ktere´ procesy komunikujı´ s ja´drem operacˇnı´ho syste´mu) ja´dra Windows a NDIS (Network Driver Interface Specification) API, a umozˇnˇuje beˇh neˇktery´ch ovladacˇu˚ pro Windows, ktery´m toto rozhranı´ postacˇuje. NDISWrapper je pouzˇ´ıva´n
P
LINUXOVE´ DISTRIBUCE
4.2
78
prˇedevsˇ´ım u karet pro bezdra´tove´ sı´teˇ, ale byl jizˇ u´speˇsˇneˇ vyzkousˇen i pro jine´ typy zarˇ´ızenı´(obvykle komunikacˇnı´ho typu). ´ kol U Pokuste se zjistit verzi distribuce, kterou pra´veˇ pouzˇ´ıva´te, a verzi jejı´ho ja´dra.
4.2 4.2.1
Linuxove´ distribuce Co je to distribuce
Vsˇechny linuxove´ distribuce jsou sˇ´ırˇeny pod otevrˇenou licencı´, tedy s distribucı´ dostaneme take´ zdrojove´ ko´dy (nebo si je mu˚zˇeme zdarma sta´hnout na internetu), z jednoho instalacˇnı´ho me´dia mu˚zˇeme instalovat na jaky´koliv pocˇet stroju˚ a mu˚zˇeme neomezeneˇ prova´deˇt u´pravy dodane´ho softwaru. Odlisˇujeme vsˇak distribuce komercˇnı´ a komunitnı´ (volneˇ ke stazˇenı´). Komunitnı´ distribuce je vyvı´jena komunitou, cozˇ je jake´si volne´ sdruzˇenı´ lidı´, kterˇ´ı se rozhodli vyvı´jet danou distribuci, naopak za komercˇnı´ distribucı´ vzˇdy stojı´ neˇktera´ firma.
P P
Komercˇnı´ distribuce se proda´vajı´ za penı´ze, ale financˇnı´ na´klady rozhodneˇ nejsou velke´, a samozrˇejmeˇ produkt kupujeme vzˇdy jen v jednom kusu (porˇa´d platı´, zˇe z te´hozˇ me´dia lze lega´lneˇ instalovat na jaky´koliv pocˇet stroju˚). Ve skutecˇnosti se platı´ spı´sˇe za „pra´ci“, kterou prova´dı´ firma samotna´, tedy u´pravy (vcˇetneˇ zaka´zkovy´ch), zkompletova´nı´ (vcˇetneˇ prˇelozˇenı´), manua´ly, sˇkolenı´, vzda´lena´ pomoc, technicka´ podpora apod. V komercˇnı´ch sluzˇba´ch mohou by´t zahrnuty take´ aktualizace (neˇkdy by´vajı´ zdarma), u komunitnı´ch distribucı´ jsou aktualizace vzˇdy zdarma. Mezi komunitnı´mi a komercˇnı´mi distribucemi cˇasto by´va´ velmi blı´zky´ vztah – firma kromeˇ sve´ komercˇnı´ distribuce sponzoruje komunitnı´ distribuci a obeˇma smeˇry putujı´ zmeˇny ve zdrojovy´ch ko´dech, tedy jde o spolupra´ci. Pro firmu je vy´hodou prˇedevsˇ´ım to, zˇe prˇ´ıslusˇna´ komunitnı´ distribuce je plneˇ kompatibilnı´ a take´ po graficke´ stra´nce velmi podobna´, tedy pokud za´kaznı´ci chteˇjı´ prˇejı´t od komunitnı´ distribuce ke komercˇnı´ se vsˇemi jejı´mi vy´hodami, je zrˇejme´, kterou z komercˇnı´ch distribucı´ zvolı´. To je prˇ´ıpad dvojice Fedora– RedHat, CentOS–RedHat Enterprise Server, nebo OpenSUSE–SUSE. Kazˇda´ distribuce obsahuje • ja´dro operacˇnı´ho syste´mu (kernel), • instalacˇnı´ rutinu, ktera´ uzˇivatele provede instalacı´ syste´mu prˇes obvykle dobrˇe propracovane´ graficke´ rozhranı´ bez nutnosti instalovat z prˇ´ıkazove´ho rˇa´dku, • detektor hardwaru je pouzˇ´ıva´n prˇedevsˇ´ım prˇi instalaci, kde zjisˇt’uje prˇipojena´ zarˇ´ızenı´ a celkovou konfiguraci pocˇ´ıtacˇe a opeˇt mu˚zˇe instalaci hodneˇ usnadnit (pokud ovsˇem
P
LINUXOVE´ DISTRIBUCE
4.2
79
nema´me neˇjaky´ specia´lnı´ hardware), detekce hardwaru se pouzˇ´ıva´ ve skutecˇnosti take´ prˇi kazˇde´m spousˇteˇnı´ Linuxu, • spoustu aplikacı´ pro pra´ci s textem, grafikou, prezentacemi, zvukem, videem, • konfiguracˇnı´ na´stroje a syste´move´ knihovny, • graficke´ prostrˇedı´ – X Window (XFree86 nebo X.org), spra´vci oken a desktopova´ prostrˇedı´, • dokumentace, atd. Mezi jednotlivy´mi distribucemi by´vajı´ velke´ rozdı´ly prˇedevsˇ´ım ve vybavenosti ru˚zny´mi na´stroji (prˇesneˇji rozdı´ly jsou ve vsˇech zde uvedeny´ch bodech). Te´meˇrˇ od zacˇa´tku˚ existence Linuxu se objevujı´ snahy o urcˇitou standardizaci. Se standardy POSIX a Single Unix Specification jsme se sezna´mili v kapitole 1.2.2 na straneˇ 8. Kromeˇ toho vsˇechny (nebo skoro vsˇechny) linuxove´ distribuce zachova´vajı´ standard LSB1 (Linux Standard Base), cozˇ je za´vazny´ dokument popisujı´cı´ adresa´rˇovou strukturu Linuxu, strukturu knihoven, startovacı´ skripty, zpu˚sob instalace a konfigurace programu˚, tiskovy´ ´ cˇelem je zajisˇteˇnı´ alesponˇ za´kladnı´ kompatisubsyste´m a neˇktere´ dalsˇ´ı du˚lezˇite´ vlastnosti. U bility mezi distribucemi. Pokud distribuce dodrzˇ´ı vsˇe, co je zahrnuto do tohoto dokumentu, obdrzˇ´ı certifika´t LSB. Aplikace a na´stroje jsou v tzv. balı´cˇcı´ch. Balı´cˇek obsahuje obvykle jednu nebo vı´ce souvisejı´cı´ch aplikacı´. Existuje vı´ce ru˚zny´ch typu˚ balı´cˇku˚, kazˇda´ distribuce pouzˇ´ıva´ urcˇity´ typ, kazˇdy´ typ balı´cˇku ma´ svu˚j zpu˚sob instalace. Dnes nejpouzˇ´ıvaneˇjsˇ´ı jsou pravdeˇpodobneˇ balı´cˇky typu RPM (RedHat Package Manager) zavedene´ distribucı´ RedHat, da´le balı´cˇky DEB od Debianu, a univerza ´ lnı´ balı´cˇky ve zdrojove´m ko´du v archivu TAR.GZ (tgz). Balı´cˇky BIN jsou obvykle kombinace skriptu a komprimovany ´ ch dat, stacˇ´ı je spustit (nejdrˇ´ıv by´va´ nutne´ prˇirˇadit pra´vo spusˇteˇnı´). Linuxove´ balı´cˇky zrˇejmeˇ byly inspiracı´ obdobny´ch balı´cˇku˚ ve Windows – MSI. Neˇktere´ distribuce jsou doda´va´ny jen v anglicˇtineˇ, veˇtsˇinu nejzna´meˇjsˇ´ıch sezˇeneme s cˇeskou lokalizacı´. Cˇesky s na´mi komunikujı´ pouze samotne´ aplikace, prostrˇedı´ a spra´vci oken, na´poveˇda a dokumentace z cˇa´sti zu˚sta´va´ v anglicˇtineˇ. Vyjı´mkou je naprˇ´ıklad distribuce SUSE, ktera´ ma´ lokalizova´no nejen pracovnı´ prostrˇedı´ a aplikace, ale take´ celou na´poveˇdu a v komercˇnı´ varianteˇ ma´me k dispozici take´ prˇ´ırucˇky v cˇesˇtineˇ. Mnohe´ distribuce mu˚zˇeme dostat take´ ve verzi live (zˇive´, lite). Je to odlehcˇena´ verze, ktera´ se (jizˇ nainstalovana´) vejde na jedno CD nebo DVD (plne´ verze mı´vajı´ cˇasto i dveˇ DVD nebo 10 CD), prˇ´ıpadneˇ USB flash disk, a je plneˇ bootovatelna´ bez nutnosti instalace. Stacˇ´ı vsunout CD do mechaniky, restartovat pocˇ´ıtacˇ (v BIOSu musı´ by´t povoleno bootova´nı´ z CD cˇi DVD a mechanika nastavena jako first boot device), provede se rychla´ detekce hardwaru, je nacˇteno ja´dro, spusˇteˇno graficke´ prostrˇedı´ a mu˚zˇeme pracovat. 1
http://www.linuxfoundation.org/collaborate/workgroups/lsb, text standardu v plne´m zneˇnı´ najdeme na http://www.linuxfoundation.org/en/Specifications.
P P
P
4.2
LINUXOVE´ DISTRIBUCE
80
Vy´hodou je take´ „neznicˇitelnost“ live syste´mu, v prˇ´ıpadeˇ va´zˇne´ chyby v konfiguraci prosteˇ znovu nabootujeme. Obvykle v takove´m prˇ´ıpadeˇ nema´me prˇ´ıstup k pevne´mu disku, ale neˇktere´ live distribuce jsou vyjı´mkou a disk zprˇ´ıstupnˇujı´. V neˇktery´ch prˇ´ıpadech ma´me mozˇnost ulozˇit na neˇjake´ pameˇt’ove´ me´dium (specia´lnı´ soubor na pevne´m disku, USB flash disk nebo pameˇt’ovy´ prostor na internetu) neˇktere´ informace (naprˇ. zjisˇteˇnou konfiguraci hardwaru, provedene´ zmeˇny v rozhranı´ nebo vlastnı´ dokumenty). Live distribuce slouzˇ´ı k ru˚zny´m u´cˇelu˚m, naprˇ´ıklad • k propagaci a demonstraci distribuce (uzˇivatel se sezna´mı´ s prostrˇedı´m a mozˇnostmi distribuce),
$
• k vyzkousˇenı´ funkcˇnosti (zˇiva´ distribuce ma´ vpodstateˇ stejny´ proces rozpozna´va´nı´ hardwaru), • pro opravu nainstalovane´ho operacˇnı´ho syste´mu, za´chranu dat nebo provedenı´ za´lohy nainstalovane´ho syste´mu (trˇeba vytvorˇenı´ bitove´ kopie), • k samostatne´ specificke´ pra´ci (potrˇebujeme neˇktery´ z programu˚ na live CD), nebo chceme na cizı´m pocˇ´ıtacˇi pracovat ve vlastnı´m prostrˇedı´ s vlastnı´mi daty (pouzˇijeme za´rovenˇ s flash diskem s ulozˇenou konfiguracı´ a daty), to je mozˇne´ take´ ve virtua´lnı´m pocˇ´ıtacˇi, • take´ neˇktera´ instalacˇnı´ me´dia by´vajı´ zˇiva´ – spustı´me live me´dium, poklepeme na ikonu „instalovat“ a beˇhem instalace mu˚zˇeme libovolneˇ pracovat v zˇive´m syste´mu (trˇeba psa´t textovy´ dokument). Distribuce se dajı´ sehnat: • v krabicove´ (komercˇnı´) verzi (na internetu nebo v obchodeˇ), dostaneme nejen sadu CD (DVD), ale take´ manua´ly, za to platı´me obvykle neˇkolik set korun, nanejvy´sˇ neˇkolik tisı´c, mu˚zˇeme pouzˇ´ıvat v jake´mkoliv pocˇtu kopiı´,
$
• v live verzi (na internetu, v pocˇ´ıtacˇovy´ch cˇasopisech), • v plne´ volneˇ sˇirˇitelne´ verzi (na internetu, v obchodeˇ, cˇasto v knihkupectvı´ch), neˇkdy by´vajı´ trochu osekane´, ale obvykle je omezenı´ pouze v nedoda´nı´ papı´rovy´ch manua´lu˚. Z internetu se distribuce stahujı´ prˇes FTP nebo prˇes vy´meˇnne´ sı´teˇ (BitTorrent), prˇ´ıpadneˇ prˇes NFS, pokud jsou instalacˇnı´ soubory na loka´lnı´ sı´ti. Prˇi instalaci prˇes FTP nebo NFS potrˇebujeme take´ alesponˇ startovacı´ disketu nebo CD, z tohoto me´dia spustı´me vlastnı´ instalaci a stahova´nı´. Neˇktere´ distribuce jsou beˇhem instalace prˇekla´da´ny. V takove´m prˇ´ıpadeˇ opeˇt potrˇebujeme startovacı´ disketu nebo CD se za´kladnı´m syste´mem a prˇekladacˇem, vsˇe ostatnı´ jizˇ mu˚zˇe by´t stahova´no prˇ´ımo z internetu (trˇeba prˇes FTP). Pocˇet CD (DVD) za´visı´ na distribuci, veˇtsˇinou 1–10 CD, prˇ´ıpadneˇ 1–2 DVD. Pokud si stahujeme obrazy CD z internetu (na stra´nka´ch distributoru˚), musı´me je nejdrˇ´ıve vypa´lit na
P
4.2
LINUXOVE´ DISTRIBUCE
81
CD a pak pouzˇijeme prˇi instalaci. Na instalacˇnı´ch CD (DVD) by´va´ take´ v neˇktere´m souboru veˇtsˇinou alesponˇ strucˇneˇ popsa´na instalace.
4.2.2
Neˇktere´ nejzna´meˇjsˇı´ distribuce
RedHat („cˇerveny´ klobouk“) – sve´ho cˇasu u na´s nejrozsˇ´ırˇeneˇjsˇ´ı, ale pro desktopove´ pocˇ´ıtacˇe je na u´stupu, protozˇe firma RedHat se rozhodla ukoncˇit podporu bezplatny´m varianta´m Linuxu (jedna´ se naprˇ´ıklad o zverˇejnˇova´nı´ bezpecˇnostnı´ch aktualizacı´, novy´ch verzı´ apod.), volneˇ sˇirˇitelne´ desktopove´ rˇesˇenı´ jizˇ nevyvı´jı´ (mı´sto neˇho podporuje distribuci Fedora). Pro servery (take´ pro desktopy) da´le existuje pomeˇrneˇ oblı´bena´ komercˇnı´ varianta RedHat Enterprise Linux – RHEL.
J
Pouzˇ´ıva´ vlastnı´ forma´t balı´cˇku˚ aplikacı´ typu RPM (v te´to distribuci byly jako v prvnı´ linuxove´ distribuci pouzˇity distribucˇnı´ balı´cˇky se softwarem, prˇedtı´m se instalovalo ze zdrojovy´ch ko´du˚). Fedora je komunitnı´ distribuce, kterou firma RedHat doporucˇuje jako na´hradu komunitnı´ linie, kterou sama prˇestala poskytovat (mezi komunitou a firmou RedHat vla´dne cˇila´ spolupra´ce, ktera´ je ku prospeˇchu obeˇma strana´m). Je RedHatu hodneˇ podobna´ (vzhledem i vybavenostı´) a da´ se dokonce sta´hnout ze serveru firmy RedHat. Instalace je velmi dobrˇe propracovana´, lokalizace do cˇesˇtiny je uzˇ trochu horsˇ´ı. Na´stroje na konfiguraci syste´mu jsou i v graficke´m rezˇimu, automaticka´ aktualizace je zajisˇteˇna ze sı´teˇ RedHat. Existujı´ distribuce, ktere´ velmi u´zce koexistujı´ s RedHatem. Veˇtsˇinou jsou tyto distribuce bina´rneˇ kompatibilnı´. Kromeˇ Fedory jde prˇedevsˇ´ım o CentOS (Community Enterprise OS) – vy´voja´rˇi CentOS majı´ k dispozici zdrojove´ ko´dy RHEL, ktere´ upravı´ (prˇedevsˇ´ım odstranı´ vsˇechny licencˇneˇ za´visle´ prvky jako jsou naprˇ´ıklad loga a na´zvy spolecˇnosti), prˇelozˇ´ı a da´le distribuujı´ (CentOS je volneˇ sˇirˇitelny´). Firmeˇ RedHat toto pocˇ´ına´nı´ rozhodneˇ nevadı´, je to vlastneˇ reklama na jejı´ vlastnı´ sluzˇby a uzˇivatele´ CentOS cˇasto prˇi prˇechodu na komercˇnı´ rˇesˇenı´ prˇecha´zejı´ pra´veˇ na RHEL od RedHatu. Du˚vodem prˇechodu je veˇtsˇinou rozsˇ´ırˇenı´ spolecˇnosti uzˇivatele, za´jem o souvisejı´cı´ komercˇnı´ sluzˇby, a take´ naprˇ´ıklad to, zˇe aktualizace CentOS majı´ mı´rne´ zpozˇdeˇnı´ za aktualizacemi origina´lnı´ho RHEL.
J
J
Podobny´m zpu˚sobem vzniklo neˇkolik dalsˇ´ıch distribucı´. Z dalsˇ´ıch mu˚zˇeme jmenovat naprˇ´ıklad Scientific Linux, ktery´ je vytva´rˇen a distribuova´n laboratorˇ´ı Fermi, strˇediskem CERN a dalsˇ´ımi veˇdecky´mi organizacemi a univerzitami na cele´m sveˇteˇ. Adresy: http://www.redhat.com/, http://www.redhat.com/docs/manuals/enterprise/, http://fedora.redhat.com/, http://fedoranews.org/, http://www.fedorazine.com/, http://www.centos.org/, https://www.scientificlinux.org/ Mandriva – francouzska´ distribuce pu˚vodneˇ vycha´zejı´cı´ z RedHatu, ale da´le sˇla vlastnı´ cestou. Pouzˇ´ıva´ tenty´zˇ forma´t balı´cˇku˚ (RPM balı´cˇky), jiny´mi slovy, co jde nainstalovat na RedHatu, jde bez velky´ch u´prav nainstalovat i zde. Vyznacˇuje se velkou uzˇivatelskou prˇ´ıveˇtivostı´ vcˇetneˇ instalace, pro zacˇa´tecˇnı´ky je to jedna z nejvhodneˇjsˇ´ıch distribucı´. Dopo-
J
4.2
LINUXOVE´ DISTRIBUCE
82
rucˇuje se prˇedevsˇ´ım na pracovnı´ stanice, ale je vhodna´ take´ pro servery. Drˇ´ıve se distribuce jmenovala Mandrake (firma Mandrakesoft se prˇejmenovala na Mandriva). Jednou z odnozˇ´ı distribuce Mandriva je PCLinuxOS. Jeho tvu˚rce, Bill Reynolds zvany´ Texstar, byl pu˚vodneˇ zameˇstnancem Mandrakesoftu, ale po neshoda´ch s ty´mem se rozhodl da´le pracovat na sve´ vlastnı´ distribuci. Typicky´m znakem PCLinuxOS je, zˇe nevytva´rˇ´ı nove´ verze, ale neusta´le aktualizuje jedinou. Takzˇe uzˇivatel se zapnuty´mi aktualizacemi ma´ vlastneˇ neusta´le nejnoveˇjsˇ´ı verzi. Odnozˇ´ı distribuce Mandriva je take´ komunitnı´ distribuce Mageia. Je to jedna z noveˇjsˇ´ıch distribucı´ (vznikla roku 2010). Adresy: http://www.mandriva.com/, http://www.mandrivalinux.cz/, http://www.pclinuxos.cz/, http://mageia.cz/ SUSE – neˇmecka´ firma SUSE je dnes ve vlastnictvı´ firmy Novell (za´rovenˇ s firmou IBM), to se pravdeˇpodobneˇ v budoucnu projevı´ na veˇtsˇ´ı vhodnosti tohoto syste´mu pro sı´teˇ. Prˇesto i dnes, kdy je doporucˇova´na spı´sˇe na pracovnı´ stanice, se s u´speˇchem pouzˇ´ıva´ i na serverech (vlastneˇ je to podobne´ jako u Mandrivy). Uzˇivatelsky prˇ´ıjemna´ distribuce vcˇetneˇ instalace a konfigurace (obojı´ ma´ na starosti na´stroj Yast2), takte´zˇ vhodna´ i pro zacˇa´tecˇnı´ky. Pouzˇ´ıva´ balı´cˇky RPM. Jejı´ lokalizace do cˇesˇtiny je ze vsˇech distribucı´ na dobre´ u´rovni. Je k sehna´nı´ v komercˇnı´ i komunitnı´ verzi (OpenSUSE). Adresy: http://www.suse.com, http://cs.opensuse.org/ Debian GNU Linux je jedina´ distribuce, ktera´ je poskytova´na pouze zdarma (plneˇ komunitnı´). Nepouzˇ´ıva´ RPM balı´cˇky, ale DEB balı´cˇky. Tento balı´cˇkovacı´ syste´m je povazˇova´n za pruzˇneˇjsˇ´ı a bezpecˇneˇjsˇ´ı nezˇ RPM. Debian je povazˇova´n za nejstabilneˇjsˇ´ı a nejbezpecˇneˇjsˇ´ı linuxovy´ syste´m, a take´ nejrozsa´hlejsˇ´ı. Jeho distributorem nenı´ zˇa´dna´ urcˇita´ firma, ale skupina programa´toru˚, proto take´ uzˇivatele´ nemohou pocˇ´ıtat s neˇjakou propracovanou on-line podporou (ale v diskusnı´ch skupina´ch kazˇdy´ ra´d poradı´ a na webu lze najı´t spoustu dokumentu˚ s rˇesˇenı´m nejru˚zneˇjsˇ´ıch proble´mu˚). Ma´ jeden z nejdelsˇ´ıch intervalu˚ pro vyda´va´nı´ stabilnı´ch distribucı´, na stabilitu syste´mu a programu˚ je velmi dba´no, ale jsou dostupne´ take´ vy´vojove´ verze. Rovneˇzˇ dalsˇ´ı zajı´mavou vlastnosti (a take´ jednı´m z du˚vodu˚ dlouhy´ch intervalu˚ mezi verzemi) je hodneˇ variant pro ru˚zne´ hardwarove´ platformy. Stabilita a dostupnost pro ru˚zne´ platformy jsou dva z mnoha du˚vodu˚, procˇ je Debian nasazova´n jak na desktopy, tak cˇasto i na servery. Zajı´mavostı´ je take´ zvyk pojmenova´vat verze jme´ny zacˇ´ınajı´cı´mi pı´smeny postupneˇ podle abecedy. Instala´tor pracuje bud’ v graficke´m nebo v textove´m (pseudograficke´m) rezˇimu – vybı´ra´me na zacˇa´tku instalace, ale je uzˇivatelsky prˇ´ıjemny´ (vı´ce komunikuje, umozˇnˇuje vybı´rat ze seznamu, automaticky detekuje hardware, konfiguruje sı´t’, atd.). Vy´chozı´m ja´drem pro Debian je Linux, ale existujı´ take´ porty s jiny´mi ja´dry – z veˇtve BSD Linuxu˚ (prˇedevsˇ´ım NetBSD), ktere´ jsou takte´zˇ podporova´ny komunitou Debianu. Existuje
J
J
LINUXOVE´ DISTRIBUCE
4.2
83
take´ podobny´ projekt, ktery´ nenı´ prˇ´ımo podporova´n komunitou, ale komercˇnı´ firmou – kombinace Debianu a ja´dra ze syste´mu OpenSolaris, Nexeta OS. V soucˇasne´ dobeˇ je Debian hodneˇ cˇasto nasazova´n na serverech, ale vyskytuje se take´ na desktopech. Jeho podı´l na desktopech mı´rneˇ snı´zˇil prˇedevsˇ´ım na´stup distribucı´ z Debianu odvozeny´ch (prˇedevsˇ´ım Ubuntu). Ubuntu je tedy distribuce vycha´zejı´cı´ z Debianu, ktera´ je sice take´ velmi stabilnı´, ale klade veˇtsˇ´ı du˚raz na aktualizova´nı´ programu˚. Oproti „materˇske´mu“ Debianu pouzˇ´ıva´ take´ trochu jiny´ zpu˚sob autentizace v textove´m rezˇimu (tzv. sudo mechanismus). Tato distribuce je poslednı´ dobou pouzˇ´ıvana´ pro vytva´rˇenı´ demonstracˇnı´ch live distribucı´ pro ru˚zna´ desktopova´ prostrˇedı´ (viz da´le). Existuje mnoho deriva´tu˚ (odvozeny´ch distribucı´) Ubuntu, naprˇ´ıklad KUbuntu, XUbuntu, EdUbuntu, Mythbuntu pouzˇitelne´ho jako doma´cı´ multimedia´lnı´ centrum nebo Ubuntu Studio pro tvu˚rce multimedia´lnı´ho obsahu.
J
Ubuntu pouzˇ´ıva´ motto „Linux pro lidi“. Oproti jiny´m distribucı´m je poneˇkud „osekana´“, prˇedevsˇ´ım z du˚vodu cˇasty´ch stı´zˇnostı´ uzˇivatelu˚ prˇecha´zejı´cı´ch na Linux z Windows, zˇe „se v tom mnozˇstvı´ aplikacı´ a na´stroju˚ nevyznajı´ “. To mu˚zˇe by´t vy´hodou pro uzˇivatele, ktery´ do syste´mu prakticky nezasahuje (ostatneˇ nenı´ proble´m si dalsˇ´ı aplikace doinstalovat zcela podle sve´ho vkusu). Mechanismus oveˇrˇova´nı´ prˇ´ıstupovy´ch opra´vneˇnı´ je ve vy´chozı´m nastavenı´ urcˇen spı´sˇe pro desktop bez nutnosti vza´jemne´ho zabezpecˇenı´ ru˚zny´ch uzˇivatelu˚. Vy´chozı´m graficky´m prostrˇedı´m v Ubuntu je uzˇ od zacˇa´tku GNOME, ale v poslednı´ dobeˇ je k tomu vyuzˇ´ıva´na na´stavba Unity (od verze 11.04 i na desktopech). Pu˚vodneˇ bylo urcˇeno pro male´ displeje (naprˇ´ıklad netbooku˚ nebo jesˇteˇ mensˇ´ıch zarˇ´ızenı´), a bohuzˇel se od toho odvı´jejı´ poneˇkud chude´ mozˇnosti konfigurace prostrˇedı´ a horsˇ´ı dostupnost me´neˇ vyuzˇ´ıvany´ch aplikacı´. Nasˇteˇstı´ jsou dostupne´ varianty bez Unity: • • • •
Kubuntu – desktopove´ prostrˇedı´ KDE, Xubuntu – desktopove´ prostrˇedı´ Xfce, Lubuntu – desktopove´ prostrˇedı´ LXDE, v standardnı´m GNOME s Unity se mu˚zˇeme vra´tit k samotne´mu prostrˇedı´ GNOME (tj. zlikvidovat Unity) – doporucˇuji.
Na´vod, jak odstranit Unity a pouzˇ´ıvat pu˚vodnı´ GNOME (tzv. GNOME Classic), najdeme trˇeba na http://wiki.ubuntu.cz/unity#gnome classic Adresy: http://www.debian.org, http://www.debian.cz/, http://www.debian.org/ports/netbsd/, http://www.nexenta.org/os, http://www.ubuntu.cz/, http://www.kubuntu.cz/ Knoppix – prˇestozˇe se jedna´ o pomeˇrneˇ rozsa´hly´ syste´m, nevyzˇaduje instalaci (live). Najdeme zde prˇedevsˇ´ım to nejnoveˇjsˇ´ı, co GNU nabı´zı´. Nenı´ lokalizova´n do cˇesˇtiny. Existuje take´ odvozena´ distribuce, Games Knoppix (take´ live, ale na DVD), ta obsahuje prˇedevsˇ´ım hry.
J
4.2
LINUXOVE´ DISTRIBUCE
84
Dokument Knowing Knoppix je urcˇen pro ty, kterˇ´ı s Linuxem teprve zacˇ´ınajı´. Je to PDF soubor sˇ´ırˇeny´ pod licencı´ GNU FDL (Free Document Licence), zdarma sta´hnutelny´ na internetu. Adresy: http://www.knoppix.org/, http://games-knoppix.unix-ag.uni-kl.de/, http://www.pjls16812.pwp.blueyonder.co.uk/knowing-knoppix/index.html Slackware je distribuce urcˇena´ pro pokrocˇilejsˇ´ı uzˇivatele, celosveˇtoveˇ patrˇ´ı k nejpopula´rneˇjsˇ´ım. Vyznacˇuje se celkem svizˇny´m chodem a stabilitou vcˇetneˇ souborove´ho syste´mu (na internetu se neˇkterˇ´ı uzˇivatele´ vyjadrˇujı´, zˇe tam, kde jine´ Linuxy selhaly nebo beˇzˇ´ı pomaleji, Slackware nema´ proble´my).
J
Pokud ji chceme nainstalovat a pouzˇ´ıvat, doporucˇuje se prˇedem du˚kladneˇ procˇ´ıst dokumentaci dostupnou naprˇ´ıklad na internetu (je i na prvnı´m instalacˇnı´m CD). Instalace probı´ha´ v textove´m rezˇimu, ale celkem uzˇivatele vede. Konfigurace se veˇtsˇinou prova´dı´ pomocı´ konfiguracˇnı´ch souboru˚, existuje jen neˇkolik konfiguracˇnı´ch na´stroju˚ (mouseconfig, netconfig, . . . ). Vsˇechny konfiguracˇnı´ soubory se nacha´zejı´ v jednom adresa´rˇi (/etc/rc.d), narozdı´l od veˇtsˇiny ostatnı´ch rozsˇ´ırˇeny´ch distribucı´ (to odpovı´da´ standardu BSD, jine´ distribuce obvykle pro umı´steˇnı´ konfiguracˇnı´ch souboru˚ pouzˇ´ıvajı´ standard System V), soubory jsou pomeˇrneˇ dobrˇe okomentovane´ (v anglicˇtineˇ samozrˇejmeˇ). Po instalaci je obvykle nutne´ nakonfigurovat graficke´ rozhranı´, pokud je chceme pouzˇ´ıt. Slackware pouzˇ´ıva´ syste´m balı´cˇku˚ tgz, ve ktere´m se nezachycujı´ za´vislosti mezi balı´cˇky. Pokud zjistı´me, zˇe prˇesto k beˇhu neˇktere´ho programu, ktery´ jsme nainstalovali, zrˇejmeˇ potrˇebujeme nainstalovat jesˇteˇ neˇco dalsˇ´ıho (tj. nefunguje), ma´me mozˇnosti, jak zjistit, co programu chybı´ (naprˇ. prˇ´ıkaz ldd), a doinstalovat. Pro instalaci ma´me k dispozici kromeˇ mozˇnosti instalace ze zdroju˚ (v .tar.gz) pomocı´ make install take´ na´stroj Checkinstall, ktery´ ze zdrojovy´ch souboru ˚ vyrobı´ Slackware balı´cˇek a provede instalaci. Pro pra´ci s balı´cˇky slouzˇ´ı na´stroje, ktere´ majı´ v na´zvu zkratku pkg (naprˇ. installpkg). Live distribuce se jmenuje Slax, ISO obraz ma´ pouhy´ch 200 MB (vejde se na „kapesnı´“ variantu CD) a prˇesto se jedna´ o pomeˇrneˇ dobrˇe vybaveny´ syste´m. Slax vu˚bec nepotrˇebuje pevny´ disk, protozˇe po startu syste´mu si vytvorˇ´ı v operacˇnı´ pameˇti RAM disk a umozˇnˇuje vyuzˇ´ıvat i USB flash disk a samozrˇejmeˇ CD (kdyzˇ je spusˇteˇn, mu˚zˇeme CD se Slaxem vyndat, vsˇe je na RAM disku). V tom prˇ´ıpadeˇ se vsˇak doporucˇuje mı´t prˇedevsˇ´ım dostatek operacˇnı´ pameˇti, odkla´dacı´ prostor totizˇ neexistuje. Slax take´ umozˇnˇuje vytvorˇit si vlastnı´ live distribuci. Adresy: http://www.slackware.com/, http://www.slax.org/, SlackBook v cˇesˇtineˇ na qwert.cz/index.php?pgn=navody Linux Mint se v poslednı´ dobeˇ hodneˇ pouzˇ´ıva´ mı´sto Slaxu. Je to distribuce zalozˇena´ na Ubuntu, tedy oproti Slaxu je jednodusˇsˇ´ı spra´va softwaru. Klade du˚raz na jednoduchost a pra´ci s multime´dii, pouzˇ´ıva´ upravene´ desktopove´ prostrˇedı´ GNOME. Na stra´nka´ch pro-
J
4.2
LINUXOVE´ DISTRIBUCE
85
jektu jsou dostupne´ prˇ´ırucˇky v ru˚zny´ch jazycı´ch vcˇetneˇ cˇesˇtiny. Adresy: http://linuxmint.com/, http://www.linuxmint.com/documentation.php Gentoo je distribuce typicka´ tı´m, zˇe se prˇi instalaci te´meˇrˇ cela´ (kromeˇ instala´toru, ten musı´ by´t logicky spustitelny´) kompiluje na mı´ru pocˇ´ıtacˇi, kde instalace probı´ha´ (tzv. prˇekla´dana´ distribuce, z toho vyply´va´, zˇe bychom meˇli mı´t dostatecˇneˇ rychle´ prˇipojenı´ jako je kabel nebo ADSL). Obvykly´ zpu˚sob instalace je prˇes sı´t’ z archivu˚ Gentoo, proto je vhodne´ mı´t spı´sˇe rychlejsˇ´ı prˇipojenı´ k internetu, neˇkdy se objevuje na CD (DVD) prˇilozˇeny´ch k pocˇ´ıtacˇovy´m cˇasopisu˚m. Samotna´ instalace samozrˇejmeˇ da´ veˇtsˇ´ı pra´ci nezˇ v prˇ´ıpadeˇ jiny´ch distribucı´.
J
Konfigurace se prova´dı´ cˇasto spı´sˇe v konfiguracˇnı´ch souborech, vybavenost na´stroji s GUI je poneˇkud nizˇsˇ´ı. S tı´m vsˇak souvisı´ jedna velka´ vy´hoda – konfiguracˇnı´ soubory jsou dobrˇe navrzˇene´, velmi prˇehledne´ a dobrˇe okomentovane´ (oproti Mandriveˇ a spol. prˇ´ımo rajska´ zahrada). Gentoo je vy´jmecˇna´ distribuce uzˇ kvu˚li zvla´sˇtnı´mu rˇesˇenı´ aktualizacı´ prˇevzate´mu od FreeBSD. Balı´cˇky jsou usporˇa´da´ny do stromu Portage, kde lze snadno pomocı´ neˇktery´ch programu˚ kontrolovat verze a za´vislosti programu˚. Prˇ´ımo pro pra´ci s Portage slouzˇ´ı program emerge, ale existujı´ na´stroje, ktere´ poskytujı´ trˇeba i graficke´ rozhranı´ (naprˇ´ıklad Genu, tento program je napsa´n pomocı´ Mono, to je open-source rozhranı´ pro .NET). Pro prohleda´va´nı´ stromu Portage se mohou pouzˇ´ıvat naprˇ´ıklad Esearch nebo Eix (Portagedb). Projekt Gentoo je zna´my´ svou oboustranneˇ vy´hodnou spolupra´cı´ s jiny´mi open-source projekty, naprˇ´ıklad Free/Open/Net BSD (vza´jemne´ vyuzˇ´ıva´nı´ vy´sledku˚ projektu˚), Mac OS X (prˇenos Portage na Mac OS X), atd., existujı´ projekty pokousˇejı´cı´ se v Gentoo pouzˇ´ıt jine´ ja´dro nezˇ Linux (GNU/Hurd, OpenSolaris). Na Gentoo jsou dnes zalozˇeny dalsˇ´ı projekty, naprˇ´ıklad VidaLinux nebo FlashLinux. FlashLinux je ekvivalent CD live distribucı´, ale mı´sto CD je pouzˇit USB flash disk (256 MB). Hlavnı´ vy´hodou je mozˇnost ukla´dat konfiguraci prˇ´ımo na tento flash disk, takzˇe narozdı´l od CD live distribucı´ nenı´ nutne´ prˇi nove´m spusˇteˇnı´ konfigurovat znovu ani pouzˇ´ıvat dalsˇ´ı me´dia pro ulozˇenı´ nastavenı´. Adresy: http://www.gentoo.cz/, http://www.gentoo.org/main/en/where.xml, http://www.encryptec.net/flashlinux, http://flashlinux.org.uk/ Android ma´ take´ linuxove´ ja´dro. Jde o mobilnı´ platformu, tedy prima´rneˇ pro chytre´ mobilnı´ telefony, PDA, tablety apod. Firma Android, ktera´ stojı´ za vytvorˇenı´m Androidu, byla roku 2005 koupena firmou Google, a od te´ doby vzru˚sta´ oblı´benost Androida na ru˚zny´ch mobilnı´ch zarˇ´ızenı´ch. Na´sledneˇ roku 2007 se vy´voje ujala organizace Open Handset Alliance (jedna´ se o konsorcium mnoha vy´robcu˚ mobilnı´ch zarˇ´ızenı´ nebo jejich komponent, kromeˇ Googlu zde patrˇ´ı naprˇ´ıklad Intel, HTC, Motorola, LG, NVidia, Samsung a dalsˇ´ı). Nad ja´drem (upraveny´ Linux 2.6) je vrstva knihoven obsahujı´cı´ch ko´d a objekty (aplikace vsˇak k nim nemajı´ prˇ´ımy´ prˇ´ıstup). Dalsˇ´ı vrstvou je virtualizacˇnı´ prostrˇedı´ Dalvik, ktere´ slouzˇ´ı k oddeˇlenı´ spusˇteˇny´ch aplikacı´ od ja´dra a od sebe navza´jem. Dalsˇ´ı vrstvou je beˇhove´
J
J
4.2
LINUXOVE´ DISTRIBUCE
86
prostrˇedı´ pro aplikace a pak samotne´ aplikace. Aplikace jsou psa´ny v Javeˇ a beˇhove´ prostrˇedı´ (application framework) je vlastneˇ beˇhovy´m prostrˇedı´m Javy, ale neznamena´ to automatickou kompatibilitu s beˇhovy´mi prostrˇedı´mi pro jine´ platformy, protozˇe v Androidu nejsou implementova´ny neˇktere´ jinde hodneˇ vyuzˇ´ıvane´ knihovny – prˇedevsˇ´ım AWT a Swing (graficke´ prostrˇedı´ je postaveno na vlastnı´ch knihovna´ch). Aplikace lze zı´skat na Android Marketu. Mezi verzemi Androidu je pomeˇrneˇ velky´ rozdı´l, v poslednı´ dobeˇ sˇlo prˇedevsˇ´ım o prˇizpu˚sobova´nı´ syste´mu beˇhu na tabletech, dalsˇ´ı ocˇeka´vane´ zmeˇny jsou nejen v podporˇe dalsˇ´ıch forma´tu˚, rozhranı´ a komponent, ale prˇedevsˇ´ım v lepsˇ´ım zabezpecˇenı´. Android se totizˇ stal natolik oblı´beny´m syste´mem, zˇe se zacˇal objevovat malware pro tento syste´m ve velke´m mnozˇstvı´. Hlavnı´m cı´lem malwaru jsou zarˇ´ızenı´, ve ktery´ch byla prolomena izolace procesu˚ a aplikacı´m bylo umozˇneˇno zı´ska´nı´ root opra´vneˇnı´. Postup zı´ska´nı´ root opra´vneˇnı´ lze najı´t na webu, ale je trˇeba veˇdeˇt, zˇe to nenı´ bezpecˇene´. Nejen kvu˚li malwaru, ale samotny´ postup je odlisˇny´ pro ru˚zne´ typy telefonu˚ cˇi tabletu˚ a mu˚zˇe zpu˚sobit znefunkcˇneˇnı´ zarˇ´ızenı´. Android je sˇ´ırˇen pod open-source licencı´, vy´robci si ho mohou jakkoliv prˇizpu˚sobit.
Adresy: http://www.android.com/, http://www.svetandroida.cz/android-4-0-a-bezpecnost-201111, http://www.diit.cz/clanek/mobilni-operacni-system-android/38512/ System Rescue CD je live distribuce urcˇena´ pro prˇ´ıstup k posˇkozene´mu syste´mu, prˇ´ıpadne´ opravy a take´ za´lohova´nı´. Protozˇe je to live distribuce, nenı´ proble´m s prˇ´ıstupem pro za´lohova´nı´ k oblastem disku, ktere´ prˇi provozu „norma´lnı´ distribuce“ musı´ by´t prˇipojeny – naprˇ. root (prˇi za´lohova´nı´ se doporucˇuje partitions odpojit, aby prˇi prˇ´ıpadny´ch za´sazı´ch jiny´mi procesy nedosˇlo k nekonzistentnostem v souborech). Najdeme zde mnoho uzˇitecˇny´ch na´stroju˚, naprˇ. MemTest (testova´nı´ pameˇti), Offline NT Password and Registry editor (doka´zˇe zmeˇnit heslo administra´tora ve Windows a pracovat s Windows registry!!!), Dban (neobnovitelne´ maza´nı´ souboru˚), sfdisk (za´lohova´nı´ tabulky rozdeˇlenı´ disku) a samozrˇejmeˇ na´stroje na samotne´ za´lohova´nı´ souboru˚ (mu˚zˇeme za´lohovat take´ prˇes FTP na jiny´ pocˇ´ıtacˇ). Adresa: http://www.sysrescd.org Distribuce urcˇene´ pro sˇkolstvı´ jsou prˇedevsˇ´ım nadstandardneˇ vybaveny vy´ukovy´mi programy a didakticky´mi hrami. Tyto programy si samozrˇejmeˇ mu˚zˇeme nainstalovat do ktere´hokoliv jine´ho linuxove´ho syste´mu. Veˇtsˇinou najdeme alesponˇ sady vy´ukovy´ch programu˚ GCompris, KDE-Edu, ChildsPlay a Tux4Kids a samozrˇejmeˇ spoustu dalsˇ´ıch programu˚ specializovany´ch na konkre´tnı´ oblast vy´uky. Edulinux – takto se jmenuje vı´c ru˚zny´ch distribucı´. Prvnı´ z nich je distribuce z Quebecu v Kanadeˇ (francouzsky) zalozˇena´ na Mandriveˇ, zrˇejmeˇ se uzˇ nevyvı´jı´. Druha´ byla vyvinuta na jedne´ z univerzit v Chile na objedna´vku chilske´ho ministerstva sˇkolstvı´ (je ve sˇpaneˇlsˇtineˇ). EdUbuntu je soucˇa´stı´ projektu Ubuntu a vzniklo u´pravou Ubuntu pro u´cˇely sˇkostvı´. EdUbuntu se stalo soucˇa´stı´ mnoha projektu˚, velmi zna´my´ je naprˇ´ıklad The Linux Terminal
J
J J
4.2
LINUXOVE´ DISTRIBUCE
87
Server Project (LTSP) pro vytvorˇenı´ pocˇ´ıtacˇove´ ucˇebny ve formeˇ tenky´ch klientu˚.2 SkoleLinux je dalsˇ´ı distribuce urcˇena´ pro sˇkolstvı´, vznika´ v Norsku. Je zalozˇena´ na Debianu. Instaluje se na servery (tam jsou spusˇteˇny de´mony pro podporu sı´teˇ, DNS, DHCP, konta uzˇivatelu˚, atd.), klienty – termina´ly a klienty – pracovnı´ stanice, a take´ na doma´cı´ pocˇ´ıtacˇe. Obsahuje hodneˇ vy´ukovy´ch programu˚, ale take´ samozrˇejmeˇ kancela´rˇske´ aplikace, graficke´ editory, konfiguracˇnı´ na´stroje a dalsˇ´ı.
J
Ve sˇkolstvı´ se mu˚zˇe uplatnit zvla´sˇteˇ instalace v sı´ti na vy´konny´ server a neprˇ´ılisˇ vy´konne´ (starsˇ´ı) pocˇ´ıtacˇe coby termina´ly, studenti (zˇa´ci) pak prˇes termina´l pracujı´ na serveru. Pro kazˇdou ucˇebnu pak stacˇ´ı jeden vy´konny´ server a pak vhodne´ termina´ly. EDU-nix je pomeˇrneˇ nova´ distribuce pro sˇkolstvı´ zalozˇena´ na Gentoo (ale nemusı´me ji prˇekla´dat), jedna´ se o live distribuci. Na´zev mu˚zˇe by´t zameˇnitelny´ s iniciativou „Linux do sˇkol“ jednoty sˇkolsky´ch informatiku˚, ktera´ se nazy´va´ EdUNIX. V tomto prˇ´ıpadeˇ se jedna´ o serverovou distribuci zalozˇenou na RedHat Linuxu, klade se du˚raz na co nejsˇirsˇ´ı lokalizaci do cˇesˇtiny a samozrˇejmeˇ co nejveˇtsˇ´ı prˇiblı´zˇenı´ pouzˇitı´ ve sˇkolstvı´ (ve formeˇ serveru, ktery´ doka´zˇe spolupracovat take´ s klienty s nainstalovany´mi Windows). Adresy: http://vavreckova.zam.slu.cz/didact/ (odkazy souvisejı´cı´ se sˇkolstvı´m), http://www.edulinux.cl (Chile), https://wiki.edubuntu.org/, http://www.skolelinux.org, http://www.jsi.cz/clanky/linux/200304284994/ Forenznı´ a bezpecˇnostnı´ distribuce: tyto distribuce jsou urcˇeny pro specia´lnı´ u´cˇely, naprˇ´ıklad proveˇrˇenı´ dane´ho syste´mu bez nebezpecˇ´ı jeho narusˇenı´ zmeˇnami, zı´ska´nı´ hu˚rˇe prˇ´ıstupny´ch dat (cookies, historie webove´ho prohlı´zˇecˇe, hesla, konkre´tnı´ typy souboru˚ apod.) ze syste´mu bez jeho spusˇteˇnı´, proveˇrˇenı´ zabezpecˇenı´ sı´teˇ, apod. Nejzna´meˇjsˇ´ımi forenznı´mi distribucemi jsou Caine, Deft a Kali Linux. Adresy: http://www.caine-live.net/index.html, http://www.deftlinux.net/, https://www.kali.org/, http://tools.kali.org/tools-listing, https://www.kali.org/kali-linux-nethunter/ Realtimove´ syste´my: nejzna´meˇjsˇ´ı cˇisteˇ realtimove´ syste´my postavene´ na Linuxu jsou RT Linux a RTAI, kde ve skutecˇnosti nenı´ ja´drem Linux, ale specia´lnı´ mikroja´dro rˇ´ıdı´cı´ hardware a procesy, a samotny´ Linux je jednı´m ze spusˇteˇny´ch procesu˚. Hodneˇ rysu˚ realtimovy´ch syste´mu˚ majı´ Linuxy pouzˇ´ıvane´ jako Embedded, tedy vestaveˇne´ v ru˚zny´ch zarˇ´ızenı´ch.
J
To je jen velmi mala´ cˇa´st existujı´cı´ch distribucı´. Existujı´ distribuce velmi rozsa´hle´, ale trˇeba jen takove´, ktere´ se vejdou na jedinou disketu, distribuce pro PDA nebo pro nestandardnı´ architektury. Na internetu existuje hodneˇ informacı´ o ru˚zny´ch distribucı´ch vcˇetneˇ jejich hodnocenı´, 2
Tenky´ klient znamena´, zˇe ma´me vsˇe nainstalova´no na jednom pocˇ´ıtacˇi (serveru) a ostatnı´ (to jsou ty tenke´ klienty) fungujı´ jako termina´ly (vcˇetneˇ graficke´ho vy´stupu na obrazovku). Tenky´ klient vlastneˇ nepotrˇebuje ani pevny´ disk (cˇasto se pouzˇ´ıvajı´ bezdiskove´ stanice nebo starsˇ´ı pocˇ´ıtacˇe), vsˇe se „taha´“ prˇes sı´t’.
INSTALACE SYSTE´MU
4.3
88
zajı´mave´ stra´nky jsou naprˇ´ıklad http://distrowatch.com/, ISO obrazy CD nebo DVD neˇktery´ch distribucı´ vcˇetneˇ zˇivy´ch (live) jsou na http://www.linuxiso.org. Seznam ISO obrazu˚ mnoha live distribucı´ najdeme take´ na http://www.frozentech.com/content/livecd.php. ´ kol U Vyberte si neˇkterou z linuxovy´ch distribucı´ a zjisteˇte o nı´ podrobneˇjsˇ´ı informace – aktua´lnı´ verze, hardwarove´ platformy, pouzˇ´ıvana´ graficka´ prostrˇedı´, zda existuje live verze, komercˇnı´/komunitnı´, prˇ´ıpadneˇ typicke´ konfiguracˇnı´ na´stroje a jine´ specificke´ vlastnosti, zda je zalozˇena na neˇktere´ jine´ distribuci, da´le kde najı´t ISO obrazy instalacˇnı´ch (nebo live) me´diı´, kde je dokumentace, HOWTO („Jak na to“ dokumenty) nebo diskusnı´ fo´ra. Podı´vejte se take´ po screenshotech distribuce (obrazovka´ch).
4.3
Instalace syste´mu
Pokud najdeme na internetu informace o instalaci toho Linuxu, ktery´ si vybereme, doporucˇuje se vytisknout si je (nebo mı´t vedle sebe jesˇteˇ jeden zapnuty´ pocˇ´ıtacˇ prˇipojeny´ k internetu), protozˇe beˇhem instalace se mozˇna´ nedostaneme na internet ani k zˇa´dne´mu textove´mu editoru (za´lezˇ´ı na typu instala´toru). Prˇed instalacı´ na pocˇ´ıtacˇ, na ktere´m ma´me neˇjaka´ data, je dobre´ tato data za´lohovat. Nejspı´sˇ prˇezˇijı´ bez u´hony, ale pravdeˇpodobnost jejich posˇkozenı´ nenı´ u´plneˇ nulova´. Idea´lnı´ je vyzkousˇet si instalaci ve virtua´lnı´m stroji. Instalace jsou pro ru˚zne´ distribuce, ale take´ pro ru˚zne´ verze jedne´ distribuce, odlisˇne´. Veˇtsˇina distribucı´ doda´va´ Linux s vlastnı´m instalacˇnı´m programem, ktery´ vı´ce cˇi me´neˇ intuitivneˇ vede uzˇivatele a je celkem podobny´ instalacˇnı´mu procesu Windows. Potrˇebujeme: • sadu CD nebo DVD s distribucı´ Linuxu (pokud jsme to vsˇechno sehnali na internetu, musı´me CD prˇedem vypa´lit), neˇktere´ distribuce existujı´ i ve varianteˇ pro bootovacı´ USB flash disk (naprˇ´ıklad Slax), BIOS pocˇ´ıtacˇe to vsˇak musı´ podporovat, • informace o hardwaru (u dnes beˇzˇny´ch distribucı´ se tı´m nemusı´me zaby´vat, pra´ci za na´s odvede detektor hardwaru), • prˇ´ıpadne´ informace o instalaci konkre´tnı´ distribuce (da´ se sehnat na internetu na stra´nka´ch distributora nebo v prˇ´ırucˇce, takte´zˇ tyto informace nemusı´me potrˇebovat, ale neˇkdy se mohou hodit), • cˇas (pu˚l hodiny azˇ hodinu, podle rozsa´hlosti distribuce a rychlosti pocˇ´ıtacˇe). Meˇli bychom se prˇipravit na to, zˇe beˇhem instalace zrˇejmeˇ budeme rozdeˇlovat disk na oddı´ly a urcˇovat, co na jednotlive´ oddı´ly bude nainstalova´no (ale to neˇktere´ distribuce uzˇ rˇesˇ´ı automaticky, a kdyzˇ ne, je to rˇesˇeno pomocı´ pru˚vodce), urcˇ´ıme heslo roota (administra´torske´ heslo) a prˇ´ıpadneˇ vytvorˇ´ıme nejme´neˇ jednoho beˇzˇne´ho uzˇivatele, u neˇktery´ch distribucı´ urcˇujeme, ktere´ balı´cˇky se majı´ nainstalovat. V poslednı´ dobeˇ se prosazuje instalace z live me´dia (naprˇ´ıklad v Ubuntu). Pak po nabootova´nı´ z tohoto me´dia pracujeme v live syste´mu a kdyzˇ se konecˇneˇ rozhodneme
$
SOFTWARE V LINUXOVY´CH DISTRIBUCI´CH
4.4
89
spustit instalaci, prosteˇ poklepeme na zrˇetelneˇ oznacˇenou ikonku na plosˇe. Beˇhem instalace mu˚zˇeme nerusˇeneˇ da´le pracovat, trˇeba psa´t v textove´m editoru, syste´m se ovsˇem mı´rneˇ zpomalı´. Kdyzˇ chceme mı´t na jednom pocˇ´ıtacˇi za´rovenˇ Linux i jine´ operacˇnı´ syste´my (naprˇ. Windows), instalujeme Linux azˇ jako poslednı´. Automaticky se nastavı´ zavadeˇcˇ operacˇnı´ho syste´mu LiLO (Linux LOader) nebo GRUB s nabı´dkou vsˇech nainstalovany´ch operacˇnı´ch syste´mu˚ (neˇktery´ z teˇchto zavadeˇcˇu˚ je potrˇeba vzˇdy, jeho u´kolem nenı´ jen umozˇnit uzˇivateli vybrat si operacˇnı´ syste´m, ale provede take´ nacˇtenı´ Linuxu). ´ kol U Prˇi pra´ci po skupina´ch najdeˇte na internetu ISO soubory instalacˇnı´ch me´diı´ (nebo live CD) nejnoveˇjsˇ´ıch verzı´ alesponˇ dvou distribucı´ z tohoto seznamu: • • • •
4.4 4.4.1
Fedora, Mandriva, OpenSUSE, Debian,
• • • •
Knoppix, Danix, Slackware, System Rescue CD.
Software v linuxovy´ch distribucı´ch Vybavenost aplikacemi
Ve veˇtsˇineˇ distribucı´ najdeme neprˇeberne´ mnozˇstvı´ programu˚ a aplikacı´, pro jeden u´cˇel cˇasto existuje i neˇkolik. Ru˚zne´ distribuce se mohou velmi lisˇit ve sve´m vybavenı´ softwarem. Samozrˇejmeˇ zde najdeme aplikace, ktere´ beˇzˇny´ uzˇivatel denneˇ pouzˇ´ıva´ – webovy´ prohlı´zˇecˇ (veˇtsˇinou Konqueror, Firefox nebo Nautilus), e-mail klienta (Evolution, KMail apod.), software pro on-line komunikaci vcˇetneˇ klientu˚ pro ICQ, kancela´rˇske´ programy (OpenOffice.org, KOffice, GNOMEOffice, da´le spoustu samostatny´ch textovy´ch editoru˚), spra´vce souboru˚, software pro zpracova´nı´ grafiky (GIMP, Inkscape), prˇehra´vacˇe multime´diı´ a software pro vypalova´nı´, DTP software, databa´ze, vy´vojova´ prostrˇedı´ pro nejru˚zneˇjsˇ´ı programovacı´ jazyky (samozrˇejmeˇ i prˇekladacˇe teˇchto jazyku˚), veˇdecke´ na´stroje a dalsˇ´ı, v neposlednı´ rˇadeˇ samozrˇejmeˇ i hry. Linux je mnohem le´pe nezˇ Windows vybaven nejru˚zneˇjsˇ´ımi na´stroji pro spra´vu a sledova´nı´ syste´mu a sı´teˇ, administra´torˇi zde majı´ mnohem veˇtsˇ´ı prostor pro svou pu˚sobnost, nenı´ na´hodou, zˇe na serverech a sı´t’ovy´ch zarˇ´ızenı´ch (mysˇleno teˇch poneˇkud slozˇiteˇjsˇ´ıch, naprˇ´ıklad routerech) beˇzˇ´ı cˇasto neˇktery´ unixovy´ syste´m. Kromeˇ na´stroju˚, ktere´ pouzˇ´ıva´me v textove´m rezˇimu, existuje hodneˇ na´stroju˚ s graficky´m rozhranı´m. Mnohe´ se nainstalujı´ jizˇ prˇi instalaci syste´mu, jine´ si mu˚zˇeme doinstalovat sami. S mnoha uzˇitecˇny´mi na´stroji se sezna´mı´me v prˇ´ısˇtı´m semestru.
$
SOFTWARE V LINUXOVY´CH DISTRIBUCI´CH
4.4
90
Mu˚zˇe se hodit jednoduchy´ software pro spra´vu uzˇivatelu˚, serveru˚, sledova´nı´ zatı´zˇenı´ a automatizaci spra´vy. Pro tento u´cˇel lze naprˇ´ıklad pouzˇ´ıt programy (snad spı´sˇe webova´ rozhranı´) Webmin a Usermin3 . Prvnı´ z nich je urcˇen pro administra´tory, druhy´ pro beˇzˇne´ uzˇivatele, oba existujı´ i v cˇeske´ verzi. Pokud se vzda´leneˇ prˇihlasˇujeme k serveru s Linuxem, potrˇebujeme vhodny´ komunikacˇnı´ protokol, ktery´ zajistı´ komunikaci mezi nasˇ´ım termina´lem a serverem. Mu˚zˇe to by´t telnet (prˇ´ıkaz telnet hna ´zev serverui) nebo rlogin, lepsˇ´ı je pouzˇ´ıvat protokol ssh, ktery´ sˇifruje prˇena´sˇena´ data. Jeho pouzˇitı´ je vsˇak problematicke´ z hlediska patentu˚, prˇesto existuje neˇkolik volneˇ sˇirˇitelny´ch implementacı´ pro ru˚zne´ operacˇnı´ syste´my vcˇetneˇ Windows (naprˇ´ıklad program PuTTY,4 OpenSSH 5 nebo ttssh). Pokud chceme na Linuxu (nebo FreeBSD) spousˇteˇt programy pro Windows, jedna z nejjednodusˇsˇ´ıch mozˇnostı´ je pouzˇitı´ Wine6 (to je jaka´si „prˇekladova´“ vrstva knihoven a na´stroju˚ v Linuxu, pomocı´ nı´ mohou v Linuxu pracovat Win aplikace). Ve veˇtsˇineˇ distribucı´ je Wine instalova´no, pokud tomu tak nenı´, mu˚zˇeme je instalovat sami. Postup je na´sledujı´cı´: • • • •
nainstalujeme balı´cˇky (wine a winesetuptk), spustı´me program winesetuptk, v neˇm vytvorˇ´ıme novy´ (virtua´lnı´) Windows oddı´l, vybereme neˇktera´ nastavenı´, ktera´ budeme potrˇebovat (je vhodne´ zvolit rozlisˇenı´ „vnorˇene´ obrazovky“ uvnitrˇ okna Wine o neˇco mensˇ´ı, nezˇ jake´ ma´me rozlisˇenı´ obrazovky), • zkopı´rujeme neˇktery´ font v /usr/X11R6/lib/X11/fonts/TTF do adresa´rˇe ~/.wine/fake_windows/Windows/Fonts.
$
Vsˇe vcˇetneˇ konfigurace je ulozˇeno v adresa´rˇi ~/.wine, takzˇe nemusı´me na ru˚zny´ch pocˇ´ıtacˇ´ıch pokazˇde´ prova´deˇt instalaci a konfiguraci znovu, stacˇ´ı zkopı´rovat tento adresa´rˇ. Kromeˇ Wine existujı´ i dalsˇ´ı rˇesˇenı´ pro tyto u´cˇely, vcˇetneˇ virtua´lnı´ch pocˇ´ıtacˇu˚. O te´to problematice se budeme ucˇit v prˇ´ısˇtı´m semestru. Na´stroje pro emulaci existujı´ i na „cestu na opacˇny´ brˇeh“ – mu˚zˇeme ve Windows emulovat Linux. Opeˇt pro tuto funkci najdeme hodneˇ na´stroju˚, jeden z nich, ekvivalent Wine, je Cygwin (http://www.cygwin.com) od RedHatu. V soucˇasne´ dobeˇ existuje mnoho multiplatformnı´ch aplikacı´ psany´ch kromeˇ jine´ho v Javeˇ, .NET jazycı´ch, Flashi apod., tyto aplikace samozrˇejmeˇ mu˚zˇeme bez jaky´chkoliv u´prav spousˇteˇt i v Linuxu (vsˇechny tyto technologie jsou zde podporova´ny. Takte´zˇ s webovy´mi aplikacemi neby´va´ proble´m, pokud k jejich provozova´nı´ stacˇ´ı opravdu jen webovy´ prohlı´zˇecˇ a vy´sˇe zmı´neˇne´ technologie. To je du˚lezˇite´ take´ proto, zˇe se sta´vajı´ velmi popula´rnı´mi aplikace pro Cloud Computing. 3
Na´stroje Webmin a Usermin najdeme na http://www.webmin.com/. PuTTY je ke stazˇenı´ na http://www.chiark.greenend.org.uk/~sgtatham/putty/. 5 OpenSSH najdeme na http://www.openssh.org. 6 Wine je ke stazˇenı´ na http://www.winehq.org v bina´rnı´ch balı´cˇcı´ch pro nejzna´meˇjsˇ´ı distribuce. 4
$
SOFTWARE V LINUXOVY´CH DISTRIBUCI´CH
4.4
91
´ koly U 1. Zjisteˇte, ktery´ program se ve vasˇem graficke´m prostrˇedı´ pouzˇ´ıva´ jako webovy´ prohlı´zˇecˇ, spra´vce souboru˚, e-mail klient, komunikacˇnı´ program, pro prˇehra´va´nı´ hudby cˇi videa, najdeˇte instalovany´ kancela´rˇsky´ balı´k. 2. Na internetu oveˇrˇte, co lze nastavovat v na´stroji Webmin a k cˇemu konkre´tneˇ slouzˇ´ı Usermin. 3. Zjisteˇte, co je to Cloud Computing.
4.4.2
Instalace softwaru
Balı´cˇek je souhrn instalacˇnı´ch dat pro dany´ software, jak uzˇ vı´me. Obvykle kazˇda´ distribuce ma´ svu˚j repozita´rˇ, a nebo se napojuje na repozita´rˇ jine´ veˇtsˇ´ı distribuce. Repozita´rˇ je jaka´si strukturovana´ za´soba´rna softwaru (databa´ze). Je optimalizova´n pro danou distribuci a je mozˇne´ z neˇho prova´deˇt take´ aktualizace softwaru vcˇetneˇ samotne´ho operacˇnı´ho syste´mu. Repozita´rˇe mu˚zˇeme povazˇovat za rozsa´hle´ databa´ze balı´cˇku˚. O instalaci softwaru prˇi instalaci syste´mu se nemusı´me nijak zvla´sˇt’ starat, provede ji instala´tor. Pokud chceme doinstalovat neˇktery´ balı´cˇek z instalacˇnı´ch me´diı´ nebo odjinud (z internetu apod.), postup za´lezˇ´ı na typu balı´cˇku. Pro instalaci jsou nutna´ vysˇsˇ´ı prˇ´ıstupova´ pra´va. Software je doda´va´n bud’ prˇ´ımo ve zdrojovy´ch ko´dech, a nebo ve formeˇ balı´cˇku˚. Balı´cˇky jsou bud’ bina´rnı´, a nebo zdrojove´. Zdrojove´ balı´cˇky obsahujı´ sice zdrojovy´ ko´d, ale narozdı´l od „surove´ho“ zdrojove´ho ko´du take´ informace potrˇebne´ k prˇekladu, proto pra´ce s nimi je mnohem jednodusˇsˇ´ı a obvykle jsou take´ bez proble´mu˚ zpracova´ny aplikacemi pro spra´vu balı´cˇku˚ stejneˇ jako bina´rnı´ balı´cˇky. Bina´rnı´ balı´cˇky (to je nejbeˇzˇneˇjsˇ´ı forma) majı´ ve veˇtsˇineˇ prˇ´ıpadu˚ oproti instalaci ze zdrojovy´ch balı´cˇku˚ vy´hodu jednoduchosti a podpory v graficke´m rezˇimu, soucˇa´stı´ graficke´ho prostrˇedı´ by´vajı´ aplikace pro spra´vu balı´cˇku˚. Majı´ vsˇak bohuzˇel take´ nevy´hody: • bina´rnı´ balı´cˇky by´vajı´ vyda´va´ny s mı´rny´m zpozˇdeˇnı´m, tedy nema´me zrovna aktua´lnı´ verze, • bina´rnı´ balı´cˇek obsahuje jizˇ prˇelozˇeny´ ko´d, a ten mohl by´t prˇelozˇen s pomocı´ jiny´ch verzı´ knihoven, nezˇ ktere´ ma´me my, takzˇe program nemusı´ fungovat spra´vneˇ nebo dokonce nemusı´ jı´t ani spustit (toto riziko vsˇak nenasta´va´, pokud si balı´cˇky opatrˇ´ıme z oficia´lnı´ch repozita´rˇu˚), • jsou urcˇita´ bezpecˇnostnı´ rizika, protozˇe instalace z bina´rnı´ch balı´cˇku˚ RPM a DEB vyzˇaduje pra´va roota (instalujı´cı´ proces, ne uzˇivatel sedı´cı´ u pocˇ´ıtacˇe), protozˇe instalacˇnı´ proces prˇistupuje k adresa´rˇu˚m a zdroju˚m, ke ktery´m ma´ norma´lneˇ prˇ´ıstup jen root (v graficke´m rezˇimu se rˇesˇ´ı zˇa´dostı´ balı´cˇkovacı´ho programu o heslo). Veˇtsˇina distribucı´ obsahuje na´stroje pro spra´vu balı´cˇku˚, ktere´ usnadnˇujı´ instalaci a prˇ´ıpadneˇ vyhleda´va´nı´ novy´ch verzı´ balı´cˇku˚. V Debianu je to syste´m APT, pouzˇ´ıva´ se zvla´sˇteˇ jeho
P P P
4.4
SOFTWARE V LINUXOVY´CH DISTRIBUCI´CH
92
Obra´zek 4.1: Program Adept pro spra´vu balı´cˇku˚ v Ubuntu graficke´ rozhranı´ Adept, ve Fedorˇe a Mandriveˇ Yum, urpmi, RPMDrake (v Mandriveˇ), . . . V distribucı´ch s „prˇ´ıjemneˇjsˇ´ım“ uzˇivatelsky´m rozhranı´m (naprˇ. KDE) jsou tyto na´stroje integrova´ny do menu pod vhodny´mi na´zvy. Drˇ´ıve byly beˇzˇne´ komplikace s ru˚zny´mi verzemi knihoven – aplikace potrˇebovala noveˇjsˇ´ı verzi nezˇ ktera´ byla nainstalovana´, ale s noveˇjsˇ´ı verzı´ si nerozumeˇla neˇktera´ z jizˇ nainstalovany´ch aplikacı´ (naprˇ. u rpm distribucı´ se tomu rˇ´ıkalo „rpm hell“). To je jizˇ le´ta rˇesˇeno syste´mem spra´vy verzı´ knihoven, kdy je pro neˇktere´ knihovny k dispozici vı´ce verzı´ a aplikace pouzˇ´ıva´ tu, pro kterou byla programova´na. Tento syste´m byl zrˇejmeˇ inspiracı´ obdoby ve Windows (WinSxS, tam bylo pro zmeˇnu „dll hell“). O obojı´m se budeme ucˇit v prˇ´ısˇtı´m semestru. Pokud jde o na´stroje s graficky´m rozhranı´m, jsou vzhledoveˇ i funkcˇneˇ hodneˇ podobne´. Na´stroj obsahuje balı´cˇky usporˇa´dane´ do kategoriı´, prˇi vy´beˇru balı´cˇku se zobrazı´ u´daje o neˇm (veˇtsˇinou alesponˇ strucˇny´ popis s tı´m, zˇe je mozˇne´ naprˇ´ıklad v kontextove´m menu zı´skat dalsˇ´ı informace). Pomocı´ voleb v kontextove´m menu nebo zasˇkrtnutı´m polı´cˇka urcˇujeme, co se ma´ nainstalovat. Na obra´zku 4.1 na straneˇ 92 je rozhranı´ programu Adept v distribuci Ubuntu s graficky´m prostrˇedı´m KDE, na´sleduje obra´zek se spra´vou zdroju˚ v tomto programu. Na obra´zcı´ch 4.4 a 4.5 tote´zˇ pro program RPMDrake v Mandriveˇ. Na´stroje pro spra´vu balı´cˇku˚ nabı´zejı´ take´ mozˇnost urcˇenı´ zdroju˚, ze ktery´ch majı´ by´t balı´cˇky stahova´ny. Nejme´neˇ jeden z teˇchto zdroju˚ by´va´ oficia´lnı´ repozita´rˇ. Uka´zky seznamu zdroju˚ jsou na obra´zcı´ch 4.2, 4.3 a 4.5. Jak vidı´me, zdroje mohou by´t jak na internetu (nejen
$
P
4.4
SOFTWARE V LINUXOVY´CH DISTRIBUCI´CH
93
Obra´zek 4.2: Spra´va zdroju˚ softwaru v programu Adept repozita´rˇe), tak i naprˇ´ıklad na vy´meˇnny´ch me´diı´ch jako jsou CD nebo DVD. Cˇasto se jedna´ o instalacˇnı´ me´dia, takto lze kdykoliv doinstalovat dalsˇ´ı aplikace, ktere´ byly prˇi instalaci syste´mu vynecha´ny. Seznam zdroju˚ lze doplnˇovat neoficia´lnı´mi repozita´rˇi nebo jaky´mikoliv jiny´mi umı´steˇnı´mi. Zpu˚sob zada´nı´ zdroje obvykle zjistı´me v na´poveˇdeˇ prˇ´ıslusˇne´ho na´stroje. Z internetu si mu˚zˇeme da´le stahovat balı´cˇky teˇch programu˚, ktere´ nema´me nainstalova´ny nebo je chceme prˇeinstalovat na novou verzi. Najdeme je naprˇ´ıklad na teˇchto stra´nka´ch:
Obra´zek 4.3: Spra´va zdroju˚ softwaru v programu Adept (jina´ verze, prostrˇedı´ GNOME)
SOFTWARE V LINUXOVY´CH DISTRIBUCI´CH
4.4
Obra´zek 4.4: Program RPMDrake pro spra´vu balı´cˇku˚ v Mandriveˇ
Obra´zek 4.5: Spra´va zdroju˚ softwaru v programu RPMDrake • • • • • •
http://www.sourceforge.net/ http://www.kde-apps.org/ http://www.gnomefiles.org/ http://www.freshmeat.net/ http://www.linuxbase.org/download (pro LSB certifikovane´ distribuce) http://www.linuxcentral.com/
94
GRAFICKE´ PROSTRˇEDI´
4.5
• • • • •
95
http://www.freshrpms.net/ (pro Fedoru) http://www.linuxpackages.net/ (hlavneˇ pro Slackware) http://plf.zarb.org/ http://rpm.pbone.net/ (vyhleda´va´nı´ rpm balı´cˇku˚, pro vsˇechny distribuce s rpm) http://http://www.apt-get.org/ (neoficia´lnı´ repozita´rˇ pro Debian)
Instalovat balı´cˇky v textove´m rezˇimu se naucˇ´ıme v prˇ´ısˇtı´m semestru. ´ koly U 1. Ve sve´ distribuci najdeˇte na´stroj pro spra´vu balı´cˇku˚ s graficky´m prostrˇedı´m. Prohle´dneˇte si strukturu balı´cˇku˚, ktere´ jsou k dispozici. 2. Zjisteˇte, jake´ zdroje balı´cˇku˚ jsou nastaveny. 3. Na stra´nka´ch projektu GCompris (najdeˇte je; je to francouzsky, vyslovuje se [zˇe kompri] – rozumeˇl/a jsem) zjisteˇte, pro jake´ distribuce existujı´ bina´rnı´ balı´cˇky.
4.5
Graficke´ prostrˇedı´
Graficke´ prostrˇedı´ v Linuxu je postaveno stejneˇ jako u jiny´ch unixovy´ch syste´mu˚ na X Window (prˇesneˇji X Window System – ne Windows!!!, take´ se pouzˇ´ıva´ zkratka X11). X Window System je implementace graficke´ho prostrˇedı´, ktera´ vznikla v Massachusetts Institute of Technology (MIT) v polovineˇ 80. let minule´ho stoletı´. Nabı´zı´ za´kladnı´ funkce pro prˇ´ıstup k obrazovce (jejı´ geometrie – rozmeˇry, urcˇenı´ pozice, apod.), nastavenı´ obrazovky (barvy, obnovovacı´ frekvence. . . ), pro spra´vu oken (udrzˇuje hierarchii oken, nabı´zı´ funkce pro prˇekreslenı´ okna, fonty), konfiguraci a pouzˇ´ıva´nı´ zarˇ´ızenı´ souvisejı´cı´ch s uzˇivatelsky´m rozhranı´m (kla´vesnice, mysˇ, zvuk, grafika), a da´le neˇktere´ funkce spra´vy procesu˚ souvisejı´cı´ s pracı´ v prostrˇedı´ (naprˇ´ıklad mozˇnost na´silneˇ ukoncˇit aplikaci).
P
X Window je ochranna´ zna´mka MIT, proto pro syste´my distribuovane´ pod GPL se pouzˇ´ıva´ modifikace nazvana´ bud’ XFree86 nebo X.org. XFree86 je starsˇ´ı a drˇ´ıve se na linuxovy´ch syste´mech pouzˇ´ıvala prakticky jen tato varianta, ale vzhledem k trochu pozmeˇneˇne´ licencˇnı´ politice tohoto projektu a take´ k dalsˇ´ım proble´mu˚m (vy´voj je me´neˇ pruzˇny´) se prosazuje X.org. X Window ve skutecˇnosti nabı´zı´ pouze jake´si za´kladnı´ programove´ rozhranı´, a aby bylo mozˇne´ prˇ´ımo pracovat v graficke´m prostrˇedı´, je nutne´ mı´t jesˇteˇ bud’ spra´vce oken nebo desktopove´ prostrˇedı´. Spra´vce oken je program nebo sada programu˚ s knihovnami. Pouzˇ´ıva´ na´stroje poskytovane´ syste´mem X Window a prova´dı´ konkre´tnı´ implementaci – vykresluje okna s urcˇitou
P
4.5
GRAFICKE´ PROSTRˇEDI´
96
viza´zˇ´ı, urcˇuje, kdy ktere´ okno ma´ zameˇrˇenı´ (tj. je aktivnı´ a jsou mu posı´la´ny vstupy naprˇ´ıklad z kla´vesnice), atd. Tedy vlastneˇ jde o jakousi vrstvu nad X Window, ktera´ vyuzˇ´ıva´ sluzˇeb a funkcı´ sve´ „podrˇ´ızene´“ vrstvy. Desktopove´ prostrˇedı´ vznikne, kdyzˇ vezmeme neˇktere´ho spra´vce oken a prˇida´me k neˇmu balı´k aplikacı´ – konfiguracˇnı´ na´stroje, kancela´rˇske´ aplikace, spra´vce souboru˚ spoustu dalsˇ´ıch aplikacı´. Neˇkterˇ´ı spra´vci oken jsou postupneˇ prˇerˇazova´ni spı´sˇe k desktopovy´m prostrˇedı´m, protozˇe se kolem nich postupneˇ „kupı´“ na´stroje a aplikace. Kazˇdy´ spra´vce oken a desktopove´ prostrˇedı´ potrˇebuje svou widget knihovnu. Je to knihovna objektu˚ a funkcı´ typicky´ch pro dane´ho spra´vce oken a prostrˇedı´, obsahuje naprˇ´ıklad prvky pro vlastnı´ vzhled oken (jak vypada´ hornı´ lisˇta okna, menu, tlacˇ´ıtka, posuvnı´ky, apod.), funkce pro ovla´da´nı´ okna (co se ma´ sta´t po urcˇite´ akci mysˇi, prˇi zı´ska´nı´ zameˇrˇenı´, atd.), funkce pro vytvorˇenı´ a obsluhu kontextove´ho menu a dalsˇ´ı. Kromeˇ widget knihovny samozrˇejmeˇ existujı´ i dalsˇ´ı knihovny, ktere´ spra´vce a prostrˇedı´ pouzˇ´ıvajı´.
P P
Kdyzˇ to shrneme – potrˇebujeme X Window (nabı´zı´ za´kladnı´ vrstvu prostrˇedı´), pak neˇjakou widget knihovnu s prvky prostrˇedı´ a da´le vhodne´ho spra´vce oken, ktery´ s touto widget knihovnou umı´ zacha´zet (nebo desktopove´ prostrˇedı´, kdyzˇ ke spra´vci oken prˇida´me dalsˇ´ı na´stroje a aplikace). Stra´nky http://xwinman.org/ obsahujı´ hodneˇ informacı´ o spra´vcı´ch oken vcˇetneˇ uka´zek vy´rˇezu˚ obrazovky. Srovna´nı´ spra´vcu˚ oken a desktopovy´ch prostrˇedı´ najdeme na stra´nka´ch http://en.wikipedia.org/wiki/Comparison of X window managers a http://en.wikipedia.org/wiki/Comparison of X Window System desktop environments.
4.5.1
Spra´vci oken
Spra´vci oken (samostatneˇ) jsou pouzˇ´ıva´ni na starsˇ´ıch pocˇ´ıtacˇ´ıch (majı´ mensˇ´ı na´roky na zdroje), ale take´ lidmi, kterˇ´ı prosteˇ nic dalsˇ´ıho z grafiky nepotrˇebujı´. Podı´va´me se na neˇktere´ nejzna´meˇjsˇ´ı. twm – Tab Window Manager, jeden z nejstarsˇ´ıch spra´vcu˚ pouzˇ´ıvajı´cı´ starou widget knihovnu Athena. Uzˇivatelsky prˇ´ıveˇtivy´ moc nenı´, standardneˇ nepodporuje virtua´lnı´ plochy. fvwm – zkratka znamena´ F Virtual Window Manager, kdysi to byl nejpopula´rneˇjsˇ´ı spra´vce pod Unixem. Vyznacˇuje se mnohem veˇtsˇ´ı flexibilnostı´ nezˇ starsˇ´ı twm, prostrˇedı´ mu˚zˇe vypadat naprˇ´ıklad jako prostrˇedı´ Windows 95. Adresa: http://www.fvwm.org/ SawMill – spra´vce oken konfigurovatelny´ pomocı´ jazyka Lisp. Jeho na´stupcem je projekt SawFish, takte´zˇ konfigurovatelny´ pomocı´ Lispu. Adresy: http://sawmill.sourceforge.net/, http://sawfish.wikia.com/wiki/Main Page
J
4.5
GRAFICKE´ PROSTRˇEDI´
97
Window Maker – spousˇteˇcı´ soubor je wmaker. Tento spra´vce je zalozˇen na vzhledu operacˇnı´ho syste´mu NeXTStep. Je pomeˇrneˇ prˇ´ıveˇtivy´ k uzˇivateli i ke zdroju˚m pocˇ´ıtacˇe, ktere´ tolik nevycˇerpa´va´. Adresa: http://www.windowmaker.info/ ´ cˇelem je IceWM – pu˚vodneˇ byl vytvorˇen jako spra´vce oken pro prostrˇedı´ GNUstep. U rychlost a snadnost konfigurace. Adresa: http://www.icewm.org/ AfterStep – spra´vce oken zalozˇeny´ na rozhranı´ NeXTStep. Ma´ velmi male´ hardwarove´ pozˇadavky a nabı´zı´ rozsa´hle´ mozˇnosti konfigurace. Adresa: http://www.afterstep.org/ BlackBox – spra´vce oken, drˇ´ıve celkem oblı´beny´, jeho vy´voj vsˇak byl zastaven. Domovska´ stra´nka zrˇejmeˇ uzˇ neexistuje, spra´vce je ke stazˇenı´ naprˇ´ıklad na stra´nce http://sourceforge.net/projects/blackboxwm/ FluxBox – na´stupce BlackBoxu. Maly´ a rychly´ spra´vce, ma´ hlavnı´ panel obdobny´ GNOME (viz da´le). Plocha ma´ kontextove´ menu, ve ktere´m najdeme programy ke spusˇteˇnı´ a take´ konfiguracˇnı´ na´stroje. Konfiguracˇnı´ soubory jsou v domovske´m adresa´rˇi uzˇivatelu˚ v podadresa´rˇi .fluxbox, vcˇetneˇ souboru˚ pro prˇirˇazova´nı´ kla´vesovy´ch zkratek a konfigurace menu. Na internetu se dajı´ sta´hnout graficke´ na´stroje pro prova´deˇnı´ nastavenı´ obsazˇeny´ch v teˇchto souborech. Adresa: http://www.fluxbox.org/ OpenBox – dalsˇ´ı potomek BlackBoxu. Opeˇt se jedna´ o pomeˇrneˇ u´sporne´ho a rychle´ho spra´vce, jehozˇ hlavnı´ nabı´dka je prˇ´ıstupna´ prˇes prave´ tlacˇ´ıtko mysˇi na plosˇe. Je zajı´mavy´ prˇedevsˇ´ım zvla´sˇtnı´ implementacı´ menu, ktera´ umozˇnˇuje polozˇky menu dynamicky meˇnit a prˇida´vat naprˇ´ıklad pomocı´ skriptu˚. Adresa: http://icculus.org/openbox/index.php/Main Page Veˇtsˇina spra´vcu˚ oken pouzˇ´ıva´ slit. Je to oblast prˇi neˇktere´m okraji obrazovky nebo na hlavnı´m panelu, kde se nacha´zejı´ odkazy (ikonky) ru˚zny´ch pomocny´ch progra´mku˚. Teˇmto progra´mku˚m se rˇ´ıka´ dock aplikace a je jich hodneˇ ke stazˇenı´ prˇ´ımo na internetu. Veˇtsˇinou to by´vajı´ programy pro nastavenı´ zvuku, grafiky, data a cˇasu, posˇty, sı´teˇ, sledova´nı´ a nastavova´nı´ ru˚zny´ch cˇa´stı´ syste´mu (naprˇ. za´teˇzˇ procesoru) apod.
4.5.2
Desktopova´ prostrˇedı´
Desktopovy´ch prostrˇedı´ je jizˇ me´neˇ. Podı´va´me se na neˇkolik nejzna´meˇjsˇ´ıch. CDE – Common Desktop Environment, prostrˇedı´ postavene´ nad widget knihovnou Motif, komercˇnı´. V Linuxu ho najdeme prakticky jen v komercˇnı´ch verzı´ch, nenı´ moc popula´rnı´.
P J
4.5
GRAFICKE´ PROSTRˇEDI´
98
Adresa: http://www.opengroup.org/tech/desktop/cde/ KDE – K Desktop Environment, dnes pravdeˇpodobneˇ nejpopula´rneˇjsˇ´ı. Vybavenost na´stroji i aplikacemi je velmi dobra´, najdeme tu prakticky vsˇe, co potrˇebujeme, pokud jsme to ovsˇem nainstalovali (:-). Na internetu je mnoho na´stroju˚, ktere´ mohou jesˇteˇ da´le zprˇ´ıjemnit cˇi zefektivnit (pozor nenı´ to tote´zˇ) pra´ci v KDE, naprˇ´ıklad KDocker nabı´zı´ obdobne´ a vlastneˇ jesˇteˇ sˇirsˇ´ı funkce jako Systray ve Windows (tj. prava´ cˇa´st hlavnı´ho panelu). Zna´my´ je take´ kiosk rezˇim KDE pouzˇitelny´ tam, kde je nutne´ uzˇivatelu˚m zabra´nit v jaky´chkoliv za´sazı´ch do syste´mu (trˇeba informacˇnı´ syste´m pro cestujı´cı´ na na´drazˇ´ı). KDE je postaveno na widget knihovneˇ Qt (zkratka z Quasar Toolkit, cˇte se vsˇak [kju˚t]), spra´vce oken je KWin. Ma´ objektovou strukturu a je velmi objemne´ (beˇzˇ´ı mnoho procesu˚ za´rovenˇ), proto nenı´ prˇ´ılisˇ vhodne´ na me´neˇ vy´konne´ stroje. Adresa: http://www.kde.org/ GNOME – vedle KDE je to jedno z nejpopula´rneˇjsˇ´ıch prostrˇedı´. Take´ obsahuje velke´ mnozˇstvı´ aplikacı´ a na´stroju˚. Je trochu me´neˇ, i kdyzˇ dostatecˇneˇ, vybavene´ nezˇ KDE, ale dı´ky sve´ strukturˇe je rychlejsˇ´ı, prˇehledneˇjsˇ´ı, jeho beˇh je optima´lneˇjsˇ´ı (kromeˇ starsˇ´ı verze 3), proto je vhodne´ i na pomalejsˇ´ı pocˇ´ıtacˇe. GNOME pouzˇ´ıva´ widget knihovnu GTK+, spra´vcem oken je Metacity. Adresa: http://www.gnome.org/ Enlightenment – vizua´lneˇ i mozˇnostmi nastavenı´ velmi zdarˇily´ projekt neˇkde mezi spra´vcem oken a desktopovy´m prostrˇedı´m. Ma´ trochu zvla´sˇtnı´ ovla´da´nı´ (ve standardnı´m nastavenı´) a velmi rozsa´hle´ mozˇnosti konfigurace, mu˚zˇe vypadat prakticky jako ktery´koliv jiny´ spra´vce oken. Prostrˇedı´ je doplneˇno aplikacemi z GNOME. Nejnoveˇjsˇ´ı verze (Enlightenment DR16 a DR17) se nepokousˇejı´ konkurovat jiny´m desktopovy´m prostrˇedı´m, ale snazˇ´ı se najı´t u´plneˇ novou cestu. Cı´lem je, aby pra´ce v graficke´m prostrˇedı´ byla co nejvı´ce intuitivnı´, aby zahrnovala prakticky vsˇe, co se da´ deˇlat vcˇetneˇ snadneˇjsˇ´ı manipulace se soubory. Ovla´da´nı´ budı´ velkou pozornost a je plne´ zajı´mavy´ch novinek. Widget knihovny jsou dveˇ – ETK a EWL, prvnı´ z nich se zda´ pouzˇ´ıvaneˇjsˇ´ı. Prostrˇedı´ je samo sobeˇ spra´vcem. Narozdı´l od veˇtsˇiny ostatnı´ch je sˇ´ırˇen pod licencı´ BSD. Adresa: http://www.enlightenment.org/ Xfce – je to u´sporne´ (male´ na´roky na hardware) modula´rnı´ desktopove´ prostrˇedı´, ktere´ nabı´zı´ rozsa´hle´ mozˇnosti konfigurace. Ma´me k dispozici vı´ce pracovnı´ch ploch, panel ke spousˇteˇnı´ aplikacı´, atd. Nabı´dka, ktera´ je v KDE nebo GNOME dostupna´ prˇes tlacˇ´ıtko na hlavnı´m panelu, je zde prˇes prave´ tlacˇ´ıtko mysˇi (v dalsˇ´ı verzi by uzˇ meˇlo by´t i to tlacˇ´ıtko). Prostrˇedı´ pouzˇ´ıva´ knihovnu GTK+ stejneˇ jako GNOME, tedy ani z graficke´ho hlediska zde programy psane´ pro GNOME nemajı´ zˇa´dne´ proble´my. V poslednı´ch verzı´ch se objevuje i podpora vı´ce monitoru˚ a kiosk rezˇimu.
4.5
GRAFICKE´ PROSTRˇEDI´
99
Konfigurace se prova´dı´ pro dany´ objekt prˇes kontextove´ menu tohoto objektu (Vlastnosti), nebo ve Spra´vci nastavenı´ (toho spustı´me z hlavnı´ho panelu nebo z kontextove´ho menu plochy), to, co nelze nastavit v tomto na´stroji, se nastavuje v konfiguracˇnı´ch souborech (neˇktere´ z nich jsou dokonce ve forma´tu XML, naprˇ´ıklad ˜/.xfce4/menu.xml pro konfiguraci menu). Obsahuje vlastnı´ho spra´vce souboru˚ – xffm. Existuje instala´tor od jine´ho programa´tora, Os-cillation, ktery´ velmi zjednodusˇ´ı instalaci a za´kladnı´ konfiguraci (po instalaci uzˇ stacˇ´ı jen zarˇ´ıdit, aby se toto prostrˇedı´ spustilo), je ke stazˇenı´ na http://www.oscillation.de (vpravo dole se da´ mı´sto neˇmcˇiny zvolit anglicˇtina, pak v leve´m menu v projektech jsou instala´tory Xfce). Jsou to archivy Installer Xfce (za´klad), Installer Gtk+ Xfce Engine (te´mata), Installer Xfce Goodies (dalsˇ´ı programy), Installer Terminal (termina´l). Jsou to bina´rnı´ balı´cˇky, samotna´ instalace probı´ha´ v graficke´m rezˇimu. Spra´vcem oken v Xfce je Xfwm, pouzˇ´ıva´ widget knihovnu GTK+ z projektu GNOME. Adresy: http://www.xfce.org, live CD pro prezentaci XFce http://www.xfld.org, dalsˇ´ı na´stroje a programy pro XFce jsou na xfce-goodies.berlios.de Kazˇde´ desktopove´ prostrˇedı´ ma´ sve´ho vy´chozı´ho spra´vce oken, ale tento spra´vce oken mu˚zˇe by´t vymeˇneˇn za jine´ho. Toho vyuzˇ´ıva´me naprˇ´ıklad prˇi implementaci 3D rozhranı´ – v „obycˇejne´m“ desktopove´m prostrˇedı´, ktere´ ma´me nainstalova´no, je jako spra´vce oken pouzˇit jiny´, ktery´ zvla´da´ 3D.
4.5.3
3D rozhranı´
V Linuxu (a ostatneˇ obecneˇ v unixovy´ch syte´mech) je 3D prostrˇedı´ vyuzˇ´ıva´no uzˇ mnohem delsˇ´ı dobu nezˇ ve Windows. Existuje vı´ce teˇchto projektu˚, my se podı´va´me na nejzna´meˇjsˇ´ı. Veˇtsˇinou vyuzˇ´ıvajı´ OpenGL a hardwarovou akceleraci (tj. urychlujı´ vy´pocˇty souvisejı´cı´ s grafikou prˇenesenı´m z procesoru na grafickou kartu). Compiz Fusion je 3D spra´vce oken vyuzˇ´ıvajı´cı´ technologii OpenGL, ktery´ mu˚zˇe by´t integrova´n do ru˚zny´ch desktopovy´ch prostrˇedı´ vcˇetneˇ KDE a GNOME. Compiz Fusion vznikl sloucˇenı´m dvou starsˇ´ıch projektu˚ – Compiz a Beryl. Mnozˇstvı´ efektu˚ je v za´kladnı´ instalaci mensˇ´ı, ale mu˚zˇe by´t dodatecˇneˇ rozsˇ´ırˇeno. Toto rozsˇka´lova´nı´ bylo zvoleno, aby uzˇivatel mohl le´pe prˇizpu˚sobit nastavenı´ mozˇnostem sve´ho syste´mu (neˇktere´ efekty jsou hardwaroveˇ znacˇneˇ na´rocˇne´ a navı´c na neˇktery´ch HW architektura´ch mohou nastat proble´my). Pro prˇ´ıstup k rozsˇ´ırˇenı´m lze instalovat balı´cˇek simpleccsm, v Ubuntu take´ existuje komplexnı´ na´stroj pro nastavenı´ vzhledu tohoto prostrˇedı´ UbuntuTweak. Adresy: http://wiki.compiz-fusion.org/, http://www.compiz-fusion.org/, http://ubuntu-tweak.com/
P J
4.6
KONZOLY
100
Looking Glass je 3D prostrˇedı´ postavene´ na Javeˇ, vyvı´jene´ firmou Sun pod licencı´ GPL. Umozˇnˇuje naprosto volneˇ manipulovat s okny (nejen je jakkoliv nata´cˇet cˇi deformovat, ale take´ naprˇ´ıklad psa´t si pozna´mky na „rubovou“ stranu okna). Existuje take´ demonstracˇnı´ live CD. Adresy: http://www.sun.com/software/looking glass/, https://lg3d-livecd.dev.java.net/Web-Site/Welcome.html Croquet je desktopove´ prostrˇedı´ distribuovane´ pod vlastnı´ licencı´, ktere´ vsˇak prˇekracˇuje hranice te´to definice (ma´ naprˇ´ıklad vlastnı´ spra´vu procesu˚). Je postaveno na objektove´m programovacı´m jazyce SmallTalk (vlastneˇ jeho svobodne´ varianteˇ Squeak), pouzˇ´ıva´ se naprˇ´ıklad v projektu One Laptop Per Child. Adresy: http://www.opencroquet.org/, http://www.linuxexpres.cz/modules/marwel/index.php?article=1856, http://www.root.cz/serialy/squeak-navrat-do-budoucnosti/, http://www.squeak.org/, http://laptop.org/en/ ´ koly U 1. Zjisteˇte, kterou variantu X Window pouzˇ´ıva´te (X.org nebo XFree86), prˇ´ıpadneˇ take´ v jake´ verzi. Tyto informace lze zjistit v na´poveˇdeˇ nebo v adresa´rˇ´ıch, kde je X Window System instalova´n. 2. Nejen desktopove´ prostrˇedı´ prˇina´sˇ´ı svoje aplikace, neˇkolik demonstracˇnı´ch aplikacı´ s graficky´m rozhranı´m je doda´va´no prˇ´ımo s X Window (obvykle zacˇ´ınajı´ pı´smenem „x“). Pokuste se neˇktere´ z nich najı´t (cˇasto by´vajı´ nainstalova´ny neˇktere´ z aplikacı´ xclock, xterm, xcalc, xedit, xlogo, xeyes, puzzle, maze, xgas, xgc, xmag, atd.). 3. Vyberte si neˇktere´ho spra´vce oken a zjisteˇte o neˇm co nejpodrobneˇjsˇ´ı informace vcˇetneˇ platforem a aktua´lnı´ verze, najdeˇte take´ jeho screenshoty. 4. Vyberte si neˇktere´ desktopove´ prostrˇedı´ a zjisteˇte o neˇm co nejpodrobneˇjsˇ´ı informace vcˇetneˇ platforem a aktua´lnı´ verze, najdeˇte take´ jeho screenshoty. 5. Vyberte si neˇktere´ 3D rozhranı´ a zjisteˇte o neˇm co nejpodrobneˇjsˇ´ı informace vcˇetneˇ platforem a aktua´lnı´ verze, najdeˇte take´ jeho screenshoty.
4.6
Konzoly
I tehdy, kdyzˇ funguje pouze textovy´ rezˇim a tedy nepouzˇ´ıva´me zˇa´dne´ho spra´vce oken (vlastneˇ ani zˇa´dna´ okna), ma´me k dispozici standardneˇ 6 konzol. Mezi nimi se prˇepı´na´me stiskem kla´vesovy´ch kombinacı´ Alt+F1 (prvnı´ konzola), Alt+F2 (druha´), . . . , Alt+F6
$
4.6
KONZOLY
101
(sˇesta´ konzola). V kazˇde´ konzole mu˚zˇeme mı´t spusˇteˇn neˇjaky´ program na poprˇedı´ a vı´ce programu˚ na pozadı´. V ktere´koliv konzole mu˚zˇeme mı´t take´ spusˇteˇn program Midnight Commander (spousˇtı´ se prˇ´ıkazem mc) pro snadneˇjsˇ´ı pra´ci se soubory, sı´tı´ a dalsˇ´ımi mozˇnostmi (obdoba Norton Commanderu nebo M602 v DOSu a Windows). Z graficke´ho rezˇimu se do konzol dostaneme tak, zˇe s prˇ´ıslusˇnou kla´vesovou zkratkou stiskneme take´ kla´vesu Ctrl , tj. celkoveˇ Ctrl+Alt+F1 azˇ Ctrl+Alt+F6 (pak prˇi prˇ´ıme´m prˇepı´na´nı´ mezi konzolami jizˇ Ctrl netiskneme). Zpeˇt do graficke´ho rezˇimu se dostaneme kla´vesovou zkratkou Alt+F7 (graficka´ prostrˇedı´ beˇzˇ´ı na sedme´ konzole).
4.6
KONZOLY
102
´ koly U 1. Vyzkousˇejte si prˇepı´na´nı´ mezi konzolami a zjisteˇte, ktere´ prˇ´ıkazy byly jako poslednı´ na teˇchto konzola´ch provedeny beˇhem startu syste´mu – prˇepneˇte se postupneˇ na prvnı´ konzolu, pak druhou, prˇ´ıpadneˇ dalsˇ´ı, potom se prˇesunˇte zpeˇt do graficke´ho prostrˇedı´ na sedmou konzolu. 2. Pokud se va´m podarˇ´ı se v neˇktere´ konzole prˇihla´sit, vyzkousˇejte program mc a projdeˇte si v neˇm svu˚j domovsky´ adresa´rˇ.
Kapitola
5
Textovy´ rezˇim v Linuxu Tato kapitola je u´vodem do spra´vy operacˇnı´ch syste´mu˚ s ja´drem GNU/Linux (da´le Linux) v textove´m rezˇimu, veˇtsˇina postupu˚ s mı´rnou modifikacı´ platı´ i pro jine´ unixove´ (unix-like) syste´my. V unixovy´ch syste´mech vcˇetneˇ Linuxu je mozˇne´ pouzˇ´ıvat neˇkolik ru˚zny´ch shellu˚. My se zde budeme veˇnovat pouze shellu bash – Bourne Again Shell.
5.1 5.1.1
Textove´ shelly a prˇı´kazy Kdy, kde a jak pouzˇı´vat textovy´ shell
V unixovy´ch syste´mech vcˇetneˇ Linuxu ma´me vzˇdy mimo graficke´ prostrˇedı´ mozˇnost prova´deˇt ru˚zne´ operace take´ v textove´m rezˇimu pomocı´ prˇ´ıkazu˚. Tento zpu˚sob pra´ce se syste´mem se mu˚zˇe zda´t nepohodlny´, ale je uzˇitecˇny´, pokud • chceme operace prova´deˇt efektivneˇ (nemusı´me se dosta´vat do urcˇite´ho okna s nastavenı´m prˇes ru˚zna´ menu a jina´ okna, ma´me vsˇechno „pohromadeˇ“, ru˚zna´ nastavenı´ prova´dı´me na jednom mı´steˇ, v okneˇ termina´lu nebo konzoly), • chceme automatizovat a zrychlit urcˇite´ operace (pro cˇasto pouzˇ´ıvane´ sledy prˇ´ıkazu˚ napı´sˇeme skript, ten vzˇdy jen spustı´me), hodı´ se take´ tehdy, kdyzˇ tata´zˇ nastavenı´ prova´dı´me na vı´ce zarˇ´ızenı´ch, • chceme, aby urcˇite´ prˇ´ıkazy a programy spolupracovaly formou prˇeda´va´nı´ vstupu˚ a vy´stupu˚, • nemu˚zˇeme najı´t v graficke´m prostrˇedı´ mı´sto, kde se urcˇita´ veˇc nastavuje (v mnoha distribucı´ch je graficke´ prostrˇedı´ poneˇkud upraveno, navı´c jsou vy´razne´ rozdı´ly mezi KDE/GNOME/XFce/atd.), • urcˇity´ program nepracuje v graficke´m prostrˇedı´ podle nasˇich prˇedstav, • ma´me alergii na graficka´ prostrˇedı´, atd. 103
TEXTOVE´ SHELLY A PRˇI´KAZY
5.1
104
Kdyzˇ zada´va´me prˇ´ıkazy, pracujeme vzˇdy s urcˇity´m shellem. Shell je prˇ´ıkazovy´ interpret, je to prˇedevsˇ´ım program (rozhranı´), ktery´ slouzˇ´ı ke spousˇteˇnı´ jiny´ch programu˚, a to prˇedevsˇ´ım v textove´m rezˇimu. Pokud ma´me spusˇteˇno graficke´ prostrˇedı´, dostaneme se do shellu spusˇteˇnı´m konzoly (obvykle je v menu tlacˇ´ıtka obdobne´ho tlacˇ´ıtku Start ve Windows, za´visı´ na pouzˇ´ıvane´m desktopove´m prostrˇedı´) nebo spusˇteˇnı´m urcˇity´ch programu˚. Rea´lneˇ mu˚zˇeme tedy v shellu pracovat dveˇma za´kladnı´mi zpu˚soby:
$
• pouzˇijeme konzoly, s teˇmi jsme se sezna´mili na konci prˇedchozı´ kapitoly, • pouzˇijeme neˇktery´ program, ktery´ poskytuje rozhranı´ k tomu shellu, ktery´ potrˇebujeme, typicky xterm, konsole nebo podobny´. V KDE by´vajı´ termina´ly a konzole dosazˇitelne´ prˇes nabı´dku K , menu Termina´ly (prˇ´ıpadneˇ K ï Spustit ï napı´sˇeme konsole nebo jiny ´ na´zev termina´lu cˇi konzole). Pu˚vodnı´ shell v Unixu byl Bourne Shell (vznikl roku 1978 a oznacˇoval se jednodusˇe sh), jehozˇ autor je Stephen Bourne. O neˇco pozdeˇji (v dobeˇ prˇepisu Unixu do jazyka C) vznikl jako alternativa C Shell (oznacˇoval se csh). Zatı´mco Bourne Shell byl urcˇen spı´sˇe pro psanı´ skriptu˚ a umozˇnˇoval lepsˇ´ı spolupra´ci programu˚ (vcˇetneˇ smeˇrova´nı´), C Shell hodneˇ inspirovany´ jazykem C se orientoval hlavneˇ na interaktivnı´ pra´ci prˇ´ımo v prˇ´ıkazove´m rˇa´dku (naprˇ´ıklad pouzˇ´ıva´nı´ historie pomocı´ specia´lnı´ch prˇ´ıkazu˚) a take´ prˇinesl pokrocˇilejsˇ´ı spra´vu u´loh. V soucˇasne´ dobeˇ se uzˇ nesetka´me prˇ´ımo s Bourne Shellem a C Shellem, ale spı´sˇe s jejich potomky:1 • Toronto C Shell (tcsh) je rozsˇ´ırˇenı´ csh o dalsˇ´ı mozˇnosti, naprˇ´ıklad pouzˇ´ıva´nı´ sˇipek prˇi pra´ci s historiı´ prˇ´ıkazu˚, tcsh take´ odstranil neˇktere´ chyby souvisejı´cı´ s cˇinnostı´ ve skriptu, ktere´ se vyskytovaly v csh, je obvykle nainstalova´n v adresa´rˇi /bin/tcsh nebo /usr/bin/tcsh nebo /usr/local/bin/tcsh (za´lezˇ´ı na distribuci), • Korn Shell (ksh) – syntaxe prˇ´ıkazu˚ odpovı´da´ Bourne Shellu, ale jinak veˇtsˇinu vlastnostı´ prˇejal z tcsh, jde vlastneˇ o hybrid shellu˚ sh a tcsh, je nainstalova´n v adresa´rˇi /bin/ksh nebo /usr/bin/ksh, • Bourne Again Shell (bash) je nejobvyklejsˇ´ım shellem v Linuxu a je velmi podobny´ ksh (je jednodusˇsˇ´ı, naprˇ´ıklad oproti ksh neobsahuje podporu raciona´lnı´ch cˇ´ısel a vı´cedimenziona´lnı´ch polı´), je nainstalova´n v /bin/bash nebo /usr/bin/bash nebo /usr/local/bin/bash, • Debian Almquist Shell (dash) je potomkem shellu ash (Almquist Shell) ze syste´mu FreeBSD, jak na´zev napovı´da´, mu˚zˇeme se s nı´m setkat u Debianu a jeho potomku˚ (vcˇetneˇ Ubuntu); je podobny´ shellu bash, ale mı´rneˇ osekany´ (neˇktere´ vlastnosti shellu bash nepodporuje) a rychlejsˇ´ı, • Z Shell (zsh) je naopak vybaveneˇjsˇ´ı nezˇ bash, a to smeˇrem k veˇdecky´m vy´pocˇtu˚m (je srovnatelny´ spı´sˇe s shellem ksh). 1
Peˇkne´ porovna´nı´ shellu˚ (dokonce vcˇetneˇ Prˇ´ıkazove´ho rˇa´dku ve Windows) najdeme naprˇ´ıklad na stra´nce http://en.wikipedia.org/wiki/Comparison of command shells.
P
5.1
TEXTOVE´ SHELLY A PRˇI´KAZY
105
V Linuxu je vzˇdy (nebo te´meˇrˇ vzˇdy) nainstalova´n shell bash, a kromeˇ neˇho i neˇkolik dalsˇ´ıch. Seznam pouzˇitelny´ch shellu˚ (teˇch, ktere´ ma´me k dispozici) je v souboru /etc/shells. Dalsˇ´ı mozˇnou prˇ´ıcˇinou selha´nı´ prˇ´ıkazu je zada´nı´ nespra´vne´ cesty k souboru shellu (jde prˇece o program), zde stacˇ´ı zjistit, kde konkre´tneˇ je shell nainstalova´n. V modernı´ch unixovy´ch syste´mech vcˇetneˇ Linuxu ma´me souborove´ manazˇery, kterˇ´ı na´m usnadnˇujı´ pra´ci prˇedevsˇ´ım prˇi operacı´ch s adresa´rˇi a soubory. Jsou to naprˇ´ıklad Midnight Commander (spousˇtı´ se prˇ´ıkazem mc) pracujı´cı´ v konzoli (a tedy ve ktere´koliv distribuci s jaky´mkoliv graficky´m prostrˇedı´m), Konqueror v desktopove´m prostrˇedı´ KDE, Nautilus v desktopove´m prostrˇedı´ GNOME, atd.
$ $
´ kol U Spust’te neˇktery´ termina´l, emula´tor konzole nebo se prˇesunˇte do neˇktere´ z konzolı´ (tam se prˇihlasˇte). Spust’te zde program Midnight Commander (prˇ´ıkaz mc).
5.1.2
Struktura prˇı´kazu˚
Prˇ´ıkazy se skla´dajı´ z teˇchto cˇa´stı´: na´zev prˇı´kazu nebo prˇ´ıpadneˇ na´zev spustitelne´ho souboru, ktery´ tady pouzˇ´ıva´me jako prˇ´ıkaz, mu˚zˇe obsahovat i cestu, v opacˇne´m prˇ´ıpadeˇ je hleda´n v adresa´rˇ´ıch uvedeny´ch v prˇ´ıslusˇne´ promeˇnne´ prostrˇedı´ (nehleda´ se v pracovnı´m adresa´rˇi, proto kdyzˇ se pra´veˇ tam nacha´zı´, pı´sˇeme ./na ´zev pr ˇı ´kazu),
P
volby (prˇepı´nacˇe) zacˇ´ınajı´cı´ obvykle znakem pomlcˇka, ve veˇtsˇineˇ unixovy´ch syste´mu˚ je mu˚zˇeme „shrnout“ za jedinou pomlcˇku (bez mezer samozrˇejmeˇ), pokud jsou jednopı´smenne´ (volby delsˇ´ı nezˇ jedno pı´smeno musı´me psa´t kazˇdou zvla´sˇt’, kazˇda´ z nich bude mı´t vlastnı´ pomlcˇku), volby obvykle rˇ´ıdı´ a uprˇesnˇujı´ prˇ´ıkaz; existujı´ i „vı´cepı´smenne´“ volby (naprˇ´ıklad velmi uzˇitecˇna´ je volba --help), aby se odlisˇily od jednopı´smenny´ch, u neˇktery´ch prˇ´ıkazu˚ zacˇ´ınajı´ dveˇma pomlcˇkami, argumenty nezacˇ´ınajı´ pomlcˇkou, obvykle prˇ´ıkazu rˇ´ıkajı´, se ktery´mi daty ma´ pracovat, naprˇ´ıklad na´zvy souboru˚. Naprˇ´ıklad u prˇ´ıkazu ls -la nejaky_adr je na´zvem rˇeteˇzec ls, volby jsou l, a (jednopı´smenne´, proto je mu˚zˇeme napsat za jedinou pomlcˇku), argument je adresa´rˇ nejaky_adr.
Interaktivnı´ prˇ´ıkazy (komunikujı´cı´ s uzˇivatelem, naprˇ´ıklad filtry pro stra´nkova´nı´ v textu) cˇasto pro sve´ ukoncˇenı´ vyzˇadujı´ stisknutı´ kla´vesy q . Termina´l nebo konzolu lze ukoncˇit prˇ´ıkazem exit nebo prˇ´ıpadneˇ zavrˇenı´m okna konzoly.
$
NA´POVEˇDA
5.3
106
Pozna´mka: Unixove´ syste´my jsou case-sensitive, tedy rozlisˇujı´ mala´ a velka´ pı´smenka, na cozˇ je trˇeba dba´t nejen u zada´va´nı´ na´zvu˚ prˇ´ıkazu˚, ale i u na´zvu˚ souboru˚ a adresa´rˇu˚.
5.2
L
Za´stupne´ znaky
Take´ v Unixu pouzˇ´ıva´me prˇi pra´ci se soubory a adresa´rˇi za´stupne´ znaky, ma´me jich dokonce vı´ce nezˇ ve Windows. Jsou to:
P
* – jaky´koliv pocˇet ktery´chkoliv znaku ˚ , zde navı´c bereme v u´vahu, zˇe prˇ´ıpona souboru a tecˇka prˇed nı´ jsou soucˇa´stı´ na´zvu souboru, a tedy * mu˚zˇe reprezentovat i tecˇku, ? – ktery´koliv znak, a to pra´veˇ jeden, vcˇetneˇ tecˇky v na´zvu, [znaky] – jeden ze znaku ˚ uvedeny´ch v seznamu znaky, naprˇ´ıklad [ABa] znamena´, zˇe
na to mı´sto lze dosadit jeden ze znaku˚ A, B, a; pokud chceme reprezentovat delsˇ´ı sled znaku˚, mu˚zˇeme to udeˇlat takto: [A-Z] znamena´ vsˇechna velka´ pı´smena,lze to kombinovat: [A-Za-z0-9] znamena´ pı´smeno nebo cˇ´ıslici, [ˆznaky] – odpovı´da´ jednomu znaku, ktery´ se lisˇ´ı od vsˇech uvedeny´ch v za´vorce, naprˇ´ıklad [ˆa-kA-K] znamena´ ktery´koliv znak kromeˇ maly´ch a velky´ch pı´smen v rozmezı´
od A do K, naprˇ´ıklad pı´smeno M nebo neˇktera´ cˇ´ıslice podmı´nku splnˇujı´, ~ – domovsky´ adresa´rˇ, navı´c sekvence ~uzivatel (bez mezery) je odkaz na domovsky´ adresa´rˇ uzˇivatele s prˇihlasˇovacı´m jme´nem uzivatel, at’se nacha´zı´ kdekoliv.
5.3 5.3.1
Na´poveˇda Jak volat o pomoc
Na´poveˇdu k prˇ´ıkazu˚m mu˚zˇeme zı´skat vı´ce zpu˚soby: • zobrazenı´m manua´love´ stra´nky prˇ´ıkazu, a to prˇ´ıkazem man, takto lze bud’ zobrazit na´poveˇdu ke konkre´tnı´mu prˇ´ıkazu nebo pomocı´ klı´cˇove´ho slova zjistit, jak se hledany´ prˇ´ıkaz nazy´va´, • neˇkdy je implementova´n prˇ´ıkaz apropos, ktery´ pouzˇijeme, kdyzˇ nevı´me, jak se prˇ´ıkaz nazy´va´, • prˇ´ıkaz whatis2 naopak pouzˇijeme, kdyzˇ jsme narazili na prˇ´ıkaz (spustitelny´ soubor), ale nevı´me, co prova´dı´ (vypı´sˇe se kra´tka´ informace o prˇ´ıkazu), • prˇ´ıkaz info vypı´sˇe kra´tkou informaci o prˇ´ıkazu, 2
Prˇ´ıkaz whatis pouzˇ´ıva´ vlastnı´ databa´zi o prˇ´ıkazech. Tuto databa´zi je dobre´ obcˇas aktualizovat, naprˇ´ıklad po veˇtsˇ´ı aktualizaci syste´mu, cozˇ se provede prˇ´ıkazem makewhatis.
$
NA´POVEˇDA
5.3
107
• v graficke´m rezˇimu v menu programu˚ vcˇetneˇ termina´lu prˇ´ıpadneˇ prˇes tlacˇ´ıtko K (graficka´ na´poveˇda je take´ spustitelna´ prˇ´ıkazem khelpcenter), existuje take´ prˇ´ıkaz xman, • v Linuxu existujı´ dokumenty HOWTO („jak na to“), a to bud’ prˇ´ımo v jednotlivy´ch distribucı´ch nebo na internetu, obsahujı´ prˇ´ımo rady, jak postupovat v urcˇity´ch situacı´ch, • obdobneˇ jsou k nalezenı´ dokumenty FAQ (Frequently Asked Questions) pro cˇasto pokla´dane´ ota´zky, • ve Firefoxu jsme automaticky prˇesmeˇrova´ni na manua´love´ stra´nky, naprˇ´ıklad prˇi zada´nı´ man chsh do adresnı´ho rˇa´dku (tam, kde bychom jinak zadali http://...) se na´m automaticky zobrazı´ manua´lova´ stra´nka prˇ´ıkazu chsh na neˇktere´m serveru prˇ´ımo urcˇene´m pro manua´love´ stra´nky. Na internetu je hodneˇ stra´nek veˇnovany´ch shellu bash, naprˇ´ıklad: • http://www.gnu.org/software/bash • http://tldp.rog/LDP/abs/html (skripty) • http://www.abclinuxu.cz/clanky/show/46130
5.3.2
Manua´love´ stra´nky
Na´poveˇda k prˇ´ıkazu˚m, konfiguracˇnı´m souboru˚m, skriptu˚m a funkcı´m je v unixovy´ch syste´mech standardneˇ k nalezenı´ prˇedevsˇ´ım v manua´lovy´ch stra´nka´ch. Prˇ´ıkaz man je zkratkou z anglicke´ho slova „manual“ a je obdobou windowsovske´ho prˇ´ıkazu help, i kdyzˇ je mnohem komplexneˇjsˇ´ı. Za´kladnı´ tvar prˇ´ıkazu je na´sledujı´cı´: man pr ˇı ´kaz
vypı´sˇe manua´l (na´poveˇdu) k zadane´mu prˇ´ıkazu
Na´poveˇdu k prˇ´ıkazu man mu˚zˇeme zobrazit prˇ´ıkazem man man. Manua´ly k jednotlivy´m prˇ´ıkazu˚m (ve skutecˇnosti existujı´ i pro neˇktere´ konfiguracˇnı´ soubory a dalsˇ´ı veˇci) jsou cˇleneˇny do cˇa´stı´, kazˇda´ cˇa´st ma´ urcˇity´ vy´znam. Manua´lova´ stra´nka obvykle obsahuje cˇa´sti uvedene´ v tabulce 5.1 (neˇktere´ se nemusı´ vyskytovat, naopak jine´ mohou by´t navı´c). Prˇı´klad 5.1 Podı´va´me se na strukturu jedne´ z manua´lovy´ch stra´nek. Otevrˇe se automaticky pomocı´ „stra´nkovacˇe“ vcˇetneˇ zobrazenı´ forma´tova´nı´ (to zde neuvidı´me). Po zada´nı´ prˇ´ıkazu man chsh se na´m zobrazı´ tato manua´lova´ stra´nka (vidı´me ji take´ na obra´zku 5.1): chsh(1) NAME chsh - change login shell
$
5.3
NA´POVEˇDA
108
Cˇa´st
Vy´znam
NAME SYNOPSIS
Jme´no prˇ´ıkazu Syntaxe prˇ´ıkazu, nepovinne´ parametry jsou uzavrˇeny do hranaty´ch za´vorek, polozˇky, mezi ktery´mi si mu˚zˇeme vybrat, jsou oddeˇleny symbolem „|“, polozˇky, ktere´ se mohou opakovat, jsou ukoncˇeny trˇemi tecˇkami Detailnı´ popis prˇ´ıkazu Seznam syste´movy´ch souboru˚, ke ktery´m ma´ prˇ´ıkaz neˇjaky´ vztah (naprˇ´ıklad je neˇjaky´m zpu˚sobem upravuje) Vy´znam jednotlivy´ch parametru˚ Prˇ´ıklady pouzˇitı´ prˇ´ıkazu Odkazy na dalsˇ´ı manua´love´ stra´nky, ke ktery´m ma´ tento prˇ´ıkaz neˇjaky´ vztah Vy´znam chybovy´ch hla´sˇenı´ a na´vratove´ ko´dy prˇ´ıkazu Popis neocˇeka´vane´ho chova´nı´ prˇ´ıkazu nebo kontakt, na ktery´ lze zaslat informaci o chybne´m chova´nı´ programu licence, pod kterou je prˇ´ıkaz sˇ´ırˇen odkazy na manua´love´ stra´nky souvisejı´cı´ch prˇ´ıkazu˚ nebo souboru˚
DESCRIPTION FILES OPTIONS EXAMPLES SEE ALSO DIAGNOSTICS BUGS COPYRIGHT SEE ALSO
Tabulka 5.1: Cˇa´sti manua´lovy´ch stra´nek SYNOPSIS chsh [-D binddn] [-P path] [-s shell] [-l] [-q] [-u] [-v] [user] DESCRIPTION chsh is used to change the user login shell. A normal user may only change the login shell for their own account, the super user may change the loggin shell for any account. If a shell is not given on the command line, chsh operates in an interactive fashion, prompting the user with the current login shell. Enter the new value to change the field, or leave the line blank to use the current value. Enter none to remove the current value. The current value is displayed between a pair of [ ] marks. The only restrictions placed on the login shell is that toe command name must be listed in /etc/shells, unless the invoker is the superuser, and then any value may be added. An account with a restricted login shell may not change their login shell. This version of chsh is able to change the shell of local, NIS, NIS+ and LDAP accounts, if the permissions allow it. OPTIONS -D, --binddn binddn Use the Distinguished Name binddn to bind to the LDAP directory. The user will be prompted for a password for simple authentication. -s, --shell
5.3
NA´POVEˇDA
109
Obra´zek 5.1: Vy´stup prˇ´ıkazu man chsh Specify your login shell. ... FILES /etc/passwd - user account information /etc/shells - list of valid login shells SEE ALSO chfn(1), passwd(5), shells(5) AUTHOR Thorsten Kukuk
pwdutils February 2004
Cˇa´st obsahujı´cı´ volby (options, prˇepı´nacˇe) byla zkra´cena.
chsh(1)
NA´POVEˇDA
5.3
110
Manua´love´ stra´nky jsou sdruzˇova´ny do sekcı´, sekce obvykle´ v Linuxu jsou v tabulce 5.2. Kazˇda´ sekce sdruzˇuje prˇ´ıkazy (ale take´ na´poveˇdu ke konfiguracˇnı´m souboru˚m a funkcı´m), ktere´ majı´ neˇco spolecˇne´ho, naprˇ´ıklad sekce 1 obsahuje prˇ´ıkazy, ktere´ mu˚zˇe pouzˇ´ıvat i beˇzˇny´ uzˇivatel, naproti tomu sekce 8 obsahuje prˇ´ıkazy urcˇene´ pro administra´tora (naprˇ´ıklad roota). Uzˇitecˇna´ (i pro beˇzˇne´ho uzˇivatele) je take´ sekce 5 obsahujı´cı´ forma´t konfiguracˇnı´ch souboru˚. Cˇı´slo sekce
Obsah
0 1 2 3
Hlavicˇkove´ soubory (jazyka C), obvykle jsou k v adresa´rˇi /usr/include Prˇ´ıkazy a syste´move´ programy, ktere´ mu˚zˇe pouzˇ´ıvat i beˇzˇny´ uzˇivatel Sluzˇby ja´dra (vola´nı´ ja´dra, syste´mova´ vola´nı´) a chybove´ (na´vratove´) ko´dy Dokumentace k syste´movy´m knihovna´m (dostupne´ funkce obsazˇene´ v knihovna´ch) Specia´lnı´ soubory v /dev Forma´t konfiguracˇnı´ch souboru˚ (vcˇetneˇ /etc/fstab) Hry Balı´ky maker, popis souborove´ho syste´mu, manua´lu˚ atd., na´stroje pro pra´ci s textem Spra´va syste´mu – prˇ´ıkazy a na´stroje pouzˇ´ıvane´ rootem Dokumentace k ja´dru Nezarˇazene´ stra´nky
4 5 6 7 8 9 n
P
Tabulka 5.2: Sekce manua´lovy´ch stra´nek Prˇ´ıkaz man -s n pr ˇı ´kaz vypı´sˇe manua´lovou stra´nku prˇ´ıkazu v sekci cˇ´ıslo n (tenty´zˇ prˇ´ıkaz mu˚zˇe by´t ve vı´ce sekcı´ch, v kazˇde´ je trochu jiny´ obsah manua´love´ stra´nky), bez tohoto parametru vypı´sˇe prvnı´ nalezenou manua´lovou stra´nku. Prˇ´ıkaz man -a pr ˇı ´kaz
5.3.3
vypı´sˇe vsˇechny manua´love´ stra´nky prˇ´ıkazu (ze vsˇech sekcı´).
Zna´m prˇı´kaz, chci veˇdeˇt, k cˇemu slouzˇı´
Pokud zna´me na´zev prˇ´ıkazu a chceme zjistit, k cˇemu slouzˇ´ı a prˇ´ıpadneˇ take´ jak se pouzˇ´ıva´ (parametry apod.), pouzˇijeme jeden z na´sledujı´cı´ch prˇ´ıkazu˚: man pr ˇı ´kaz
zobrazı´ se manua´lova´ stra´nka prˇ´ıkazu v programu man,
info pr ˇı ´kaz
jedna´ se o dokumentaci GNU Info, cozˇ je hypertextovy´ syste´m,
takto zjistı´me, ve ktery´ch manua´lovy´ch stra´nka´ch jsou k nalezenı´ podrobneˇjsˇ´ı informace o prˇ´ıkazu, zobrazı´ se take´ kra´tky´ popis prˇ´ıkazu.
whatis pr ˇı ´kaz
$
5.3
NA´POVEˇDA
111
Prˇı´klad 5.2 Po zada´nı´ prˇ´ıkazu man chsh zı´ska´me vy´stup podobny´ tomu, ktery´ vidı´me na obra´zku 5.1 na straneˇ 109, zobrazila se manua´lova´ stra´nka prˇ´ıkazu chsh. Pokud zada´me info chsh, ve skutecˇnosti zı´ska´me neˇco velmi podobne´ho (naprosto stejny´ obsah, jen trochu jinak forma´tovany´), protozˇe pro prˇ´ıkaz chsh neexistuje samostatna´ info stra´nka a bere se manua´lova´ stra´nka. Jina´ situace je vsˇak u pouzˇ´ıvaneˇjsˇ´ıch prˇ´ıkazu˚, jako je naprˇ´ıklad prˇ´ıkaz ls (to je obdoba prˇ´ıkazu dir ve Windows): • jestlizˇe zada´me man ls, zı´ska´me beˇzˇnou manua´lovou stra´nku, ktera´ se prˇedevsˇ´ım soustrˇedı´ na vysveˇtlenı´ funkce jednotlivy´ch parametru˚, • po zada´nı´ info ls se zobrazı´ neˇco jine´ho – info stra´nka soustrˇed’ujı´cı´ se prˇedevsˇ´ım na vysveˇtlenı´ funkce samotne´ho programu, oproti manua´love´ stra´nce je poneˇkud „upovı´daneˇjsˇ´ı“, • kdyzˇ zada´me whatis ls, zı´ska´me pouze kra´tkou informaci o urcˇenı´ prˇ´ıkazu, jde naopak o velmi strucˇnou informaci. Manua´lova´ stra´nka prˇ´ıkazu ls (man ls) zacˇ´ına´ takto (ve skutecˇnosti je mnohem delsˇ´ı): LS(1) User commands NAME ls - list directory contents SYNOPSIS ls [OPTION]... [FILE]... DESCRIPTION List information about the FILEs (the current directory by default). Sort entries alphabetically if none of -cftuvSUX nor --sort. Mandatory arguments to long options are mandatory for short options too. OPTIONS -a, --all do not ignore entries starting with . -A, --almost-all do not list implied . and ..
Zjistili jsme, zˇe jde o prˇ´ıkaz, ktery´ vypisuje obsah adresa´rˇe, da´le zˇe v syntaxi jsou hned za na´zvem prˇ´ıkazu volby (options, prˇepı´nacˇe) a pak na´sledujı´ na´zvy souboru˚. Souboru˚? No ano, prˇece vı´me, zˇe v unixovy´ch syste´mech platı´ vsˇechno je soubor, vcˇetneˇ adresa´rˇu˚. Ze strucˇne´ho popisu (description) se da´le dovı´me, zˇe pokud neuvedeme zˇa´dny´ soubor, vypı´sˇe se obsah pracovnı´ho adresa´rˇe, polozˇky jsou rˇazeny abecedneˇ (pokud neurcˇ´ıme jinak prˇepı´nacˇi). Na´sleduje popis voleb (options). Je jich pomeˇrneˇ hodneˇ, proto jsme vy´pis „usekli“. Zde na prvnı´ pohled vidı´me rozdı´l mezi pouzˇitı´m male´ho a velke´ho pı´smene – pokud napı´sˇeme „-a“, budou vypisova´ny take´ polozˇky zacˇ´ınajı´cı´ tecˇkou (z prˇedchozı´ho semestru jizˇ vı´me,
5.3
NA´POVEˇDA
112
zˇe jde o skryte´ soubory), pokud vsˇak napı´sˇeme „-A“, chova´nı´ bude zda´nliveˇ podobne´ (take´ budou vypisova´ny skryte´ soubory), ale nevypı´sˇou se dva adresa´rˇe, ktere´ jsou take´ skryte´ (odkaz na nadrˇ´ızeny´ adresa´rˇ a odkaz na sebe sama). Info stra´nka prˇ´ıkazu ls (info ls) zacˇ´ına´ takto: File> coreutils.info, Node: ls invocation, Next: dir invocation, Up: Directory listing 10.1 ‘ls’: List directory contents ================================== The ‘ls’ program lists information about files (of any type, including directories). Options and file arguments can be intermixed arbitrarily, as usual. For non-option command-line arguments that are directories, by default ‘ls’ lists the contents of directories, not recursively, and ommitting files with names beginning with ‘.’. Fot other non-option arguments, by default ‘ls’ lists just the file name. If no non-option argument is specified, ‘ls’ operates on the current directory, acting as if it had been invoked with a˜single argument of ‘.’. ...
V za´hlavı´ info stra´nky se prˇedevsˇ´ım dozvı´me na´zev info souboru, ktery´ pra´veˇ cˇteme a jeho pozici ve strukturˇe (info stra´nky tvorˇ´ı stromovou strukturu). Na´sledujı´cı´m uzlem ve stromeˇ je prˇ´ıkaz dir (platı´ pro OpenSUSE, obecneˇ tento prˇ´ıkaz nenı´ v Linuxu ani jiny´ch unixovy´ch syste´mech podporova´n), nadrˇ´ızeny´m uzlem je skupina prˇ´ıkazu˚ pro vy´pis adresa´rˇu˚. Da´le zjistı´me neˇco podobne´ho jako v manua´love´ stra´nce, tedy zˇe prˇ´ıkaz vypisuje informace o nejru˚zneˇjsˇ´ıch souborech a je uprˇesneˇno, o jake´ informace se vlastneˇ jedna´. Vy´chozı´m chova´nı´m je vy´pis obsahu adresa´rˇu˚, a to ne rekurzı´vneˇ a bez skryty´ch souboru˚, standardneˇ pouze jme´na souboru˚. Pro doplneˇnı´ – vy´stupem prˇ´ıkazu whatis ls je ls(1)
- list directory contents
Tento vy´pis je velmi kra´tky´ a jeho u´cˇelem je usnadnit orientaci – narazı´me na prˇ´ıkaz (nebo si na neˇktery´ prˇ´ıkaz matneˇ vzpomeneme) a chceme veˇdeˇt, o co se vlastneˇ jedna´. Zjistili jsme, zˇe tento prˇ´ıkaz je v sekci 1 (v manua´lovy´ch stra´nka´ch) a slouzˇ´ı k vy´pisu obsahu adresa´rˇe.
5.3.4
Nezna´m prˇı´kaz
Pokud nezna´me na´zev prˇ´ıkazu, ale napadajı´ na´s klı´cˇova´ slova souvisejı´cı´ s prˇ´ıkazem (slova, ktera´ by se mohla vyskytovat na manua´love´ stra´nce, nejle´pe neˇkde na jejı´m zacˇa´tku ve
5.3
NA´POVEˇDA
113
strucˇne´m popisu prˇ´ıkazu), mu˚zˇeme pouzˇ´ıt neˇktery´ z na´sledujı´cı´ch postupu˚, podle toho, ktery´ prˇ´ıkaz je nainstalova´n. vy´pis vsˇech dostupny´ch te´mat, ve ktery´ch se nacha´zı´ zadany´ rˇeteˇzec
man -k r ˇete ˇzec apropos r ˇete ˇzec
tote´zˇ
$
urcˇili jsme, zˇe majı´ by´t prohleda´ny pouze manua´love´ stra´nky v sekci zadane´ cˇ´ıslem
apropos -s c ˇı ´slo r ˇete ˇzec
Prˇı´klad 5.3 Nemu˚zˇeme si vzpomenout na na´zev prˇ´ıkazu, ktery´ vypisuje obsah adresa´rˇe. Vyzkousˇ´ıme neˇkolik mozˇnostı´: zı´ska´me seznam prˇ´ıkazu˚, ktere´ neˇjak souvisejı´ s adresa´rˇi, ale je jich opravdu hodneˇ (neˇkolik stra´nek), takzˇe vyzkousˇ´ıme neˇco jine´ho,
man -k directory
tak to je lepsˇ´ı, vypsalo se uzˇ jen pa´r prˇ´ıkazu˚, mezi
man -k ”directory contents”
ktery´mi si urcˇiteˇ vybereme, apropos ”directory contents”
tote´zˇ,
apropos -s 1 ”directory contents”
jesˇteˇ lepsˇ´ı – vypsaly se pouze prˇ´ıkazy patrˇ´ıcı´
do sekce 1 Vy´sledny´ vy´pis: dir (1) ls (1) vdir (1)
- list directory contents - list directory contents - list directory contents
(v ru˚zny´ch distribucı´ch Linuxu se vy´pis bude lisˇit).
Uzˇitecˇna´ mu˚zˇe by´t take´ kla´vesa Tab . Pokud vı´me, jak prˇ´ıkaz zacˇ´ına´, ale nevı´me jisteˇ, jak da´le pokracˇuje (anglicˇtina :-), napı´sˇeme zacˇa´tek prˇ´ıkazu (nebo trˇeba na´zvu souboru, pro ty to taky funguje) a stiskneme kla´vesu Tab . Prˇı´klad 5.4 Vyzkousˇ´ıme automaticke´ doplnˇova´nı´ prˇ´ıkazu˚ pomocı´ kla´vesy Tab . Vı´me, zˇe prˇ´ıkaz zacˇ´ına´ pravdeˇpodobneˇ pı´smeny „wh“, ale nevı´me, jak da´l. Napı´sˇeme wh Tab
Zobrazı´ se: whatis
whereis
which
while
who
whoami
whois
$
5.4
PRA´CE S ADRESA´RˇI A SOUBORY
114
´ koly U 1. Zobrazte manua´lovou stra´nku prˇ´ıkazu ls. Zjisteˇte, k cˇemu se tento prˇ´ıkaz pouzˇ´ıva´, jake´ lze zadat prˇepı´nacˇe a podı´vejte se, pod jakou licencı´ je prˇ´ıkaz sˇ´ırˇen. Vsˇimneˇte si, zˇe za na´zvem prˇ´ıkazu v za´hlavı´ stra´nky je rˇeteˇzec (1), cozˇ znamena´, zˇe pracujete se stra´nkou ze sekce 1. 2. Vyzkousˇejte ve sve´m domovske´m adresa´rˇi postupneˇ prˇ´ıkazy ls ls -a ls -la
3. Zobrazte manua´lovou stra´nku prˇ´ıkazu mount. Vsˇimneˇte si cˇ´ısla sekce, uzˇ to nenı´ 1, ale 8. Jake´ typy prˇ´ıkazu˚ patrˇ´ı do sekce 8? Tento prˇ´ıkaz slouzˇ´ı k prˇipojova´nı´ pameˇt’ovy´ch me´diı´. Jak vidı´me, manua´lova´ stra´nka je velmi dlouha´ (vsˇimneˇte si, zˇe jsou odlisˇne´ parametry pro ru˚zne´ typy souborovy´ch syste´mu˚). Na konci stra´nky se take´ podı´vejte, na ktere´ dalsˇ´ı stra´nky s podobny´mi te´maty je odkazova´no. 4. Zjisteˇte, ve ktery´ch manua´lovy´ch stra´nka´ch se pı´sˇe o souboru fstab (pozor, nezajı´majı´ na´s pouze stra´nky s tı´mto na´zvem, ale obecneˇji stra´nky, na ktery´ch se tento rˇeteˇzec vyskytuje).
5.4 5.4.1
Pra´ce s adresa´rˇi a soubory Adresa´rˇe
Pouzˇ´ıvane´ prˇ´ıkazy jsou pwd
vy´pis na´zvu pracovnı´ho adresa´rˇe (zkratka z „print working directory“) cd adresa ´r ˇ
zmeˇna aktivnı´ho adresa´rˇe (bez argumentu: prˇesun do domovske´ho adresa´rˇe) cd podrizeny prˇesun do podrˇ´ızene´ho adresa´rˇe podrizeny cd .. prˇesun do nadrˇ´ızene´ho adresa´rˇe (pozor, prˇed tecˇkami by meˇla by´t mezera) cd ../.. prˇesun o dva adresa´rˇe nahoru, vsˇimneˇte si, zˇe pro oddeˇlenı´ adresa´rˇu˚ na
cesteˇ (zde na cesteˇ nahoru) pouzˇ´ıva´me obycˇejne´ lomı´tko, nikoliv opacˇne´ prˇesun do nasˇeho domovske´ho adresa´rˇe (naprˇ´ıklad pokud jsme prˇihla´sˇeni jako uzˇivatel hanicka, takto se prˇesuneme do adresa´rˇe /home/hanicka) cd /home/novak prˇesun do domovske´ho adresa´rˇe uzˇivatele novak cd ~novak tote´zˇ co prˇedchozı´, take´ se prˇesuneme do domovske´ho adresa´rˇe uzˇivatele novak cd ~
$
5.4
PRA´CE S ADRESA´RˇI A SOUBORY
115
mkdir adresa ´r ˇ
vytvorˇenı´ nove´ho adresa´rˇe rmdir adresa ´r ˇ
zrusˇenı´ pra´zdne´ho adresa´rˇe (prˇed pouzˇitı´m prˇ´ıkazu musı´me z adresa´rˇe odstranit vsˇechny polozˇky ls [volby] [soubor]
vy´pis obsahu adresa´rˇe (adresa´rˇu˚), neˇktere´ volby: -l prova´dı´ dlouhy´ vy´pis (i s atributy vcˇetneˇ pra´v a vlastnı´ka), -a vypı´sˇe take´ skryte´ soubory (ktere´ zacˇ´ınajı´ tecˇkou, vcˇetneˇ . a ..), --sort=size serˇadı´ polozˇky podle velikosti mı´sto podle na´zvu, take´ lze serˇadit naprˇ´ıklad podle cˇasu (time), prˇ´ıpony (extension) apod. -r serˇadı´ v opacˇne´m porˇadı´ (reverse), -R provede prˇ´ıkaz rekurzı´vneˇ (recursively), atd. (parametru ˚ je velmi mnoho)
Argumentem prˇ´ıkazu mu˚zˇe by´t take´ na´zev souboru (resp. adresa´rˇe), ktery´ chceme vypsat. Prˇı´klad 5.5 Pro ls -l mu˚zˇe by´t vy´stup -rwxr-x---rwxr-x--drwxr-xr--
2 1 1
novakj novakj novakj
4 4 1 1
uzivatel uzivatel uzivatel uzivatel
elita elita users
254136 254136 150
Oct Jan Feb
12 30 14
2000 2004 1997
sezn.txt moje poznamky adr/
nebo drwxr-xr-x drwxr-xr-x -rw-r--r--rw-rw-r--
users users users users
4096 4096 150 32223208
´ uno lis lis ´ uno
9 28 29 2
00:10 22:31 14:23 00:23
Desktop/ Documents/ Pevny ´ disk C pvysl.pdf
Vy´znam jednotlivy´ch sloupcu˚ zna´me – na zacˇa´tku rˇa´dku je typ souboru, prˇ´ıstupova´ opra´vneˇnı´, na´sleduje pocˇet pevny´ch odkazu˚ na soubor, vlastnı´k, skupina, velikost, cˇas poslednı´ zmeˇny a konecˇneˇ na´zev souboru.
´ koly U 1. Pokud nejste ve sve´m pracovnı´m adresa´rˇi, prˇejdeˇte do neˇj. Vytvorˇte podadresa´rˇ test. 2. Prˇejdeˇte do adresa´rˇe test a pro jistotu vypisˇte na´zev pracovnı´ho adresa´rˇe, abyste si oveˇrˇili, kde konkre´tneˇ v adresa´rˇove´ strukturˇe jste. Vytvorˇte podadresa´rˇ vnoreny. 3. Prˇesunˇte se do sve´ho domovske´ho adresa´rˇe a vypisˇte jeho obsah tak, aby se vypsaly i skryte´ soubory a aby byl pouzˇit dlouhy´ (sˇiroky´) vy´pis (vcˇetneˇ vlastnostı´ polozˇek). Vyzkousˇejte take´ rekurzi, porovnejte vy´pis teˇchto prˇ´ıkazu˚:
5.4
PRA´CE S ADRESA´RˇI A SOUBORY
• • • • •
ls ls ls ls ls
116
-lR -aR * -l * -a *
4. Smazˇte adresa´rˇe, ktere´ jste vytvorˇili v prˇedchozı´ch u´kolech – test a vnoreny. Nezapomenˇte, zˇe zatı´m umı´me smazat pouze pra´zdny´ adresa´rˇ.
5.4.2
Soubory
Protozˇe v unixovy´ch souborech platı´, zˇe vsˇe je soubor, te´meˇrˇ vsˇechny da´le uvedene´ prˇ´ıkazy lze pouzˇ´ıt take´ na adresa´rˇe. file soubor(-y)
pokusı´ se zjistit vnitrˇnı´ forma´t souboru (jestli se jedna´ o adersa´rˇ, textovy´ soubor pro urcˇitou znakovou sadu, PNG nebo jiny´ obra´zek, PDF, . . . , prˇ´ıkaz je samozrˇejmeˇ pouzˇitelny´ i na soubory bez prˇ´ıpony nebo s „nic nerˇ´ıkajı´cı´ “ prˇ´ıponou, pracuje prˇedevsˇ´ım s obsahem souboru (to je velmi du˚lezˇite´, proto na to znovu upozornı´me: v Linuxu nenı´ ani tak du˚lezˇita´ prˇ´ıpona, jako spı´sˇe skutecˇny´ obsah souboru, cozˇ je rozhodneˇ bezpecˇneˇjsˇ´ı) cp soubor1 soubor2
kopı´rova´nı´ prvnı´ho souboru do druhe´ho
˜/Documents ˜/zaloha provede archivaci zvolene´ho adresa´rˇe, tedy kopı´ruje rekurzı´vneˇ se zachova´nı´m atributu˚ souboru˚ (naprˇ´ıklad vlastnı´k nebo cˇasove´ u´daje) cp -uR ˜/Documents ˜/zaloha provede rekurzivnı´ update (jen soubory, ktere´ se od poslednı´ za´lohy zmeˇnily) cp -sR *.png ./obrazkyPNG v podadresa´rˇi obrazkyPNG pracovnı´ho adresa´rˇe vytvorˇ´ı symbolicke´ odkazy na vsˇechny soubory s prˇ´ıponou PNG
cp -a
mv s1 s2
prˇejmenova´nı´ nebo prˇesun souboru s1 na s2 (takto mu˚zˇeme prˇejmenova´vat cˇi prˇesouvat i adresa´rˇe, nejen beˇzˇne´ soubory) rm soubor
odstraneˇnı´ souboru rm soubor odstranı´ zadany´ soubor rm -fr adresa ´r ˇ rekurzı´vneˇ odstranı´ vsˇe v zadane´m adresa´rˇi, a to bez upozornˇo-
va´nı´ (force)
$
5.4
PRA´CE S ADRESA´RˇI A SOUBORY
117
cat soubor
vypsa´nı´ obsahu textove´ho souboru; zobrazı´ obsah zadane´ho souboru (obdoba type ve Windows, ale cat ma´ ve skutecˇnosti vy´razneˇ vı´ce mozˇnostı´ pouzˇitı´ – budeme se ucˇit v prˇ´ısˇtı´m semestru) head -n soubor
vypı´sˇe prvnı´ch n rˇa´dku˚ souboru, tedy jake´si „za´hlavı´ “, podle zacˇa´tku mu˚zˇeme orientacˇneˇ odhadnout zby´vajı´cı´ obsah souboru zajı´ma´ na´s, k cˇemu je asi tento soubor; neˇktere´ konfiguracˇnı´ soubory majı´ na sve´m zacˇa´tku v pozna´mce strucˇny´ popis, ten takto zobrazı´me
head /etc/sensors.conf
tail -n soubor
vypı´sˇe poslednı´ch n rˇa´dku˚ souboru, pouzˇ´ıva´ se prˇi procha´zenı´ log souboru˚, kde jsou nove´ za´znamy prˇida´va´ny pra´veˇ na konec: tail -8 /var/vysledky.log
zobrazı´ poslednı´ch 8 rˇa´dku˚ zadane´ho souboru
cmp s1 s2
porovna´nı´ souboru˚ s1 a s2, po nalezenı´ rozdı´lu se beˇh ukoncˇ´ı diff s1 s2
porovna´nı´ souboru˚, oproti prˇedchozı´mu prˇ´ıkazu tento procha´zı´ cele´ soubory a pokousˇ´ı se najı´t odlisˇnosti dı´ky vsˇem cˇtyrˇem pouzˇity´m parametru˚m jsou ignorova´ny odlisˇnosti ve velky´ch/maly´ch pı´smenech, tabula´torech, pra´zdny´ch rˇa´dcı´ch a mezera´ch
diff -iEBw soubor1 soubor2
touch soubor
soubor neotevrˇe, ale zmeˇnı´ datum a cˇas poslednı´ho prˇ´ıstupu na aktua´lnı´ u´daje („dotkne se“ souboru), pokud soubor neexistuje, vytvorˇ´ı ho Ve veˇtsˇineˇ prˇ´ıkazu˚ mu˚zˇeme zadat i vı´ce souboru˚, a to trˇeba pomocı´ masky. Pak se provedou pozˇadovane´ operace pro vsˇechny tyto soubory. ´ koly U 1. Vyberte si neˇktery´ dostatecˇneˇ velky´ textovy´ soubor ze sve´ho domovske´ho adresa´rˇe. Nejdrˇ´ıv ho cely´ vypisˇte, pak vypisˇte prvnı´ch 5 rˇa´dku˚, a pak poslednı´ch 5 rˇa´dku˚. 2. Pak tento soubor zkopı´rujte do te´hozˇ adresa´rˇe, ale se jme´nem pomocny. Na´sledneˇ takto vytvorˇeny´ soubor smazˇte. 3. Vyzkousˇejte ve sve´m domovske´m adresa´rˇi vytvorˇenı´ nove´ho souboru prˇ´ıkazem touch.
5.5
PRˇESMEˇROVA´NI´ A FILTRY
5.4.3
118
Pevne´ a symbolicke´ odkazy
Z prˇedchozı´ho semestru vı´me, jaky´ je rozdı´l mezi pevny´mi a symbolicky´mi odkazy na soubor. Ted’ si uka´zˇeme, jak se s teˇmito odkazy pracuje v textove´m rezˇimu. ln zdroj [cı ´l | cı ´lovy ´_adresa ´r ˇ] vytvorˇenı´ pevne´ho odkazu cı ´l na zdroj (nebo v cı´love´m adresa´rˇi), ve vy´pisu pomocı´ ls
se vytvorˇeny´ odkaz projevı´ zvy´sˇenı´m cˇ´ısla pocˇtu pevny´ch odkazu˚ za prˇ´ıstupovy´mi pra´vy souboru vytvorˇ´ı pevny´ odkaz na zadany´ soubor v pracovnı´m adresa´rˇi (to je ta tecˇka na konci) ln prvni.txt druhy.txt treti.txt /home/uzivatel vytvorˇ´ı pevne´ odkazy na vsˇechny zadane´ soubory v domovske´m adresa´rˇi uzˇivatele s prˇihlasˇovacı´m jme´nem uzivatel, vytvorˇene´ pevne´ odkazy jsou v pracovnı´m adresa´rˇi ln prvni.txt druhy.txt treti.txt ˜ provede tote´zˇ (je to jiny´ zpu˚sob adresace domovske´ho adresa´rˇe tohoto uzˇivatele)
ln /adr1/adr2/soub.pdf .
ln -s puvodni [cil]
vytvorˇenı´ symbolicke´ho odkazu, ve vy´pisu pomocı´ ls se vytvorˇeny´ odkaz projevı´ typem souboru l (v prvnı´m sloupci vy´pisu) zmeˇnı´ desktopove´ prostrˇedı´, ktere´ je spousˇteˇne´ automaticky po startu X Window na XFce (soubor – skript .xinitrc v domovske´m adresa´rˇi uzˇivatele urcˇuje, ktery´ soubor spousˇtı´ desktopove´ prostrˇedı´ nebo spra´vce oken pro tohoto uzˇivatele, soubor xinitrc.xfce je spousˇteˇcı´ soubor pro XFce, prˇ´ıpadneˇ to mu˚zˇe by´t textovy´ soubor, ve ktere´m je spousˇteˇcı´ prˇ´ıkaz pro toto prostrˇedı´ cˇi spra´vce oken)
ln -s /etc/X11/xinit/xinitrc.xfce
˜/.xinitrc
´ koly U 1. Vytvorˇte ve sve´m domovske´m adresa´rˇi, v podadresa´rˇi documents (nebo dokumenty) symbolicky´ odkaz na soubor /etc/fstab (pod pu˚vodnı´m na´zvem), da´le symbolicky´ odkaz na tenty´zˇ soubor s na´zvem fst. 2. Pak zde vytvorˇte pevny´ odkaz na soubor .bashrc ze sve´ho domovske´ho adresa´rˇe (~/.bashrc) pod na´zvem bashrc (bez tecˇky). 3. Vypisˇte obsah sve´ho adresa´rˇe documents v rozsˇ´ırˇene´ formeˇ, abyste videˇli oznacˇenı´ jednotlivy´ch polozˇek vytvorˇeny´ch v prˇedchozı´m u´kolu.
$
PRˇESMEˇROVA´NI´ A FILTRY
5.5
119
5.5
Prˇesmeˇrova´nı´ a filtry
5.5.1
Smeˇrova´nı´ a deskriptory
Take´ v Unixu existuje standardnı´ vstup, vy´stup a chybovy´ vy´stup. Symboly <, >, >>, |, & pro prˇesmeˇrova´nı´ fungujı´ jako ve Windows. Programy, ktere´ prˇes roury prˇijı´majı´ vstupy a doka´zˇou svu˚j vy´stup take´ poslat do roury, se nazy´vajı´ filtry. Pomocı´ prˇesmeˇrova´nı´ je mozˇne´ take´ „oklikou“ vytvorˇit novy´ soubor, naprˇ´ıklad zada´me prˇ´ıkaz cat > vysl.txt, da´le pı´sˇeme rˇa´dky textu (obsah souboru) a ukoncˇ´ıme kla´vesovou kombinacı´ Ctrl+D (v unixovy´ch syste´mech je to znak konce souboru).
P
Prˇesmeˇrova´nı´ chybove´ho vy´stupu je trochu slozˇiteˇjsˇ´ı. Pouzˇ´ıva´me prˇi neˇm popisovacˇ souboru – deskriptor, ktery´ se pı´sˇe vzˇdy nalevo od symbolu prˇesmeˇrova´nı´. Neˇktera´ zarˇ´ızenı´ majı´ pro tento popisovacˇ prˇirˇazeno cˇ´ıslo (jako ve Windows), na´s zajı´ma´ vstup, vy´stup a chybovy´ vy´stup: 0 ... STDIN 1 ... STDOUT 2 ... STDERR
Deskriptor (popisovacˇ) vstupu a vy´stupu je vlastneˇ ukazatel na mı´sto, odkud se ma´ bra´t vstup nebo kam se ma´ posı´lat vy´stup. Deskriptorem mu˚zˇe by´t soubor nebo zarˇ´ızenı´, pouzˇ´ıva´me take´ cˇ´ıselne´ oznacˇenı´ pro momenta´lnı´ vstup (0), momenta´lnı´ vy´stup (1) a momenta´lnı´ chybovy´ vy´stup (2). Problematice standardnı´ho vstupu/vy´stupu/chybove´ho vy´stupu se veˇnujeme na prˇedna´sˇka´ch v cˇa´sti o komunikaci procesu˚. S cˇ´ıselny´m oznacˇenı´m se pracuje podle tabulky 5.3. Smeˇrova´nı´
Vy´znam
i> soubor
prˇesmeˇrova´nı´ vy´stupu pu˚vodneˇ smeˇrovane´ho na deskriptor i do souboru prˇipojenı´ vy´stupu mı´sto na deskriptor i do souboru vstup je prˇesmeˇrova´n z deskriptoru i vstup je smeˇrova´n mı´sto z deskriptoru i z deskriptoru j vy´stup je prˇesmeˇrova´n do deskriptoru i do vy´stupnı´ho deskriptoru i je prˇirˇazen deskriptor j
i>> soubor <&i i<&j >&i i>&j
Tabulka 5.3: Pra´ce s deskriptory
Prˇı´klad 5.6 Na´sledujı´cı´ dvojice prˇ´ıkazu˚ jsou ekvivalentnı´: ls -la > soubor ls -la 1> soubor
sort < soubor sort 0< soubor
(je du˚lezˇite´, aby mezi deskriptorem a smeˇrovacı´m symbolem nebyla mezera)
E
PRˇESMEˇROVA´NI´ A FILTRY
5.5
120
Prˇesmeˇrujeme chybovy´ vy´stup prohleda´va´nı´ adresa´rˇe /var na zarˇ´ızenı´ null, tedy do „kosˇe“: find /var -name ’*’ -print 2> /dev/null
V prˇ´ıkladu jsme videˇli vyuzˇitı´ zarˇ´ızenı´ /dev/null. Jedna´ se o „odpatkovy´ kosˇ“ ve stejne´m vy´znamu, v jake´m zna´me zarˇ´ızenı´ NUL ve Windows (pozor – dveˇ pı´smena „L“ oproti jednomu, navı´c v unixovy´ch syste´mech se zarˇ´ızenı´ pı´sˇou obvykle maly´mi pı´smeny). Mu˚zˇeme pouzˇ´ıvat naprˇ´ıklad tato zarˇ´ızenı´: • • • • •
/dev/null – vy´stupnı´ zarˇ´ızenı´ pro odstraneˇnı´ vy´pisu ˚ (odpadkovy´ kosˇ)
$
/dev/random – vstupnı´ zarˇ´ızenı´ pro na´hodna´ cˇ´ısla /dev/urandom – tote´zˇ /dev/zero – vstupnı´ zarˇ´ızenı´ generujı´cı´ nuly /dev/tty – vstupnı´ zarˇ´ızenı´, ktere´ znamena´ termina´l (z pohledu uzˇivatele prosteˇ
kla´vesnice) • /dev/lp0 – vy´stupnı´ zarˇ´ızenı´ prˇedstavujı´cı´ tiska´rnu Pokud obvykle vy´stupnı´ zarˇ´ızenı´ /dev/null pouzˇijeme jako vstupnı´ soubor (naprˇ´ıklad v prˇ´ıkazu cat /dev/null > soubor
vy´sledny´ soubor je pra´zdny´ (nebo pokud neexistoval, vytvorˇ´ı se pra´zdny´ soubor). Prˇı´klad 5.7 Uka´zky prˇesmeˇrova´nı´ deskriptoru˚: prˇesmeˇrujeme chybovy´ vy´stup na stejne´ mı´sto jako standardnı´ vy´stup, tj. do zadane´ho souboru (jiny´mi slovy, standardnı´ i chybovy´ vy´stup budou v tomto souboru)
ls -la >& cely_vystup.log
prˇesmeˇruje standardnı´ vy´stup do souboru a standardnı´ chybovy´ vy´stup do deskriptoru, ktery´ je momenta´lneˇ pod &1, tedy take´ do souboru
ls /adr 1>soubor 2>&1
prˇesmeˇruje chybovy´ vy´stup na pu˚vodnı´ vy´stup a potom vy´stup na zadany´ soubor (vsˇimneˇte si zmeˇny porˇadı´ smeˇrovacı´ch parametru˚)
ls /adr 2>&1 1>soubor
Neˇktere´ kombinace se mohou zda´t nesmyslne´, ale meˇjme na pameˇti, zˇe prˇesmeˇrova´nı´ deskriptoru˚ platı´ pro celou u´lohu (pod tı´m si zatı´m mu˚zˇeme prˇedstavit posloupnost prˇ´ıkazu˚ propojeny´ch rourami) a tedy hodnoty deskriptoru˚ „putujı´“ postupneˇ celou rourou doprava.
E
5.5
5.5.2
PRˇESMEˇROVA´NI´ A FILTRY
121
Filtry
Co je to filtr, uzˇ vı´me. Podı´va´me se na neˇkolik nejdu˚lezˇiteˇjsˇ´ıch programu˚, ktere´ mohou pracovat jako filtry. sort [pr ˇepı ´nac ˇe soubor(-y)]
setrˇ´ıdı´ rˇa´dky textove´ho souboru pokud narazı´ na dva stejne´ rˇa´dky, v setrˇ´ıdeˇne´m vy´stupu bude pouze jeden z nich (vynecha´va´ duplicitnı´ rˇa´dky) sort -r soubor reverznı´ trˇ´ıdeˇnı´ (setrˇ´ıdı´ v opacˇne´m porˇadı´) sort < souborzdroj > souborcil program zı´skal svu˚j vstup ze souboru smeˇrova´nı´m, podobneˇ vy´stup je smeˇrova´n do dalsˇ´ıho souboru cat soubor | sort zı´ska´nı´ vstupu prˇes rouru, prˇ´ıkaz pouzˇ´ıva´me jako filtr sort -u soubor
wc [pr ˇepı ´nac ˇe] soubory
prˇ´ıkaz pocˇ´ıtajı´cı´ pocˇet rˇa´dku˚, slov a bytu˚ souboru, pouzˇ´ıva´me prˇepı´nacˇe -c (vypı´sˇe pocˇet bytu˚ souboru vcˇetneˇ forma´tovacı´ch jako je konec rˇa´dku), -m (pocˇet znaku˚ v souboru), -w (pocˇet slov – rˇeteˇzcu˚ oddeleny´ch bı´ly´mi znaky), -l (pocˇet rˇa´dku˚, ve skutecˇnosti pocˇet symbolu˚ konec rˇa´dku), -L (pocˇet znaku˚ v nejdelsˇ´ım rˇa´dku). vypı´sˇe pocˇet znaku˚ souboru vypı´sˇe pocˇet B (oktetu˚) souboru, cozˇ nenı´ u´plneˇ tote´zˇ jako pocˇet znaku˚ (neˇktere´ znakove´ sady ko´dujı´ znaky do vı´ce nezˇ jednoho B) -l soubor vypı´sˇe pocˇet rˇa´dku˚ (lines) souboru -w soubor vypı´sˇe pocˇet slov (tj. rˇeteˇzcu˚ oddeˇleny´ch netisknuty´mi znaky, trˇeba mezerami, tabula´tory, konci rˇa´dku˚) -L soubor (pozor, velke´ pı´smeno) vypı´sˇe de´lku nejdelsˇ´ıho rˇa´dku, tedy „sˇ´ırˇku“ souboru -mclwL soubor vypı´sˇe vsˇechny vy´sˇe uvedene´ u´daje; ale pozor, u´daje nejsou nijak oznacˇeny (vypı´sˇe se prosteˇ rˇada cˇ´ısel), porˇadı´ nenı´ da´no porˇadı´m parametru˚ v prˇ´ıkazu, ale je to „rˇa´dku˚ slov oktetu˚ znaku˚ de´lka_rˇa´dku“ -c soubor1 soubor2 soubor3 vypı´sˇe pozˇadovany´ u´daj postupneˇ pro vsˇechny zadane´ soubory -la | wc -l zjistı´me pocˇet polozˇek vcˇetneˇ skryty´ch v pracovnı´m adresa´rˇi (vypı´sˇe se pouze cˇ´ıslo)
wc -m soubor wc -c soubor wc wc wc wc
wc ls
Tento prˇ´ıkaz doka´zˇe take´ nacˇ´ıst na´zvy souboru˚ ke zpracova´nı´ ze zadane´ho souboru. pg, more, less
programy (filtry) pro stra´nkova´nı´ souboru; pg je nejstarsˇ´ı a nejjednodusˇsˇ´ı, obvykle pouzˇ´ıva´me dalsˇ´ı dva (filtr less je ve veˇtsˇineˇ distribucı´ interneˇ pouzˇ´ıva´n pro zobrazova´nı´ manua´lovy´ch stra´nek prˇ´ıkazem man, lze pouzˇ´ıvat i kurzorove´ kla´vesy) vı´ce pra´zdny´ch rˇa´dku˚ za sebou zobrazı´ jako jediny´ pra´zdny´ rˇa´dek (squeeze multiple blank lines into one)
more -s soubor
$
5.5
PRˇESMEˇROVA´NI´ A FILTRY
122
more +c ˇı ´slo soubor zobrazova´nı´ zacˇne azˇ od rˇa´dku s tı´mto cˇ´ıslem ls / -R | less stra´nkuje se vy´stup prˇ´ıkazu, ktery´ zobrazı´ obsah korˇenove´ho adresa´rˇe (tj. /), a to rekurzı´vneˇ (vy´stup ma´ velmi dlouhy´), mezernı´kem stra´nku-
jeme, kurzorovy´mi kla´vesami se mu˚zˇeme volneˇ pohybovat po vy´stupu, program ukoncˇ´ıme kla´vesou q
Prˇı´klad 5.8 Stra´nkovacı´ filtry vypisujı´ svu˚j vstup po stra´nka´ch. Naprˇ´ıklad ls -l | pg
ls -l | more
ls -l | less
Ovla´da´nı´ filtru pg: Enter +
dalsˇ´ı stra´nka dalsˇ´ı stra´nka, prˇedchozı´ stra´nka
, −
n
prˇechod na stra´nku n (cˇ´ıslo)
$
prˇechod na poslednı´ stra´nku
q
ukoncˇenı´
Za´kladnı´ ovla´da´nı´ filtru˚ more a less: Mezernı´k Enter
dalsˇ´ı stra´nka
dalsˇ´ı rˇa´dek
h
vypı´sˇe se na´poveˇda k ovla´da´nı´ interaktivnı´ho filtru
q
ukoncˇenı´
Kromeˇ toho majı´ tyto filtry dalsˇ´ı mozˇnosti ovla´da´nı´, ktere´ vycha´zejı´ z pouzˇ´ıva´nı´ textove´ho editoru vi. Podporujı´ naprˇ´ıklad odskoky v textu, vyhleda´va´nı´, prˇeskoky mezi soubory, majı´ take´ vlastnı´ prˇ´ıkazovy´ prompt.
Neˇktere´ z drˇ´ıve probı´rany´ch prˇ´ıkazu˚ se take´ dajı´ pouzˇ´ıt jako filtry, naprˇ´ıklad prˇ´ıkaz ls -la | head -10
zobrazı´ pouze prvnı´ch 10 rˇa´dku˚ vy´pisu prvnı´ho prˇ´ıkazu. Na dalsˇ´ı typ filtru˚, vyhleda´vacı´, se podı´va´me v prˇ´ısˇtı´m semestru. Nejpouzˇ´ıvaneˇjsˇ´ım vyhleda´vacı´m filtrem je grep. ´ koly U 1. Vytvorˇte soubor prvni s jaky´mkoliv obsahem. Pak tento soubor setrˇid’te, setrˇ´ıdeˇny´ vy´stup prˇesmeˇrujte do souboru druhy. 2. Vypisˇte obsah adresa´rˇe /dev vcˇetneˇ skryty´ch souboru˚, a to i s vlastnostmi polozˇek (tj. sˇiroky´ vy´pis), pouzˇijte neˇktery´ stra´nkovacı´ filtr. 3. Spocˇ´ıtejte rˇa´dky prˇedchozı´ho vy´pisu (tj. zjisteˇte, kolik polozˇek je v adresa´rˇi /dev).
5.6
ZA´KLADY PRA´CE S PROMEˇNNY´MI
123
4. Zjisteˇte de´lku souboru .bashrc ve vasˇem domovske´m adresa´rˇi. 5. Zjisteˇte pocˇet vsˇech uzˇivatelu˚ definovany´ch v syste´mu (na´poveˇda: jsou ulozˇeni v souboru /etc/passwd, kazˇdy´ za´znam na samostatne´m rˇa´dku).
5.6
R
Za´klady pra´ce s promeˇnny´mi
Promeˇnne´ se definujı´ v souboru .bashrc nebo jsou prˇeddefinova´ny syste´mem cˇi v jine´m konfiguracˇnı´m souboru. Nejdu˚lezˇiteˇjsˇ´ı jsou:
P
HOME domovsky´ adresa´rˇ uzˇivatele TERM typ termina´lu SHELL cesta k pouzˇ´ıvane´mu shellu USER prˇihlasˇovacı´ jme´no uzˇivatele PATH seznam adresa´rˇu ˚ , ve ktery´ch se hleda´ spousˇteˇny´ soubor, jednotlive´ cesty jsou oddeˇ-
leny dvojtecˇkou PS1 prompt, vy´zva prˇ´ıkazove´ho rˇa´dku konzoly nebo termina´lu PWD pracovnı´ adresa´rˇ
Kromeˇ promeˇnne´ PS1 existujı´ obvykle jesˇteˇ dalsˇ´ı promeˇnne´ urcˇujı´cı´ prompt. Veˇtsˇinou se setka´me alesponˇ se sekunda´rnı´m promptem PS2, ktery´ je zobrazova´n naprˇ´ıklad prˇi psanı´ vı´cerˇa´dkovy´ch prˇ´ıkazu˚. V promeˇnne´ PATH nenı´ ve vy´chozı´m nastavenı´ cesta k pracovnı´mu adresa´rˇi a prˇi spusˇteˇnı´ programu take´ narozdı´l od Windows nenı´ spousˇteˇny´ program hleda´n v pracovnı´m adresa´rˇi! Proto pokud chceme spustit naprˇ´ıklad program mujprogram umı´steˇny´ v adresa´rˇi, ktery´ je pra´veˇ nasˇ´ım pracovnı´m adresa´rˇem, provedeme to takto: ./mujprogram
Teoreticky by se tento „proble´m“ dal vyrˇesˇit prˇida´nı´m adresa´rˇe „.“ do promeˇnne´ PATH, ale toto rˇesˇenı´ se z bezpecˇnostnı´ch du˚vodu˚ nedoporucˇuje.3 Existuje take´ obdoba rozdeˇlenı´ promeˇnny´ch na beˇzˇne´ a dynamicke´, s cˇ´ımzˇ jsme se setkali uzˇ ve Windows. Naprˇ´ıklad promeˇnna´ PS1 je dynamicka´. 3
Prˇedstavte si, zˇe ve vasˇem domovske´m adresa´rˇi (ktery´ velmi cˇasto by´va´ pracovnı´m adresa´rˇem) bude podstrcˇen sˇkodlivy´ software pojmenovany´ stejneˇ jako neˇktery´ z beˇzˇneˇ pouzˇ´ıvany´ch prˇ´ıkazu˚, nejle´pe prˇ´ıkazu obvykle se nacha´zejı´cı´ho v adresa´rˇi /sbin, ktery´ cˇasto neby´va´ zahrnut v promeˇnne´ PATH. Pokud zarˇadı´me do promeˇnne´ PATH tecˇku, mu˚zˇeme tento sˇkodlivy´ software omylem spustit (a pokud je jeho programa´tor dost chytry´ na to, aby po dokoncˇenı´ sve´ vlastnı´ cˇinnosti spustil pu˚vodnı´ program na spra´vne´m umı´steˇnı´, tak to ani nezjistı´me). Mohlo by se zda´t, zˇe stacˇ´ı tecˇku prˇidat azˇ na konec promeˇnne´ PATH, aby vsˇechny drˇ´ıve uvedene´ adresa´rˇe meˇly prˇednost, ale toto nefunguje, pokud neˇktere´ jinak du˚lezˇite´ cesty nejsou v te´to promeˇnne´ zahrnuty.
$
ZA´KLADY PRA´CE S PROMEˇNNY´MI
5.6
124
Promeˇnne´ jsou bud’ loka´lnı´ (platne´ pouze v ra´mci skriptu, prˇ´ıkazove´ho shellu nebo bloku uvnitrˇ skriptu), a nebo promeˇnne´ prostrˇedı´, ktere´ jsou viditelne´ i mimo oblast, ve ktere´ byly deklarova´ny. Prˇ´ıkazy pro pra´ci s promeˇnny´mi: echo $prome ˇnna ´
P $
vypı´sˇe obsah promeˇnne´ (vyhodnotı´ ji), pracuje i s dynamicky´mi promeˇnny´mi prome ˇnna ´=vy ´raz
zmeˇnı´ obsah promeˇnne´ export prome ˇnna ´
exportuje promeˇnnou do prostrˇedı´ (aby ji mohly vyuzˇ´ıvat vsˇechny skripty i prˇ´ıkazovy´ rezˇim), da´ se spojit s vytvorˇenı´m a prˇirˇazenı´m hodnoty: export mojeprom=$PWD (do promeˇnne´ jsme nacˇetli na´zev pracovnı´ho adresa´rˇe) env
vypı´sˇe promeˇnne´ s jejich obsahem (promeˇnne´ prostrˇedı´) set
vypı´sˇe vesˇkere´ promeˇnne´ a funkce, ktere´ jsou definova´ny v dane´ oblasti, ve ktere´ pracujeme (vy´stup je pomeˇrneˇ rozsa´hly´), je lepsˇ´ı pouzˇ´ıvat radeˇji env unset
odstranı´ promeˇnnou read prome ˇnna ´
nacˇte ze standardnı´ho vstupu rˇeteˇzec do promeˇnne´ Pokud chceme, aby na´mi vytvorˇena´ promeˇnna´ byla viditelna´ i mimo pracovnı´ prostrˇedı´, ve ktere´m je vytvorˇena (naprˇ´ıklad i mimo skript, nejru˚zneˇjsˇ´ım dalsˇ´ım programu˚m apod., musı´me ji exportovat: export prom
Znak $ vyhodnotı´ vsˇe, co se za nı´m nacha´zı´ (vsˇe azˇ po prvnı´ mezeru nebo konec rˇa´dku povazˇuje za na´zev zpracova´vane´ promeˇnne´), proto kdyzˇ zada´va´me za na´zvem promeˇnne´ jesˇteˇ neˇco dalsˇ´ıho, uzavrˇeme tuto promeˇnnou do lomeny´ch za´vorek: export PATH=${PATH}:/usr/TeX/bin
Kdyzˇ chceme, aby se takova´to „vnitrˇnı´ promeˇnna´“ vyhodnocovala prˇi kazˇde´m vola´nı´ „vneˇjsˇ´ı promeˇnne´“, uzavrˇeme vy´raz do jednoduchy´ch uvozovek (apostrofu˚). Prˇı´klad 5.9 Prˇedpokla´dejme, zˇe neˇkde trˇeba ve skriptu pouzˇ´ıva´me promeˇnnou. Nejdrˇ´ıv ji vytvorˇ´ıme a inicializujeme, pak vypı´sˇeme jejı´ obsah. prom=”A B C” echo $prom
E
5.6
ZA´KLADY PRA´CE S PROMEˇNNY´MI
125
echo ”$prom” echo \$prom
Druhy´, trˇetı´ a cˇtvrty´ prˇ´ıkaz na´m postupneˇ dajı´ tyto vy´stupy (vsˇimneˇte si du˚sledku pouzˇitı´ uvozovek): A B C A B C $prom
Prˇı´klad 5.10 Do promeˇnne´ nemusı´me ukla´dat jen rˇeteˇzec nebo cˇ´ıslo. Obra´cene´ apostrofy jsou prostrˇedkem, jak vynutit vyhodnocenı´ vy´razu. Naprˇ´ıklad: prom=”Vy ´stup: ; ‘ls -la‘” echo $prom echo ”$prom”
V prvnı´m prˇ´ıkazu jsme do promeˇnne´ ulozˇili prˇ´ıkaz (vlastneˇ dva prˇ´ıkazy oddeˇlene´ strˇednı´kem, aby mohly by´t na jednom rˇa´dku) k interpretaci. Obra´cene´ apostrofy uvnitrˇ uvozovek jsou zde nutne´. V dalsˇ´ıch prˇ´ıkazech vypisujeme obsah promeˇnne´, cˇ´ımzˇ vyvola´me interpretaci prˇ´ıkazu˚ v nı´ ulozˇeny´ch. Vyzkousˇenı´m si mu˚zˇeme oveˇrˇit vy´znam uvozovek u poslednı´ho prˇ´ıkazu.
Prˇı´klad 5.11 Dalsˇ´ı uka´zky s promeˇnny´mi: export PS1=’$PWD’
do promeˇnne´ PS1, tj. do momenta´lnı´ho promptu, si ulozˇ´ıme pra-
covnı´ adresa´rˇ pracovnı´ adresa´rˇ bez cesty, s cestou je \w (a take´ zobrazuje domovsky´ adresa´rˇ jako vlnovku)
PS1=”\W”
PS1=”\w:”
promptem bude plna´ cesta k pracovnı´mu adresa´rˇi, na konci dvojtecˇka
echo $PS1
oveˇrˇ´ıme si, co
PS1=”\d”
promptem bude aktua´lnı´ datum
PS1=”\A”
promptem je aktua´lnı´ cˇas – jen hodiny a minuty, jine´ mozˇnosti pro cˇas jsou \t
nebo \T PS1=”\u\h\$ ” PS1=”\u\h:\w> ”
prompt je ve formeˇ uzˇivatel pocˇ´ıtacˇ$ (plus mezera) prompt je ve formeˇ uzˇivatel pocˇ´ıtacˇ: pracovnı´ adresa´rˇ¿ (plus mezera)
PS1=’pracuji tak dlouho: $SECONDS’
dynamicka´
opeˇt zmeˇnı´me prompt, promeˇnna´ SECONDS je
5.7
DALSˇI´ PRˇI´KAZY
126
vyuzˇili jsme promeˇnnou uvnitrˇ parametru prˇ´ıkazu; vsˇimneˇte si slozˇeny´ch za´vorek kolem na´zvu promeˇnne´, zde jsou nutne´
mkdir $HOME/novy
Prˇ´ıkaz set je ve skutecˇnosti mnohem silneˇjsˇ´ı, nejde jen o vypisova´nı´ seznamu promeˇnny´ch a funkcı´. Mu˚zˇeme naprˇ´ıklad do promeˇnne´ prˇirˇadit vy´sledek funkce (podrobnosti najdeme v manua´love´ stra´nce prˇ´ıkazu set).
´ koly U 1. Vyzkousˇejte prˇ´ıkazy vypisujı´cı´ promeˇnne´. Vyberte si kteroukoliv promeˇnnou a vypisˇte jejı´ obsah. 2. Vyzkousˇejte prˇ´ıkazy z prˇ´ıkladu 5.9. Take´ se pokuste zmeˇnit si prompt podle dalsˇ´ıho prˇ´ıkladu.
5.7
Dalsˇı´ prˇı´kazy
Podı´va´me se na neˇktere´ dalsˇ´ı jednoduche´ prˇ´ıkazy: date
vy´pis data a cˇasu, parametry mu˚zˇeme stanovit, co a v jake´ formeˇ bude vypsa´no vypı´sˇe datum ve tvaru den.meˇsı´c (meˇsı´c bude vypsa´n slovneˇ, podle jazykove´ho nastavenı´ syste´mu) date +%x vypı´sˇe datum ve tvaru meˇsı´c/den/rok date +%T vypı´sˇe cˇas ve tvaru hodiny:minuty:sekundy date >> log.dat tento prˇ´ıkaz umı´steˇny´ do .login, prˇ´ıpadneˇ .profile, zpu˚sobı´, zˇe prˇi kazˇde´m prˇihla´sˇenı´ se do souboru log.dat prˇida´ datum tohoto prˇihla´sˇenı´, ma´me tedy prˇehled o tom, kdy se uzˇivatel tohoto jme´na prˇihlasˇoval
date +%d.%B
clear
smaza´nı´ obrazovky echo [-e] [-n] r ˇete ˇzec
tento prˇ´ıkaz byl jizˇ drˇ´ıve pouzˇ´ıva´n. Jeho za´kladnı´ u´cˇel je stejny´ jako ve Windows, tedy vypı´sˇe svu˚j parametr (vsˇe vcˇetneˇ mezer). Prˇepı´nacˇ -n zamezı´ prˇechodu na novy´ rˇa´dek po vyhodnocenı´ prˇ´ıkazu. Pokud parametr nebo jeho cˇa´st uzavrˇeme do uvozovek, mu˚zˇeme pouzˇ´ıvat specia´lnı´ znaky (escape sekvence) (naprˇ´ıklad \n zpu˚sobı´ prˇesun na novy´ rˇa´dek – zarˇa´dkova´nı´ ve vy´stupu, \t je tabula´tor), ale navı´c musı´ by´t pouzˇit prˇepı´nacˇ -e. Mu˚zˇeme pouzˇ´ıt i apostrofy, pak obsah nebude interpretova´n (vypı´sˇe se tak jak je).
$
5.7
DALSˇI´ PRˇI´KAZY
127
Prˇı´klad 5.12 Tento prˇ´ıkaz vytvorˇ´ı na´sledujı´cı´ tabulku: echo -e ”Nadpis1\tNadpis2\nObsah1\tObsah2” Nadpis1 Obsah1
Nadpis2 Obsah2
´ koly U 1. Vyzkousˇejte ru˚zne´ mozˇnosti zobrazenı´ data a cˇasu. 2. Zobrazte manua´lovou stra´nku prˇ´ıkazu echo (v sekci 1). Zjisteˇte, jake´ prˇepı´nacˇe ma´ tento prˇ´ıkaz a jake´ forma´tovacı´ rˇeteˇzce lze pouzˇ´ıvat mimo vy´sˇe uvedeny´ch.
M