|
|
|

Alan Hiks
Kris Lumens
Dejvid Kantrel
Logan Džonson
Copyright © 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
Slackware Linux, Inc.
Slackware Linux is a registered trademark of Patrick Volkerding and Slackware Linux,
Inc.
Linux is a registered trademark of Linus Torvalds.
FreeBSD is a registered trademark of the FreeBSD Foundation.
America Online and AOL are registered trademarks of America Online, Inc. in the United
States and/or other countries.
Apple, FireWire, Mac, Macintosh, Mac OS, Quicktime, and TrueType are trademarks of
Apple Computer, Inc., registered in the United States and other countries.
IBM, AIX, EtherJet, Netfinity, OS/2, PowerPC, PS/2, S/390, and ThinkPad are trademarks
of International Business Machines Corporation in the United States, other countries, or
both.
IEEE, POSIX, and 802 are registered trademarks of Institute of Electrical and
Electronics Engineers, Inc. in the United States.
Intel, Celeron, EtherExpress, i386, i486, Itanium, Pentium, and Xeon are trademarks or
registered trademarks of Intel Corporation or its subsidiaries in the United States and
other countries.
Microsoft, IntelliMouse, MS-DOS, Outlook, Windows, Windows Media and Windows NT are
either registered trademarks or trademarks of Microsoft Corporation in the United States
and/or other countries.
Netscape and the Netscape Navigator are registered trademarks of Netscape
Communications Corporation in the U.S. and other countries.
Red Hat, RPM, are trademarks or registered trademarks of Red Hat, Inc. in the United
States and other countries.
XFree86 is a trademark of The XFree86 Project, Inc.
Za mnoge oznake ili nazive, koje koriste proizvodjači i prodavci da bi njihove
proizvode izdvojili, se tvrdi da su zaštićeni. Tamo gde se takve oznake ili
imena budu pojavljivala u ovoj knjizi, a Slackware Linux, Inc. je bio obavešten da
jesu, biće praćen sledećim simbolima: “™” ili
“®”.
1-57176-338-4
Predgovor
Ciljna
publika
Slackware Linux operativni sistem je moćna platforma za računare bazirane na
Intelovim procesorima. Dizajniran je da bude stabilan, siguran i funkcionalan i kao
server i kao radna stanica.
Ova knjiga je napisana za početnike na Slackware Linux operativnom sistemu. To ne
znači da je napisana da pokrije svaki pojedinačni deo ove distribucije,
već prvenstveno da pokaže mogućnosti i da vam pruži osnovna znanja za
rad na ovom sistemu.
Kako budete napredovali sa Slackware Linux-om, nadamo se da će vam ova knjiga
postati pomoćno sredstvo. Takođe se nadamo da ćete je proslediti svojim
prijateljima kada vas pitaju za cool Slackware Linux operativni sistem koji
koristite.
Možda ova knjiga nije previše ozbiljna, prvenstveno smo se trudili da je
napišemo da bude što zanimljivija. Naravno, takođe se nadamo da ćete
moći da učite iz nje i naći je kao korisnu.
A sada, počinje šou!.
Izmene u odnosu
na prvu ediciju
Ova druga edicija je kulminirala iz godina napornog rada posvećenih članova
'Slackware Documentation Project'-a. Glavne promene u novoj ediciji su:
-
Chapter 3, Instalacija je modifikovana sa novim snimcima
ekrana instalera, i promenama u 'disk-sets' i CD instalaciji.
-
Chapter 4, Konfiguracija sistema je obnovljena sa
novim informacijama o Linux 2.6.x kernelima.
-
Chapter 5, Konfiguracija mreže je
povećana sa dubljim objašnjenjima Sambe, NFS-a i DHCP-a. A sekcija o
bežičnim mrezama je takođe dodata. Ovo poglavlje ima glavne izmene oko
Slackware podešavanja mreže.
-
Chapter 6, X Window Sistem je bitno promenjen za
sisteme bazirane na Xorg-u. Ovo poglavlje sada takođe pokriva xdm grafički
upravljač logovanjem.
-
Chapter 13, Osnovne komande za mrežu su
poboljsane sa informacijama o dodatnim mrežnim komunikacijama.
-
Chapter 14, Bezbednost je novo poglavlje u ovoj ediciji.
Objašnjava kako da održite Slackware Linux sistem bezbednim.
-
Chapter 17, Emacs je novo poglavlje u ovoj ediciji. Opisuje kako
da koristite Emacs, moćni editor za Unix.
-
Chapter 18, Upravljanje paketima je obnovljeno sa
informacijama o SlackBuild skriptama.
-
Postoji još mnogo drugih promena, ali ovo su najvažnije, da pokažu
promene u Slackware-u od kako se razvio.
Organizacija knjige
- Chapter 1, Uvod
-
Daje uvod u Linux, Slackware, Otvoreni Kod i okretanje ka slobodnom softveru.
- Chapter 2, Pomoć
-
Opisuje resurse pomoći na Slackware Linux sistemu i Internetu.
- Chapter 3, Instalacija
-
Opisuje instalacioni proces korak po korak sa slikama ekrana da vam omogući
što bolje razumevanje.
- Chapter 4, Konfiguracija sistema
-
Opisuje važne konfiguracione fajlove i pokriva rekompajliranje kernela.
- Chapter 5, Konfigurisanje mreže
-
Opisuje kako da povežete Slackware Linux mašinu na mrežu. Pokriva
TCP/IP, PPP/dial-up, bežične mreže i još.
- Chapter 6, X Window Sistem
-
Opisuje kako da se pokrene i koristi grafički X Window Sistem na Slackware-u.
- Chapter 7, Butovanje
-
Opisuje koje procese računar pokreće na Slackware Linux-u. Takođe
pokriva i dualno startovanje sa Microsoft Windows operativnim sistemom.
- Chapter 8, Školjka
-
Opisuje moćnu komandnu liniju za Linux.
- Chapter 9, Struktura sistema fajlova
-
Opisuje strukturu sistema fajlova, uključujući vlasništvo nad
fajlovima, dozvole i linkovanje.
- Chapter 10, Rukovanje fajlovima i direktorijumima
-
Opisuje komande za manipulisanje fajlovima i direktorijumima iz komandne linije.
- Chapter 11, Kontrola procesa
-
Opisuje moćne Linux komande za rukovanje procesima za kontrolu pokrenutih
aplikacija.
- Chapter 12, Osnovna sistem administracija
-
Opisuje osnovne sistem administrativne poslove, kao što su dodavanje i uklanjanje
korisnika, pravilno gašenje računara, i još.
- Chapter 13, Osnovne mrežne komande
-
Opisuje kolekciju mrežnih klijenata koji dolaze sa Slackware-om.
- Chapter 14, Bezbednost
-
Opisuje nekoliko različitih alata koji vam pomažu da održite vaš
Slackware sistem bezbednim, uključujući iptables i tcpwrappers.
- Chapter 15, Arhiviranje fajlova
-
Opisuje različite načine kompresije i arhiviranja podataka u Linux-u.
- Chapter 16, vi
-
Opisuje moćni vi uređivač teksta.
- Chapter 17, Emacs
-
Opisuje moćni Emacs uređivač teksta.
- Chapter 18, Slackware-ovo manipulisanje
paketima
-
Opisuje manipulisanje paketima i procese koji se koriste za kreiranje posebnih paketa
i tag fajlova.
- Chapter 19, ZipSlack
-
Opisuje ZipSlack verziju Linux-a koja se koristi na Windowsu bez prethodne
instalacije.
- Appendix A, GNU opšta javna licenca
-
Opisuje licencu i uslove pod kojima Slackware Linux i ova knjiga mogu biti kopirani i
distribuirani.
Konvencije
korišćene u knjizi
Da bi smo vam omogućili skladan i lak tekst za čitanje, koristili smo neke
konvencije u ovoj knjizi.
Pisano-grafičke konvencije
- Nakošeno
-
Nakošeni font je
korišćen za komande, tekst koji treba naglasiti i za tehničke termine koji
se po prvi put pominju u tekstu.
Široko
-
Široki font je korišćen za poruke o
greškama, komande, varijable, imena portova, imena hostova, korisnička imena,
imena grupa, imena uređaja i delove koda.
- Podebljano
-
Podebljani font je korišćen za korisničke
unose u primerima.
Korisnički unosi
Slova prikazana podebljano da se razlikuju od ostalog tesksta.
Kombinacije tastera koji treba da budu istovremeno pritisnuti prikazane su ovako `+' između znakova kao sto su:
Ctrl+Alt+Del
Smisao je da korisnik treba sa pritisne Ctrl, Alt i Del u isto vreme.
Znakovi koji treba da budu kucani u nizu će biti razdvojeni zapetama, na
primer:
Ctrl+X, Ctrl+S
Smisao je da korisnik pritisne Ctrl i X
tastere istovremeno, a potom da pritisne Ctrl i S tastere istovremeno.
Primeri
Primeri koji počinju sa E:\> pokazuju MS-DOS® komandu. Osim ukoliko je drugačije
naznačeno, ove komande mogu biti izvršene u prozoru “komandnog
prompta” u modernom Microsoft® Windows® okruženju.
Primeri koji počinju sa # pokazuju komandu koja mora
biti izvršena kao super korisnik u Slackware-u. Možete se ulogovati kao root da biste izvršili komandu, ili kao vaš obican nalog
koristeci su(1) da
biste dobili superkorisnička odobrenja.
# dd if=bare.i of=/dev/fd0
|
Primeri koji počinju sa % pokazuju komandu koju treba
izvršiti kao običan korisnik. Osim ukoliko je drugačije naznaceno, C-shell
sintaksa je korišćena za postavljanje varijabla okruženja i ostalih
komandi školjke.
Potvrda
Ovaj projekat je potvrda meseci rada mnogih pojedinačnih korisnika. Ne bi bilo
moguće da predstavim ovaj rad u vakuumu. Mnogo ljudi zaslužuje našu
zahvalnost za svoje nesebične postupke: Kit Keler za svoj rad na bežičnim
mrežama, Džust Kremers za svoj važan rad na Emacs sekciji, Sajmon Vilijams
za svoje poglavlje o bezbednosti, Jurgen Filiperts za osnovne komande mreže, Cibao
Cu Ali G Colibri za inspiraciju. Nebrojani drugi su poslali sugestije i ispravke. Jedna
nekompletna lista sadrži: Džejkob Anhoej, Džon Jast, Seli Velč,
Morgan Landri, i Čarli Lou. Takođe bih želeo da se zahvalim Kitu Keleru za
hostovanje mejling liste za ovaj projekat, takođe i Karlu Inglisu za početni
web hosting. Poslednji, ali ne i najmanje važani, želeo bih da se zahvalim
Patriku Dž. Volkerdingu za Slackware Linux, i Dejvidu Kantrelu, Loganu Džonsonu
i Krisu Lumensu za Slackware Linux Osnove Prva Edicija. Bez njihove inicijalne
pomoći, ništa od ovoga se ne bi desilo. Mnogi koji su doprineli u manjoj ili
većoj meri ovom projektu, nisu na listi. Nadam se da će mi oprostiti zbog
slabijeg sećanja..
Alan Hiks, maj 2005
Chapter 1 Uvod u Slackware Linux
Linus Torvalds je započeo Linux, kernel operativnog sistema, kao lični
projekat 1991. godine. Počeo je s projektom zato što je hteo da koristi Unix
baziran oprerativni sistem bez da troši veliku sumu novca. Takođe je hteo da
nauči sve što je moguće o procesoru 386. Linux je izdat javnosti besplatno
tako da je svako mogao da ga proučava i pravi poboljšanja pod Opštom
Javnom Licencom. (Pogledajte Section 1.3 i Appendix A za objašnjenje licence.) Danas, Linux je izrastao u
glavnog igrača na tržištu operativnih sistema. Portovan (prebačen) je
na razne sistemske arhitekture, uključujući HP/Compaq-ove Alpha, Sunove SPARC i
UltraSPARC mašine i Motoroline PowerPC čipove (uključujući i Apple
Macintosh i IBM RS/6000 računare.) Stotine, ako ne hiljade, programera preko celog
sveta razvijaju Linux. On izvršava programe kao što je Sendmail, Apache i BIND,
koji su veoma popularan softver koji se koristi na Internet serverima. Važno je
zapamtiti da se izraz “Linux” stvarno odnosi na kernel - srce operativnog
sistema. Ovo srce je odgovorno za kontrolu vašeg procesora u sistemu, memorije, hard
diskova i ostalog hardvera. To je zaista sve što Linux radi: on kontroliše
operacije vašeg računara i stara se da se svi programi ponašaju kako
treba. Razne kompanije i pojedinci spajaju kernel i razne programe zajedno da bi
napravili operativni sistem. Ovaj skup mi zovemo Linux distribucija.
Projekat Linux kernela je započeo kao usamljen trud Linusa Torvalds a 1991.
godine, ali Isak Njutn je jednom rekao “Ako sam video dalje, to je samo zato
što sam stajao na ramenima džinova.” Kada je Linus Torvalds započeo
kernel, Fondacija slobodnog softvera je uspostavila ideju saradničkog softvera. Oni
su svom trudu dali ime GNU, kao rekurzivni akronim koji jednostavno znači “GNU
Nije Unix”. GNU softver se izvršavao nad Linux kernelom od prvog dana. Njihov
kompajler “gcc” se koristio za kompajliranje kernela. Danas su mnoge GNU
alatke počev od “gcc”-a do “gnutar”-a i dalje osnova svake
velike Linux distribucije. Iz ovog razloga, mnogi od zastupnika Fondacije Slobodnog
Softvera izjavljuju da bi njihov rad trebao da dobije priznanje isto kao i Linux kernel.
Oni snažno sugeriraju da bi sve Linux distribicije trebale sebe da predstavljaju kao
GNU/Linux distribucije.
Ovo je tema mnogih rasprava, koji nadmašuje samo drevni emacs protiv vi-a sveti
rat. Namena ove knjige nije da potpomaže ovu uzavrelu temu, već pre da razjasni
terminologiju početnicima. Kada neko pročita GNU/Linux, to onda znači
Linux distribucija. A kad pročita Linux, onda se to može odnositi ili na kernel
ili na distribuciju. To može biti zbunjujuće. Tipično se termin GNU/Linux
ne koristi zato što se teško izgovara.
Slackware, započet od strane Patrika Volkderinga kasne 1992. godine i inicijalno
predat svetu 17. jula 1993., je bio prva Linux distribucija koja je dostigla
raširenu upotrebu. Volkdering je prvi put naučio Linux kada mu je bio zatrebao
jeftin LISP interpretator za projekat. Jedna od retkih distribucija u to vreme je bio SLS
Linux kojeg je izdavao Soft Landing Systems. Volkerding je koristio SLS Linux,
ispravljajući greške kad god bi naišao na njih. Na kraju, odlučio je
da skupi sve ove ispravke u svoju sopstvenu distribuciju koju će moći koristiti
on i njegovi prijatelji. Ova privatna distribucija je ubrzo dobila popularnost, pa je
Volkerding odlučio da je nazove Slackware i da je napravi javno dostupnom. Tokom
vremena, Patrik je dodavao nove stvari Slackware-u; jednostavni instalacioni program
baziran na sistemu menija, kao i koncept upravljanja softverskim paketima koji je
dozvoljavao korisnicima da lako dodavaju, brišu ili unapređuju softverske
pakete na svojim sistemima.
Postoji mnogo razloga zašto je Slackware najstarija živa Linux distribucija.
On ne pokušava da emulira Windows, on pokušava da bude što više nalik
Unix-u što je to moguće. On ne želi da sakrije svoje procese sa fensi
GUI-ima (grafički korisnički interfejs) po kojima možete da klikćete.
Umesto toga, on prepušta kontrolu korisnicima, dozvoljavajući im da vide
tačno šta se dešava. Njegov razvoj se ne ubrzava kako bi se dostigli
određeni datumi - svaka verzija izlazi kada je spremna.
Slackware je za ljudi koji uživaju u učenju i poboljšavanju svojih
sistema kako bi radili tačno ono što oni od njih žele. Slackware-ova
stabilnost i jednostavnost su razlog što će ga ljudi nastaviti koristiti i u
godinama koje dolaze. Slackware trenutno uživa reputaciju solidnog servera i radne
stanice koja nije za šalu. Možete naći Slackware desktop računare
kako izvšavaju skoro svaki upravljač prozorima ili desktop okruženje, ili
nijedno od njih. Slackware serveri opslužuju kompanije, radeći u svakom
kapacitetu u kom može da se koristi taj server. Slackware korisnici su među
najzadovoljnijim Linux korisnicima. Naravno, šta bismo drugo mi i rekli. :^)
Unutar Linux zajednice postoje dva velika ideološka pokreta koja su na delu.
Pokret Slobodnog Softvera (do kojeg ćemo doći za momenat) ima za cilj da
načini sav softver slobodnim od restrikcija nametnutih intelektualnim
vlasništvom. Sledbenici ovog pokreta veruju da ove restrikcije stavljaju
tehnološki napredak i rad protiv dobra društva. Pokret Otvorenog Koda ide ka
većini istih ciljeva, ali uzima pragmatičniji pristup prema njima. Sledbenici
ovog pokreta više vole da baziraju svoje argumente na ekonomskim i tehničkim
prednostima koji dolaze kada se izvorni kod načini potpuno dostupnim, pre nego
moralnim i etičkim principima koji pokreću Pokret Slobodnog Softvera.
S druge strane su grupe koje žele da održe čvršću kontrolu
nad svojim sofverom.
Pokret Slobodnog Softvera vodi Fondacija Slobodnog Softvera, organizacija koja skuplja
prilog za GNU projekat. Slobodni Softver je više ideologija. Često
korišćen izraz je “sloboda kao sloboda govora, ne kao besplatno
pivo”. U osnovi, slobodni softver je pokušaj da se garantuju određena
prava i za korisnike i za programere. Ove slobode uključuju slobodu da se program
izvršava iz bilo kojeg razloga, da se proučava i modifikuje izvorni kod, da se
redistribuira kod programa i da se dele bilo koje modifikacije koje napravite. Kako bi se
zagarantovale ove slobode stvorena je GNU Opšta Javna Licenca (General Public
License, GPL). GPL, ukratko, omogućava da svako ko distribuira kompajlirani program
koji je pod GPL licencom takođe mora da pruži izvorni kod, i da je slobodan da
pravi modifikacije u programu sve dok su ove modifikacije isto dostupne u formi izvornog
koda. Ovo garantuje da jednom kada je program “otvoren” za zajednicu,
više nikada ne može biti “zatvoren” osim ako se slože svi
autori svakog dela koda (čak i modifikacija) unutar njega. Većina Linux
programa su licencirana pod GPL-om.
Važno je napomenuti da GPL ne govori ništa u vezi cene. Iako može
zvučati čudno, ali vi možete naplatiti slobodan softver. Deo
“sloboda” se odnosi na slobode koje imate sa izvornim kodom, ne u ceni koju
plaćate za softver. (Međutim, jednom kada vam neko proda, ili pokloni,
kompajlirani program pod GPL-om onda je obavezan i da vam pruži izvorni kod.)
Još jedna popularana licenca je BSD licenca. Za razliku od GPL-a, BSD licenca ne
zahteva izdavanje izvornog koda programa. Softver izdat pod BSD licencom dozvoljava
redistribuciju u izvornoj ili binarnoj formi samo ukoliko je nekoliko zahteva ispunjeno.
Informacije o autoru ne mogu biti korišćene za bilo kakvu vrstu reklame za
program. Takođe, oslobađa autora od odgovornosti za štete koje mogu
nastati korišćenjem softvera. Mnogo softvera koji je uključen u Slackware
Linux je licenciran BSD licencom.
Kao predvodnik mlađeg pokreta Otvorenog Koda, Open Source Initiative (Inicijativa
Otvorenog Koda) je organizacija koja postoji samo da pruža podršku softveru
otvorenog koda, to jest, softvera koji ima dostupan izvorni kod, kao i program koji je
spreman za izvršavanje. Oni ne pružaju specifičnu licencu, već umesto
toga podržavaju razne vrste dostupnih licenci.
Ideja iza OSI-ja je da se omogući više da više kompanija stanu iza
otvorenog koda tako što će im se dozvoljavati da pišu svoje sopstvene
licence otvorenog koda i da te licence budu sertifikovane od strane Inicijative Otvorenog
Koda. Mnoge kompanije žele da izdaju izvorni kod, ali ne žele da koriste GPL.
Pošto ne mogu radikalno da promene GPL, ponuđena im je prilika da pruže
svoju sopstvenu licencu i da ona bude sertifikovana od strane ove organizacije.
Iako Fondacija Slobodnog Softvera i Inicijativa Otvorenog Koda rade da pomognu jedni
drugima, ipak nisu ista stvar. Fondacija Slobodnog Softvera koristi posebnu licencu i
stvara softver pod tom licencom. Inicijativa Otvorenog Koda traži podršku za
sve licence otvorenog koda, uključujući i onu od Fondacije Slobodnog Softvera.
Osnove zbog kojih svaka strana argumentuje slobodno otvaranje izvornog koda ponekad
razdvajaju ova dva pokreta, ali činjenica da dve ideološki različite grupe
rade ka istom cilju čini da odajemo poštovanje trudu obe strane.
Chapter 2 Pomoć
Često nam je potrebna pomoć za određenu komandu, za podešavanje
programa, ili osposobljavanje neke hardverske komponente da radi. Možda jednostavno
želite da bolje razumete komandu koju ste zadali, ili da vidite ostale opcije koje
su moguće sa njom. Srećom, postoji više načina da se dođe do
pomoći koja vam je potrebna. U toku instalacije Slackware imali ste opciju da li da
instalirate pakete iz “F” serije u kojoj se naleze FAQ i HOWTO. Programi
takođe dolaze sa pomoći za njihove opcije, za konfigurcione datoteke, a i samo
korišćenje.
Komanda man (skraćenica za “manual”) je
tradicionalna forma za online dokumentaciju u Unix i Linux operativnim sistemima.
“man strane” kao specifično foramtirane datoteke obuhvataju većinu
komandi i distribuiraju se samim softverom. Izvršavanjem man
neka_komanda dobiće se man strana za komandu koju ste naveli, u našem
primeru to bi bilo za naš imaginarni program neka_komanda.
Kao što možete da pretpostavite, broj man starna kako vreme prolazi je sve
veći i veći tako da snalaženje u svemu tome postaje ozbiljno kompikovano
čak i za naprednije korisnike. Iz tog razloga, man starne su grupisane u numerisane
odeljke. Ovakav princip se koristi odavno tako da će man starna za određenu
komandu, program ili čak funkciju neke programske biblioteke biti dobijena uz
pomoć broja odeljka.
Na primer:
Možda ćete videti referencu na man(1). Ovaj broj
govori da je “man” dokumentovana u odeljku 1
(korisničke komande); možete da naglasite da želite odeljak 1 man strane
za “man” korišćenjem komande man 1 man.
Navođenjem broja odeljka je korisno kada postoje višestruke stavke istog
imena.
Table 2-1. Odeljci man starna
Odeljak |
Sadržaj |
Odeljak 1 |
korističke komande (samo osvrt) |
Odeljak 2 |
sistemski pozivi |
Odeljak 3 |
pozivi ka C bibliotekama |
Odeljak 4 |
uređaji (npr, hd, sd) |
Odeljak 5 |
formati datoteka i protokoli (npr, wtmp, /etc/passwd,
nfs) |
Odeljak 6 |
igre (samo osvrt) |
Odeljak 7 |
konvencije, makro paketi, itd. (npr, nroff, ascii) |
Odeljak 8 |
administracija sistema (samo osvrt) |
Pored man(1) komadne, postoje i komande whatis(1) i apropos(1) koje nam
omogućavaju da lakše dođemo do informacija u man sisetemu.
Komanda whatis daje veoma sažet opis komande sistema,
pomalo u stilu beleški.
Primer:
% whatis whatis
whatis (1) - pretražuje whatis bazu podataka database za kompletnu reč
|
Komanda apropos se koristi za traženje man strana koje
sadrže zadatu reč.
Primer:
% apropos wav
cdda2wav (1) - a sampling utility that dumps CD audio data into wav sound files
netwave_cs (4) - Xircom Creditcard Netwave device driver
oggdec (1) - simple decoder, Ogg Vorbis file to PCM audio file (WAV or RAW)
wavelan (4) - AT&T GIS WaveLAN ISA device driver
wavelan_cs (4) - AT&T GIS WaveLAN PCMCIA device driver
wvlan_cs (4) - Lucent WaveLAN/IEEE 802.11 device driver
|
Ako želite još inforamcija o tim komandama, pročitajte man strane za
detaljniji opis. ;)
Izovorni kod za većinu paketa koje smo izgradili dolazi sa nekom vrstom
dokumentacije: README datoteke, instrukcije za korišćenje, datoteke koje se
odnose na licencu, itd. Bilo koja vrsta dokumentacije koja dolazi sa izvornim kodom je
instalirana u /usr/doc direktorijum. Svaki program (uglavnom)
instalira svoju dokumentaciju u ovom poretku:
/usr/doc/$program-$version
Gde je $program ime programa o kome hoćemo
nešto da pročitamo, a $version je
(očigledno) odgovorajuća verzija softverskog paketa koje je instaliran na
sistem.
Na primer, da biste pročitali dokumentaciju za komandu man(1) trebali biste da sa cd komandom
odete na odgovarajuće mesto:
% cd /usr/doc/man-$version
|
Ako čitanjem ogovarajućih man strana ne dođete do potpunih informacija
pretraživanje direktorijuma /usr/doc bi bio sledeći
logični korak.
U Open Source zajednici vladao je dobar duh koji je sagradio HOWTO/mini-HOWTO
kolekciju. Te datoke su baš ono što im i ime govori - dokumenti i vodiči
koji objašnjavaju kako da se nešto podesi. Ako ste instalirali HOWTO kolkciju,
ona se nalazi u /usr/doc/Linux-HOWTOs a mini-HOWTOs je u /usr/doc/Linux-mini-HOWTOs direktorijumu.
Neki paketi dolaze sa FAQ listom (često postavljenja pitanja i odgovori),
što je akronim za
Ovi dokumenti su napisani u stilu “Pitanje i odgovor.” FAQ liste mogu da
budu veoma korisne u situacijama kada želite da brzo “fiksirate”
rešenje problema. Ako ste u toku instaliranje sisteme instalirali i FAQ liste
naćićete ih u /usr/doc/Linux-FAQs direktorijumu.
Čitanje ovih datoteka je korisno u slučajevima kada nismo sigurni kada
dođemo u ćorsokak. One pokrivaju neverovatanu oblast tema, ponekad
iznenađujeće detaljno. Dobar materijal!
Pored dokumentacije koja dolazi sa instalacijom Slackware Linux Oprerativnog sistema,
postoji bezbroj online resursa koje možete da koristite.
Oficijelni Slackware web sajt
Oficijelni Slackware Linux web sajt ponekad nije ažuran, ali i pored toga
sadrži ralevantne inforamacije vezane za poslednje izdanje Slackwere-a. Nekada je
forum pomoćno egzistirao pre nego što na njega nisu navalile horde trolova,
kontraša i pametnjakovića. Održavanje takvog foruma je zahtevalo puno
rada, i Pat ga je ugasio. Ono što možete naći su stari arhivirani forumi
koje možete da pretražujete na http://www.userlocal.com/phorum/.
Posle gašenja foruma na http://slackware.com, nekoliko drugih sajtova je ponudilo da hostuje
forum podrške za Slackware. Posle mnogo razmišljanja, Pat je odlučio da www.linuxquestions.org bude oficijelni
forum za Slackware Linux.
Svakom ko je nabavio oficijelni CD set sleduje besplatna podrška za instaliranje
preko e-poruka developera. Imajte na umu da mi, programeri, (i velika većina
korisnika) Slackware-a pripadamo “staroj školi ”. To znači da
preferiramo da pomognemo svakom ko ima iskrene interese i ko hoće sam sebi da
pomogne u procesu rešavanja problema. Uvek ćemo dati sve od sebe da pomognemo
svakom ko nam je poslao e-poruku sa pitanjem vezanim za poršku. Ipak, molim vas da
pogledate vašu dokumentaciju i web sajt (posebno FAQ liste ili možda neki od
foruma izlistanih dole) pre nego što nam pošaljete email. Na taj način
možda ćete doći brže do odgovora, a mi na manje e-poruka onda
odgovaramo tako da smo onda više raspoloživi za one kome je pomoć
neophodna.
Adresa e-pošte za tehničku podršku je: support@slackware.com. Druge adrese e-pošte i kontakti su
izlistani na web sajtu.
Imamo nekoliko mailing lista, u noralnoj i digest formi. Proverite instrukcije kako da
se prijavite.
Da biste se prijavili na mejling listu, pošalji te e-poruku na:
majordomo@slackware.com
sa frazom “subscribe [ime
liste]” u zaglavju e-poruke. Izbor liste je objašnjen dole (dole
navedena imena koristite ko imena listi).
Arhiva mejling liste može da se nađe na Slackware web sajtu na adresi:
http://slackware.com/lists/archive/
- slackware-announce
-
slackware-announce mejling lista se odnosi na proglase o
novim verzijama, velikim ažuriranjima i drugim generalnim informacijama.
- slackware-security
-
slackware-security mejling lista sadrži proglase koji se
odnose na pitanja vezana za sigurnost. Informacije o bilo kojem exploitu ili o nekim
drugi ranjivostma koja se direktno odnose na Slackware biće odmah poslate na ovu
listu.
Ove liste su dostupnei u digest formatu. To znači da ćete dnevno dobijati
jednu veliku poruku umesto nekoliko kratkih. Pošto slackware mejling lista ne
dozvoljava da se šalju postovi, a isto tako ne zauzima veliki mrežni promet, za
većinu korisnika je pogodnije da koriste digest listu. Još uvek je dostupna i
možete je kristiti ako se prijavite na slackware-announce-digest ili slackware-security-digest.
- Google
-
Kung-Fu majstor mašina za pretraživanje. Kada ste apsoluno sigurni da
možete naći krucijalne informacije vezane za subjekt koji tražite: Ne
tražite zamenu.
- Google:Linux
-
Linux-svojstveno pretraživanje
- Google:BSD
-
BSD-svojstveno pretraživanje. Slackware kao jedan Unix-oliki operativni sistem je
dosta generičan tako da se ponekad dešava da ne nađemo 100% relevantne
informacije koje se odnose na njega. Mnogo puta BSD pretraživanje daje više
tehničkih informacija nego odgovarajuće PR-related Linux
pretraživanje.
- Google:Groups
-
Pretražujte postove ponekad stare i deceniju da nađete vaš biser
mudrosti.
- http://userlocal.com
-
Virtualna riznica znanja, dobri saveti, prva iskustva i interesantni članci.
Često ćete biti baš u centru zbivanja vezanih za razvoj Slackware-a.
Usenet je odavno bio mesto za skupljane geekova i međusobnu pomoć. Postoji
nekoliko news grupa koje su namenjene za Slackware Linux, a vremenom bivaju sve više
ispunjene sa ljudima velikog znanja.
alt.os.linux.slackware
alt.os.linux.slackware, poznatija kao aols (nemoj te je
zameniti sa AOL®!) je najaktivnije mesto u kome se
mogu naći tehnička pomoć za Slackware probleme. Kao svaka Usenet news
grupa, nekoliko nesrećnih učesnika (“trollovi”) može da
pokvari atmosferu svojom konstantnom potrebom da se dokazuju. Naučiti ljude da
ignorišu i identifikuju te trollove je ključ da resursi budu sve veći.
Chapter 3 Instalacija
Pre nego što počnete sa korišćenjem Slackware Linux-a, potrebno je
da ga nabavite i instalirate. Nabavka Linux-a je jednostavna, bilo da kupujete diskove
ili ga preuzimate sa Interneta. Instalacija je isto tako laka ukoliko imate neko osnovno
znanje o računarima i ako ste voljni da naučite još neke stvari.
Instalacioni proces je više manje u formi korak po korak. Zbog toga ćete sam
proces brzo i efikasno izvoditi. Sam Slackware se može pohvaliti kao distro koga
karakteriše vremenski najkraći instalacioni proces (izuzimaju se nepotpune
distribucije).
Oficijelni Slackware Linux CD set se može nabaviti kod Slackware Linux, Inc. Set
se sastoji od 4 diska. Na prvom disku se nalazi softver koji je potreban za osnovu
instalaciju servera i X windows sistema. Drugi disk je “live” cd; što
znači da je to butabilni cd koji Slackware instalira u RAM memoriju i takav sistem
prestavlja privremenu instalaciju koja se koristi uglavnom za razna isprobavanja i
oporavak mašine. Ovaj cd sadrži KDE i GNOME desktop okruženja. Tu se
još nalazi nekoliko ne toliko vitalnih paketa u “extra” folderu.
Treći i četvrti disk sadrže celokupan izvorni kod Slackware-a, zajedno sa
ovom knjigom.
Pojedinci su možda nabavili kutiju sa 4 diska i kopijom ove knjige, kao i sa
mnogo razne Slackware opreme da bi pokazali svoju geek prirodu. Moguća ja preplata
sa sniženjem na CD-ove.
Priroritetan metod za kupovanje Slackware robe je online ili u Slackware
prodavnicama.
http://store.slackware.com
Takođe možete i preko e-poruke da naručite robu.
Table 3-1. Slackware Linux, Inc. informacije za kontakt
Metoda |
Kontakt detalji |
Telefone |
1-(925) 674-0783 |
Web sajt |
http://store.slackware.com |
E-pošta |
orders@slackware.com |
Adresa |
1164 Claremont Drive, Brentwood, CA 94513 |
Slackware Linux se isto tako može nabaviti preko Interneta. Možete da
pošaljete e-poruku sa pitanjima našoj podršci, ali veći pripritet
imaju oni koji su nabavili oficijelni CD set. To govorim pošto dobijamo gomilu
e-poruka, a vreme nam je ograničeno. Pre nego što pošaljete e-poruku
našoj podršci imajte u vidu da pročitate Chapter 2
Oficijelni sajt Slackware Linux Project-a se nalazi na:
http://www.slackware.com/
Primarna FTP lokacija Slackware Linux-a je:
ftp://ftp.slackware.com/pub/slackware/
Imajte na umu da naš ftp sajt, pošto je otvoren za generalnu upotrebu, nema
neograničen protok. Razmotire mogućnost korišćenja najbližeg
mirora za preuzimanje Slackware-a. Nepotpuna lista mirirora se može naći na
našem sajtu: http://www.slackware.com/getslack.
Jedna laka Slackware instalacija zahteva, kao minimum, sledeće:
Table 3-2. Zahtevi sistema
Zahtevi u |
hardveru |
Procesor |
586 |
RAM |
32 MB |
Prostor na disku |
1GB |
Uređaj za medije |
4x CD-ROM |
Ako imate butabilni CD, verovatno vam nije potreban flopi uređaj. Naravno, ako iz
nekog razloga nemate CD-ROM uređaj, potreban vam je flopi uređaj da biste mogli
da obavite instalaciju preko mreže. Mrežna kartica je potrebna za NFS
instalaciju. Za više informacija pogledajte odeljak koji se zove NFS.
Zahtevi koji se tiču izbora prostora na disku su ponekad u uvijenoj formi.
Preporuka za veličinu od 1 GB je obično u redu ako se misli na normalnu
instalaciju, ali ako želite punu istalaciju, potrebno vam je oko dva gigabajta sa
vašeg diska plus dodatni prostor za lične datoteke. Većina korisnika ne
obavlja punu instalaciju. Zapravo mnogi pokreću Slackware na manje od 100MB
prostora.
Slackware se može instalirati i na sistemima sa manje RAM-a, manjih hard diskova,
i slabijih procesora, ali to zahteva više podmazivanja. Ako vas to interesuje,
pogledajte LOWMEM.TXT datoteku na disku distribucije.
Zbog pojednostavljivanja stvari, Slackware je istorijski podeljen na serije softvera.
Nekada su se zvale “disk sets” pošto su se distrubuirale preko disketa.
Sada se serije softvera koriste prevashodno za kategorizaciju pakata koji dolaze sa
Slackware-om. Danas se instalacija sa disketa ne koristi.
Ovo što sledi je kratak opis svake od serija softvera.
Table 3-3. Serija softvera
Serija |
Sadržaj |
A |
Osnovni sistem. Sadrži onoliko softvera koliko je zaista potrebno za rad,
zajedeno sa uređivačima teksta i osnovnim komunikacionim programima. |
AP |
Razne aplikacije koje ne zahtevaju X Window System. |
D |
Alati za razvoj programa. Kompajleri, dibageri, interpreteri, i man strane za sve
njih. |
E |
GNU Emacs. |
F |
FAQs, HOWTOs, i druga raznovrsna dokumentacija. |
GNOME |
GNOME desktop okruženje. |
K |
Izvorni kod Linux kernel-a. |
KDE |
K Desktop okruženje. X okruženje koje deli puno stvari što se
tiče izgleda i korišćenja sa MacOS i Windows sistemima. Qt biblioteke,
koje su potrebne za KDE su isto u ovoj seriji. |
KDEI |
Internacionalni paketi za KDE desktop. |
L |
Biblioteke. Dinamički linkovane biblioteke potrebne mnogim ostalim
programima. |
N |
Mrežni programi. Demoni, mail programi, telnet, news čitači, itd. |
T |
teTeX sistem za formatiranje dokumenata. |
TCL |
Tool Command Language. Tk, TclX, i TkDesk. |
X |
Osnovni X Window sistem. |
XAP |
X aplikacije koje nisu sastavni deo glavnih desktop okruženja (na primer,
Ghostscript i Netscape). |
Y |
BSD konzolne igre |
Nekada je bilo moguće da se Slackware Linux instalira sa flopi diskova, ali
povećavanjem veličine softverskih paketa polako se forsiralo napuštanje
takve prakse. Za verzije koje su posle verzije 7.1 delimična instalacija upotrebom
disketa je moguća. A i N serija se može skoro potpuno instalirati, i na taj
način se obezbeđuje osnovni sisetem sa koga može da se instalira ostatak
distribucije. Ako već razmatrate instalaciju sa disketama (uglavnom se misli na
stari hardver), obično se preporučije pronalaženje nekog drugog
načina, ili upotreba nekog starog izdanja. Slackware 4.0 je još uvek dosta
popularan zbog tog razloga, kao i 7.0.
Molim vas da zapamtite da je disketa još potrebna za instalaciju sa CD ROM-a kada
ne možete da butujete sa njega, ili kada se koristi NFS instalacija.
Ako imate butabilni CD, koji je u sklopu oficijalnog seta diskova koje je objavio
Slackware Linux, Inc. (pogledajte odeljak Nabavka Slackware-a), instalacija bazirana na
CD-ima je za vas nejjednostavnija. Ako to nije slučaj, potrebno je da se butujete sa
disketa. Takođe, ako imate specifični hardver kod koga se javljaju problemi u
korišćenju kernela sa butabilnog CD-a, potrebno je da koristite specifične
diskete.
Od 8.1 verzije Slackware-a , koristi se novi metod za kreiranje butabilnih CD-ova,
što takođe ne radi dobro na izvesnim problematičnim BIOS čipovima.
Ako je to tako, predlažemo da se vrši butovanje sa flopi diskova.
Section 3.2.3 i Section 3.2.5 vam daje informacije o izboru i
kreiranju disketa sa kojih se vrši butovanje. Nadamo se da vam to neće biti
neophodno.
NFS (Network File System) je način da fajl sistem bude prisutan na udaljenoj
mašini. NFS instalacija vam omogućava da instalirate Slackware sa nekog drugog
računara na vašoj mreži. Mašina sa koje nameravate da instalirate
mora da bude konfigurisana za eksportovanje stabla Slackware distribucije na mašinu
na koju se instalira. Ovo naravno podrazumeva neka znanja o NFS-u, što je
objašnjeno u Section 5.6.
Moguće je da se NFS instalcija izvrši preko PLIP (parallel port), SLIP, i
PPP (ne mora da bude uvek modemska konekcija) metoda. Ipak vam preporučujemo da
koristite mrežnu karticu ako je imate. Pored toga, instalacija operativnog sistema
preko porta koji koristi štampač je veoma spor proces.
Boot disk je flopi čijim butovanjem započinje instalacija. On sadrži
kompresovanu sliku (image) kernela koji se koristi za kontrolu hardvera u toku
instalacije. Stoga je veoma bitan (jedino ako butovanje ne vršite sa CD, što je
objašnjeno u poglavlju CD-ROM). Boot diskovi su locirani u bootdisks/ direktorijumu u stablu distribucije.
Postoji mnogo Slackware boot diskova koje možete da koristite (oko 16). Kompletna
lista boot diskova, sa opisom svakog, se nalazi na stablu Slackware distribucije,
tačnije u datoteci bootdisks/README.TXT. Ipak, većina
ljudi koriste bare.i (za IDE uređaje) ili scsi.s (za SCSI uređaje) boot disk slike.
Za instrukcije kako se prave diskovi iz slika pogledajte Section 3.2.6.
Posle butovanja, bućete upitani da umetnete root disk. Ako želite malo da se
poigrate preporučujemo vam da umetenete boot disk.
Root diskovi sadrže setup program i fajl sistem koji se koristi u toku
instalacije. Oni su isto tako neophodni. Slike root diskova su locirane u direktorijumu
rootdisks stabla distribucije. Potrebno je da napravite dva root diska iz datoteka install.1 i install.2. Isto tako
možete pronaći i fajlove network.dsk, pcmcia.dsk, rescue.dsk i sbootmgr.dsk disks.
Dopunski disk je potreban u slučaju ako se izvodi NFS instalacija ili instalacija
na sistem koji ima PCMCIA uređaje. Dopunski diskovi su u rootdsks direktorijumu
stabla distribucije. To su datoteke network.dsk i pcmcia.dsk. Novije distribucije imaju i fajlove rescue.dsk i sbootmgr.dsk. Disk za
oporavak sistema (rescue disk) je mala root slika koja se pokreće na RAM disku
veličine 4MB. Taj disk sadrži neke osnovne mrežne alate i vi editor za
brzo uklanjanje problema na problematičnoj mašini. sbootmgr.dsk disk se koristi za butovanje drugih uređaja.
Koristite ovaj disk kada vaš butabilni CD-ROM uređaj neće da butuje
Slackware CD-ove. Bićete upitani o različitim stvarima da biste se butovali ili
će vam se ponuditi neki drugi pogodniji način da premostite te probleme sa
nezgodnim BIOS-om.
Root disk će vam reći kada treba da koristite dopunske diskove.
Kada ste izabrali boot disk sliku, potrebno je da je prenesete na disketu. Taj proces
se pomalo razlikuje u zavisnosti koji se operativni sistem koristi. Ako imate pokernut
Linux (ili neki drugi na Unix-u baziran OS) moraćete da koristite dd(1) komandu. Pretpostavimo da je bare.i
vaša datoteka sa slikom, a flopi drajv da je /dev/fd0,
komanda koja od bare.i slike pravi disk je:
% dd if=bare.i of=/dev/fd0
|
Ako koristite Microsoft OS, potrebno je da koristite RAWRITE.EXE program, koji se nalazi na stablu distribucije u istom
direktorijumu kao i slike disketa. Ponovo pretpostavimo da je bare.i vaša slika diska, a flopi uređaj da je A:, otvorite DOS prompt i otkucajte sledeće:
Posle butovanja sa određenog medija, potrebno je da napravite particije na
vašem hard disku. Particije hard diska su mesto gde će se sistem fajlova
Linux-a smestiti i mesto gde će se Slackware istalirati. Preporučuje se
kreiranje, kao minimum, dve particije; jedna za vaš root sistem fajlova (/) a druga za swap prostor.
Posle nego što se root disk učita, prikazaće se prompt za
prijavljivanje (logovanje). Logujte se kao root (nema lozinke). U promtu školjke,
pokrenite cfdisk(8) ili fdisk(8)
komandu. Program cfdisk nudi više korisnički
orjentisan (user-friendly) interfejs za razliku od regularnog fdisk programa, ali sa nešto manje mogućnosti. Ukratko
ćemo objasniti fdisk program.
Počnite tako što za vaš hard disk pokrenete fdisk program. U Linux-u, hard diskovi nisu obeleženi slovima,
već su prikazani preko datoteka. Prvi IDE hard disk (primarni master) je /dev/hda, primarni slejv je /dev/hdb,
itd. SCSI diskovi prate sličnu šemu, ali u ovakoj formi: /dev/sdX. Potrebno ja da
pokrenete fdisk komandu za vaš hard disk:
Kao i svi dobri Unix programi, komanda fdisk će da da
jedan promt (mislili ste da ćete dobiti neki meni, jel tako?). Prvo što
ćemo da uradimo je da vidimo naše tekuće particije. To ćemo uraditi
ako otkucamo p u fdisk promptu:
Ovako ćete dobiti sve vrste informacija o vašim tekućim paricijama.
Dosta ljudi se odlučuje da na prazan disk instalira Linux, a to obavljaju tako
što obrišu sve postojeće particije.
 |
VEOMA JE VAŽNO DA SNIMITE SVE VAŽNE PODATKE PRE NEGO ŠTO UNIŠTITE
PARTICIJE.
|
Ne postoji lak način za oporavak podataka iz obrisanih particija, tako da uvek
odradite backup pre igranja sa particijama.
Ako pogledate u tabelu sa informacijama o particijama videćete broj particije,
veličinu particije, i njen tip. Ima puno informacija, ali o tome za sada ne trebate
da brinete. Idemo da obrišemo sve te particije na tom drajvu da bismo kreirali
particije za Linux. Pokrenimo komandu d za brisanje
particija:
Command (m for help): d
Partition number (1-4): 1
|
Ovaj proces treba da se ponovi za svaku particiju. Posle brisanja spremni smo da
kreiramo Linux particije. Odlučili smo da kreiramo pariciju za root fajl sistem i
swap particiju. Postoji rat argumentima koji se vodi o tome koja je Unix šema za
particionisanja najbolja, tako da će vam mnogi korisnici neku preporučiti. Kao
minimum treba da kreirate jednu particiju za / i jednu za swap.
Vremenom ćete otkriti onaj metod koji vašim potrebama najviše
odgovara.
Ja koristim dve osnovne šeme za particionisanje. Prva je za desktop. Tu pravim 4
particije: /, /home, /usr/local, i swap. Na taj način mogu da reinstaliram ili
nadogradim celu instalaciju za / a da ne obrišem datoteke
sa podacima koji su u /home ili moje kompajlirane aplikacije
koje su u /usr/local. Za servere, često menjam /usr/local particiju sa /var particijom.
Različiti serveri skladište informacije na tim particijama i na taj način
ih odvajaju od / direktorijuma, čime se poboljšavaju
neke performanse. Za sada, ostaćemo na samo dve particije: / and swap.
Sada ćemo da kreiramo paricije sa n komandom:
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4):1
First cylinder (0-1060, default 0):0
Last cylinder or +size or +sizeM or +sizeK (0-1060, default 1060):+64M
|
Morete da budete sigurni da li da kreirate pirmarnu particiju. Prva particija će
da bude naš swap particija, fdisk programu ćemo saopštiti da kreira
primarnu particiju sa brojem 1. Počećemo od cilindra 0 a za krajnji cilindar
otkucaćemo +64M. Na taj način swap pariticiji će biti veličine od 64
megabajta. (Veličina swap particije treba da zavisi od količine RAM memeorije
koju imate. Postoji nepisano pravilo da veličina swap-a bude duplo veća od RAM
memorije.) Posle toga definišemo primarnu particiju broj 2 počevši od
prvog slobodnog cilindra pa do kraja drajva.
Command (m for help):n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4):2
First cylinder (124-1060, default 124):124
Last cylinder or +size or +sizeM or +sizeK (124-1060, default 1060):1060
|
Skoro smo gotovi. Potrebno je da promenimo tip prve particije u 82 (Linux swap).
Pritisnite t dabiste promenili tip, odaberite prvu
particiju, i pritisnite 82. Pre nego što zapišete
promene na disk, pogledajte još jednom na vašu novu tabelu particija.
Upotrebite p opciju u fdisk
komandi, da se prikaže tabela particija. Ako je sve uredu, otkucajte w da se zapišu promene na disk i završi sa fdisk komandom.
Kada ste kreirali particije, sve je spremno za instalaciju Slackware-a. Naredni korak
u instalacionom procesu je pokretanje setup(8) programa. Da
biste to i uradili, jednostavno otkucajte setup u promptu
školjke. Komanda setup je bazirana na sistemu menija koji
omogućava izbor paketa i konfigurisanje vašeg sistema.
Setup proces se odvija ovako: Prelazite kroz sve opcije setup
programa, redosledom kakav je u meniju. (Naravno, slobodno možete da primenite i
neki drugi redosled, ali su zato male šanse da sve bude dobro.) Stavke u meniju se
izabiraju upoterebom strelica za gore i dole na tastaturi, a izbor “Okay” i
“Cancel” dugmeta se vrši strelicama za levo i desno. Alternativno, svaka
opcije ima odgovarajuće taster, koji odgovara osvetljenom slovu u imenu opcije.
Opcije koje mogu da se biraju (obeležene sa [X]) se
uključuju pomoću razmaknice.
Naravno, sve je ovo objašnjeno u “help” odeljku setup komande.
Ako je ovo prvi put da instalirate Slackware, možda ćete pogledati na ekran
pomoći. On će vam dati opis svakog dela setup komande
(nešto smo i sami napisali, ali ne sa toliko angažovanja) i instrukcije za
navigaciju kroz ostatak instaliranja.
Ako vam je potrebana nekakav drugi raspored tastature (keymap) od “qwerty”
rasporeda koji se koristi u Sjedinjenim Državama, nastavite sa ovim odeljkom. U
njemu ćete naći jedan broj alternativnih rasporeda.
Ako ste kreirali swap particiju (vratite se na Section 3.3), ovaj odeljak vam daje mogućnost
da taj swap i omogućite. Swap particija će se automatski detektovati, a vi
ćete je selektovati, formirati i omogućiti.
Odeljak target (cilj) je mesto gde se vaše druge (ne-swap) particije formatirane
i mapirane sa tačkama montiranja sistema fajlova. Lista particija na vašem hard
disku će da se prikaže. Za svaku pariticiju, imaćete mogućnost da li
da je formatirate ili ne. U zavisnosti koji ste kernel koristili, možete se
odlučiti između reiserfs (podrazumevano), ext3, ext2, jfs, i xfs. Većina
ljudi koristi ili reiserfs ili ext3. U skorijoj budućnosti možda ćemo
videti podršku za reiserfs4 .
Prva opcija u ovom odeljku je izbor paricije na kojoj želite da instalirate
vaš root (/) sistem fajlova. Posle toga ste u
mogućnosti da mapirate ostale particije sa sistemom fajlova kojeg ste izabrali. (Na
primer, možda želite da treća particija, recimo /dev/hda3, bude namenjena za vaš početni (home)
direktorijum. Ovo je samo jedan primer; mapirajte particije prema vašim
zahtevima.)
Odeljak source (izvor) se odnosi na izbor medija sa koga nameravate da instalirate
Slackware. Trenutno ima četiri izvora sa kojih možete izvršiti
instalaciju. To su: CD-ROM, hard disk particija, NFS ili već montirani
direktorijum.
CD-ROM odeljak omogućava instaliranje sa CD-ROM-a. Ponudiće vam se opcija za
skeniranje prisustva CD-ROM drajva ili za izbor iz liste. Budite sigurni da vam se
Slackware CD nalazi u uređaju pre nego što počne skeniranje.
NFS odeljak se odnosi na instalaciju na mreži i o mrežnim informacijama
vašeg NFS servera. NFS server mora da bude unapred podešen. Takođe imajte
na umu da ne možete da koristite imena hostova, već morate da koristite IP
adrese i za mašinu na koju trebate da instalirate sistem i za NFS server (ne postoji
razrešivač /resolver/ imena na setup disku). Normalno, morate da koristite network.dsk disketu da bi postojala podrška za mrežni
kontroler.
Već montirani direktorijumi nudi najviše fleskibilnosti. Taj metod
možete da koristite za instalaciju sa stvari kakve su na primer: Jazz diskovi, NFS
montiranja preko PLIP-a, ili FAT sistem fajlova. Pre pokretanja setup-a montirajte
datotečni sistem na lokaciju koju ste izabrali, i posle koristite tu lokaciju.
Opcija select omogućava izbor serije softvera koju želite da instalirate. Te
serije su objašnjene u Section 3.2.1.
Imajte na umu da morate da instalirate A seriju da biste imali funkcionalni bazni sistem.
Sve ostale serije su opcione.
Pretpostavimo da ste prošli kroz “target”, “source”, i
“select” opcije. Opcija install vam
omogućava da izaberete pakete iz serija koje ste izabrali. Ako to niste uradili
bićete upitani da se vratite natrag, da kompletirate ostale sekcije setup programa.
Ova opcija vam omogućava izbor između šest različitih metoda za
instaliranje: full , newbie , menu , expert , custom i tag path .
Izborom opcije full instaliraće se svaki paket sa
svih serija softvera koje ste izabrali u “select” odeljku. Dalje ne morate
ništa da odgovarate. Ovo je najlakši instalacioni metod, pošto ne morate
da pravite nikakve odluke o tome šta treba da instalirate. Naravno, izborom ove
opcije treba vam dosta prostora na hard disku.
Sledeća opcija je newbie . Ovom opcijom se instaliraju
svi potrebni paketi iz izabranih serija. Za ostale pakete, javi će se prompt kod
koga možete da izaberete “Yes”, “No” ili “Skip”.
Izbor Yes ili No je očigledan, dok će izbor Skip (preskoči) odvesti na
sledeću seriju softvera. Pored toga videćete opis i potreban prostor za svaki
paket, što će vam pomoći u odluci da li vam je dati paket zaista potreban.
Preporučujemo izbor te opcije za nove korisnike, što će osigurati da
ću svi potrebni paketi biti instalirani. Ipak, ova opcija je malo sporija zbog
postavljanja pitanja.
Menu opcija je brža i više naprednija od newbie
opcije. Za svaku seriju se prikazuje meni, iz koga se mogu selektovati svi nepotrebni
paketi koji se nameravaju instalirati. Potrebni paketi se ne prikazuju u tom meniju.
Za malo naprednije korisnike, postoji i expert opcija.
Ovom opcijom imate potpunu kontrolu nad paketima koje nameravate da instalirate.
Možete da deselektujete pakete koji vam apsolutno nisu potrebni, i na taj način
da imate prilagođen sistem. Na drugu stranu, imate potpunu kontrolu nad onim
što treba da bude na vašem sistemu. Jednostavo izaberite pakete iz svake serije
koje želite da instalirate. To nije preporučljivo za nove korisnike.
Opcije custom i tag path su
isto tako za napredne korisnike. Preko ovih opcija možete da vršite instalaciju
koja je bazirana na ličnim tag datotekama koje ste vi kreirali u stablu
distribucije. Ovo je korisno kad treba brzo da se vrši instalacija na veliki broj
mašina. Za više informacija o korišćenju tag datoteka, pogledajte Section 18.4.
Posle izbora metoda instalacije, jedna od nekoliko stvari će da se dogodi. Ako
ste selektovali pun meni, ekran sa menijem će da se pojavi, dozvoljavajući vam
da selektujte pakete za instaliranje. Ako ste sve selektovali, paketi ću odmah
početi da se instaliraju. Ako ste selektovali newbie, paketi će biti
instalirani tek kada bude i jedan opcioni paket spreman.
Imajte na umu da je moguće premašiti slobodan prostor na disku dok
instalirate. Ako ste selektovali previše paketa, a da za njih nema mesta,
imaćete problema. Najbezbedniji način je da selektujete nešto sofvtera i
da ih dodate kasnije, kada se ukaže potreba. To se lako radi kada se koristi
Slackware-ov alat za menadžmet sa paketima. Za te informacije, pogledajte Chapter 18.
Sada pošto su paketi instalirani odeljak vezan za konfigurisanje vam
omogućava osnovno konfigurisanje sistema. Ono što ćete videti dosta zavisi
i od softvera koji ste instalirali. Ipak, ćete uvek videti sledeće:
Ovde ćete biti upitani da izaberete kernel koji želite da instalirate.
Možete da instalirate kernel sa boot diska koji koristite, sa Slackware CR-ROM-a,
ili sa druge diskete koju ste već ranije pripremili. Ili možete to da
presekočite, i u tom slučaju će se instalirati podrazumevani kerenel.
Pravljenje boot diska za kasniju upotrebu je verovatno dobra ideja. Imaćete
opciju za formatiranje diskete, a kasnije i za kreiranje jednog ili dva tipa boot
diskova. Prvi tip je opcija simple , jednostavno upisuje
kernel na disketu. Više fleksibilna (i veoma preporučljiva) je lilo opcija, koja će, naravno, kreirati LILO boot disk.
Pogledajte LILO u Section 7.1 za više informacija.
Naravno da možete jednostavno izaberati opciju continue, u
tom slučaju se neće napraviti boot disk.
Bićete upitani za informacije o modemu. Morate da odgovorite prilično
deteljno na to kakav modem imate i na kome je serijskom portu.
Naredne podsekcije u konfigurisanju se možda neće pojaviti, u zavisnosti da
li ste ili ne instalirali odgovarajuće pakete.
Ovo je stvarno jednostavno: bićete upitani u kojoj se vremenskoj zoni nalazite.
Ako radite po Zulu vremenu, stvarno nam je žao. Veoma dugačka lista u abecednom
poretku pretstavlja vrmenske zone.
U ovom pododeljku ćete jednostavno biti upitani o vrsti miša kojeg imate, i
da li želite da u toku butovanja bude omogućen gpm(8),
koji omogućava da miš radi i u konzoli.
Ovde ćete biti upitani da li da se sat računara podesi na Universal Time
Coordinated (UTC ili GMT). Kod većine PC-a to nije slučaj, tako da ćete
odgovoriti sa ne.
Ovde možete da izaberete font iz odgovarajuće liste konzolnih fontova.
Ovde ste upitani za instalaciju LILO-a ( LInux LOader; za više informacija
pogledajte Section 7.1 ).
Ako Slackware treba da bude jedini operativni sistem na vašem računaru,
opcija simple će biti dobar izbor. Ako treba da se
kroristi dualno startovanje, opcija expert je bolji izbor. Za
više informnacija o dualnom startovanju pogledajte Section
7.3. Treća opcija, do not install , se ne
preporučuje ukoliko znate šta radite i imate dobar razlog da ne istalirate
LILO. Ako ste izabrali expert instaliranje, imaćete mogućnost da izaberete gde
da stavite LILO. Možete ga smestiti u MBR (Master Boot Record) vašeg diska, u
super blok root particije, ili na disketu.
Podsekcija vezana za mrežu je u stvari netconfig
komanda. Za više informacija pogledajte Section 5.1.
Ova podsekcija vam daje mogućnost izbora podrazumevanog window menadžera za
X. Za detaljnije informacije o X i windows menadžerima pogledajte Chapter 6.
Nebitno koje ste pakte instalirali, zadnja stvar koju morate da konfigurišete je
root lozinka. Iz bezbednosnih razloga, to bi bio dobar izbor;
mada, kao i za skoro ostale stvari u Slackware-u, na vama je odluka.
Chapter 4 Konfiguracija
sistema
Pre nego što budete u mogućnosti da vršite konfiguraciju
složenijih delova vašeg sistema, ne bi bila loša ideja da naučite
kako je sistem organizovan i koje se komande mogu koristiti za pretragu nad datotekama i
programima. Isto je tako dobro znati kako se vrši kompajliranje kernela tako da on
odgovara vašim potrebama. Ovo poglavlje će vas upoznati sa organizacijom
sistema i njegovim konfiguracionim datotekama. Posle toga ide se dalje ka složenijim
aspektima u konfiguraciji sistema.
Bitno je da razumete kako Linux sistem objedinjuje svoje komponente, da biste kasnije
prešli na dublje razumevanje raznih aspekata u konfigurisanju. Linux sistem se
značajno razlikuje od DOS-a, Windows-a, ili Macintosh sistema (izuzetak je Unix
baziran Mac OS X sistem). Pored toga ovi odeljeci će vas upoznati sa suštinom
kako da lako konfigurišete sistem prema vašim potrebama.
Prva uočljiva razlika između Slackware Linux-a i DOS odnosno Windows sistema
je sistem fajlova. Kao prvo, mi ne koristimo slova za označavanje različitih
particija. Pod Linux-om, postoji samo jedan glavni direktorijum. Možete ga
poistovetiti sa C: drajvom u DOS-u. Svaka particija
vašeg sistema je montirana na taj glavni direktorijum. To je neka vrsta uvek
proširivog hard diska.
Glavni direktorijum zvaćemo root (korenski) direktorijum, a on je obeležen
kao kosa crta ili slash (/). Ovaj koncept možda izgleda
čudno, ali stvarno olakšava život u onim slučajevima kada je potrebno
dodati još prostora. Na primer, recimo da smo popunili drajv na kome se nalazi /home direktorijum. Većina ljudi u toku instalacije
Slackware-a ostavlja veliki root drajv. Pošto se particija može montirati na
bilo koji direktorijum, jednostavno možete da odete u prodavnicu, izaberete novi
hard disk i montirate ga kao /home. Na ovaj način
dobićete više prostora na vašem sistemu, bez potrebe da radite razna
kopiranja.
Dole ćete naći opis Slackware direktorijuma najvišeg nivoa.
- bin
-
Esencijalni korisnički programi se nalaze ovde. Oni predstavljaju minimum
programa koji su potrebni korisniku da bi koristio sistem. Stvari kao školjka i
komande sistema fajlova (ls, cp, itd.)
se nalaze tu. Direktorijum /bin obično ostaje nepromenjen
posle instalacije. Ako se i promeni to su uglavnom nadogradnje paketa.
- boot
-
Fajlovi koji se koriste od strane Linux Loader-a (LILO). Taj direktorijum se
obično malo menja posle instalacije sistema. Kernel se tu nalazi od Slackware 8.1. U
ranijim izdanjima Slackware-a, kerenel se jednostavno nalazio u / direktorijumu, ali sadašnja je praksa da se kernel i njemu
pripadajući fajlovi tu stavljaju radi pojednostavljivanja dualnog startovanja.
- dev
-
Sve se u Linux-u tretira kao fajl, čak i hardverski uređaji kao što su
serijski portovi, hard diskovi, i skeneri. Da bi se moglo pristupiti tim uređajima,
specijalni fajl zvani čvor uređaja (device node) mora da postoji. Svi
čvorovi uređaja se nalaze u /dev direktorijumu.
Uverićete se da to važi za mnoge na Unix-olike operativne sisteme.
- etc
-
Ovaj direktorijim sadrži konfiguracione fajlove. Sve od X Window konfiguracionih
fajlova pa do skripti za pokretanje. Sistemski administrator se povremeno druži sa
ovim direkotrijumom .
- home
-
Linux je višekorisnički operativni sistem. Svaki korisnik na sistemu ima
svoj nalog i jedinstveni direktorijum za lične fajlove. Taj direktorijum se zove
korisnički ili početni (home) direktorijum. Direktorijum /home je podrazumevana lokacija za smeštanje direktorijuma
korisnika.
- lib
-
Sistemske biblioteke koje su potrebne za bazičene operacije sistema se nelaze
ovde. C bublioteke, dinamički loader, ncurses biblioteka, i moduli kernela pored
ostalih stvari se isto ovde nalaze.
- mnt
-
Ovaj direktorijum sadrži privremene tačke montiranje za hard diskove ili
promenjive uređaje. Tu se mogu naći tačke montiranja za vaš CD-ROM
ili floppy drajv.
- opt
-
Opcioni softrerski paketi. Ideja na kojoj se zasniva koncept /opt direktorijuma leži u tome da se svaki paket softvera
instalira u /opt/software-package, i na taj način se
pojednostavljuje kasnije deinstaliranje. Slackware distribuira neke stvari u /opt direktorijum (kao što je KDE u /opt/kde), ali i vi ste slobodni da sami dodate ono što
želite u taj direktorijum.
- proc
-
Ovo je jedinstveni direktorijum. On nije stvarno sastavni deo sistema fajlova,
već je virtualni fajl sistem koji omogućava pristup informacijama kernela.
Razne inforamacije koje kernel želi da vi znate se saopštavaju preko fajlova u
/proc direktorijumu. Isto tako i sami možete da
šaljete informacije kernelu preko nekog od tih fajlova. Pokušajte cat /proc/cpuinfo.
- root
-
Administartor sistema još se zove i root sistema. root-ov početni direktorijum se nalazi na lokaciji /root umesto u /home/root. Razlog za to
je jednostavan. Šta ako /home i / nisu na istim particijama i ako se /home ne može montirati? root
normalno može da se loguje i da popravi problem. Ako je fajl sistem koji sadrži
njegov početni direktorijum oštećen, biće otežano logovanje.
- sbin
-
Esecijalni programi koje pokreće root i koji se
izvršavaju u toku butovanja se čuvaju ovde. Obični korisnici ne
pokreću programe u tom direktorijumu.
- tmp
-
Privremena lokacija za skladištenje. Svi korisnici imaju pristup kako i za
čitanje i pisanje u tom direktorijumu.
- usr
-
Ovo je veliki direktorijum u Linux sistemu. Skoro sve ostalo se nalazi ovde, programi,
dokumentacija, izvorni kod kernela i X Windows sistem. Ovo je direktorijum u koji će
se najverovatnije instalirati programi.
- var
-
Dnevnik (log) fajlovi sistema, keš podaci i fajlovi zaključavanja programa
se ovde čuvaju. Ovaj direktorijum je za često menjanje podataka.
Sada treba da imate dobar osećaj da znate šta se nalazi u kom direktorijmu.
Za više informacija o pregledu fajl sistema pogledajte hier(7) man starnu.
Sledeći odeljak će vam pomoći u potrazi za određenim datotekama, tako
da ne morate to da radite ručno.
Sada znate šta svaki glavni direktorijum sadrži, ali to vam doista ne
pomaže u pretrazi. Mislim, trebali biste da pretražujete direktorijume na
efikasniji način. Postoje četiri glavna načina za pretraživanje
fajlova u Slackware-u.
Prvi način je korišćenje which(1) komande. which se obično koristi za brzo lociranje programa. Ona
jednostavno pretražuje vaš PATH i vraća prvu
instancu i njoj odgovarajuću putanju direktorijuma. Evo primera:
Ovde vidite da se komanda bash nalazi u /bin direktorijumu. Ovo je veoma ograničena komanda pošto
pretražuje samo vaš PATH.
whereis(1) komanda radi slično kao i which komanda, ali ona pretražuje i man strane i izvorne
fajlove. A whereis koja traži bash
bi vratila ovo:
% whereis bash
bash: /bin/bash /usr/bin/bash /usr/man/man1/bash.1.gz
|
Ova komanda ne samo da govori gde se nalazi dati program, već i pokazuje gde se
nalazi odgovarajuća dokumentacija. Još uvek je ova komanda ograničena.
Šta ako hoćete da pronađete određeni konfiguracioni fajl? Komande which ili whereis vam neće
pomoći.
find(1) komanda omogućava pretragu nad fajl sistemom
korišćenjem bogate kolekcije izraza za pretragu. Korisnici mogu da specifiraju
pretragu datoteka u odnosu na džokere, opseg vremena modifikacije ili kreiranja ili
u odnosu na neke druge napredne osobine. Na primer, da bi se pretraživala
podrazumevana xinitrc datoteka na sistemu, treba zadati
sledeću komandu:
% find / -name xinitrc
/var/X11R6/lib/xinit/xinitrc
|
Izvršavanje komande find traje prilično, pošto
se prolazi od korena stabla direktorijuma. A ako se ta komanda pokrene pod
ovašćenjima običnog korisnika, pojaviće se poruke o greškama
zabranjenog pristupa ka diretorijumima koje samo root korisnik
može da gleda. Ipak će find komanda pronaći
našu datoteku, što je sasvim u redu. Ali bi valjalo to biti malo
brže...
Komanda slocate(1) pretražuje čitav datotečni
sistem, baš kao što to radi find komanda, ali se ne pretražuje neposredno
aktuelni datotečni sistem već odgovarajuća baza podataka. Baza podataka je
podešna tako da se automatski ažurira svako jutro, tako da imate donekle
svež listing datoteka na vašem sistemu. Možete ručno da pokrenete updatedb(1) da ažurirate slocate bazu podataka (pre pokretanja
komande updatedb morate biti root
korisnik. Evo primera slocate komande u akciji:
% slocate xinitrc # ne moramo biti root
/var/X11R6/lib/xinit/xinitrc
/var/X11R6/lib/xinit/xinitrc.fvwm2
/var/X11R6/lib/xinit/xinitrc.openwin
/var/X11R6/lib/xinit/xinitrc.twm
|
Dobićete više nego što ste tražili, i isto tako dosta brzo. Sa tim
komandama, bićete u stanju da pronađete ono što ste nameravali na
vašem Linux sistemu.
Fajlovi za inicijalizaciju sistema se nalaze u /etc/rc.d
direkotrijumu. Slackware koristi BSD stil za svoje inicijalne datoteke. Ova BSD
šema, za razliku od System V init skripti, teža je za konfigurisanje ukoliko se
ne koriste programi dizajnirani za tu namenu. Kod BSD init skripti, svakom runlevel-u
odgovara jedan rc fajl. U System V šemi, svaki runlevel ima vlasititi direktorijum
koji sadrži brojne init skripte. Na taj način imamo organizovanu strukturu koja
se lako održava.
Postoji nekoliko kategorija fajlova za inicijalizaciju. To su fajlovi za podizanje
sistema, runlevel-i, fajlovi za pokretanje mreže, i fajlovi koji obezbeđuju
System V kompatibilnost. Po tradiciji, nabacaćemo sve ostalo u neku drugu
kategoriju.
Prvi program na Slackware-u koji se pokreće, ako se izuzme Linux kernel, je init(8). Ovaj program čita /etc/inittab(5) fajl da vidi kako da pokrene sistem. Pokreće
skript /etc/rc.d/rc.S da pripremi sistem pre nego što ode
u izabran runlevel. Datoteka rc.S omogućava virualnu
memoriju, montira fajl sistem, čisti određene log direktorijume, inicira Plug
and Play uređaje, učitava module kernela, konfiguriše PCMCIA uređaje,
podešava serijske portove i pokreće System V init skriptove (ako ih
pronađe). Očigledno, rc.S skript ima puno toga da
odradi, ali ima nešto skripti u /etc/rc.d direktorijumu
koje rc.S poziva da mu pomognu da obavi posao:
- rc.S
-
Ovo je aktuelni skript za iniciranje sistema.
- rc.modules
-
Učitava module kernela. Stvari kao što su mrežna kartica, PPP
podrška i druge stvari se ovde učitavaju. Ako ovaj skript pronađe rc.netdevice, takođe će ga pokrenuti.
- rc.pcmcia
-
Isprobava konfiguracije za sve PCMCIA uređaje koji su možda na vašem
sistemu. Ovo je najkorisnije za korisnike laptop računara koji verovatno imaju
PCMCIA modeme, odnosno mrežne karte.
- rc.serial
-
Konfiguriše vaš serijski port pokretanjem odgovarajuće setserial komande.
- rc.sysvinit
-
Traži System V init skripte namenjene odgovarajućem runlevel-u i
pokreće ih. O tome je detaljnije diskutovano u narednom odeljku.
Kada je inicijalizacija sistema završena, init prelazi
na runlevel inicijalizaciju. Runlevel opisuje stanje u kojem će se vaša
mašina naći. Zvuči izlišno? Dakle, runlevel govori init-u da li sistem da prihvati višekorisničko
prijavljivanje ili samo jednog korisnika, da li ili ne želite mrežne servise
ili ćete koristiti X Window sistem ili agetty(8) da rukuje
prijavljivanjima. Dole navedene datoteke definišu različite runlevel-e na
Slackware Linux-u.
- rc.0
-
Zaustavljanje sistema (runlevel 0). Podrazumevano, to je link ka rc.6 datoteci.
- rc.4
-
Višekorisničko pokretanje (runlevel 4), ali u X11 sa KDM, GDM, odnosno XDM
kao login menadžerom.
- rc.6
-
Restartovanje sistema (runlevel 6).
- rc.K
-
Pokretanje u modu jednog korisnika (runlevel 1).
- rc.M
-
Višekorisnički mod (runlevel-i 2 i 3), ali sa standardnom, tekstualno
baziranom, logovanju. Ovo je podrazumevani runlevel u Slackware-u.
Runleveli 2, 3 i 4 pokreću mrežne servise. Sledeći fajlovi su odgovorni
za inicijalizaciju mreže:
- rc.inet1
-
Kreiran netconfig komandom, ovaj fajl je odgovoran za
konfigurisanje aktuelnog mrežnog inerfejsa.
- rc.inet2
-
Pokreće se posle rc.inet1 a startuje osnovne
mrežne servise.
- rc.atalk
-
Pokreće AppleTalk servis.
- rc.httpd
-
Pokreće Apache web server. Kao i nekoliko drugih rc skriptova, ovaj skript se
može koristiti za stopiranje i ponovno startovanje datog servisa. rc.httpd uzima argumenat za stopiranje, startovanje, odnosno
restart.
- rc.news
-
Pokreće news server.
System V init kompatibilnost je uvedena u 7.0 verziji Slackware-a. Mnoge druge Linux
distribucije koriste ovaj stil umesto BSD stila. Ukratko, svakom runlevel-u je dodeljen
poddirektorijum za odgovarajuće init skripte, za razliku od BSD stila gde ima po
jedan skript za svaki runlevel.
rc.sysvinit skipt će da pretražuje /etc/rc.d direktorijum da bi se uverio da li postoje System V init
skriptovi i ukoliko su prisutni da ih pokrene u odgovarajućem runlevelu. Ovo
može biti od koristi za neke komercijalne softverske pakete koji ga koriste.
Skripte koje su izlistane dole su ostali skripte za inicijalizaciju. Njih uglavnom
pokreću neke od onih glavnih skripti koje su malopre opisane. Sve što je
potrebno da uradite je da uredite njihov sadržaj.
- rc.gpm
-
Pokreće servis za miša, generalne namene. Dozvoljava da kopirate i prenosite
mišem u Linux konzoli. Ponekad, gpm može da pravi probleme kada je pokrenut X
windows. Ukoliko iskusite takve probleme sa mišom pod X okruženjem,
pokušajte da stopirate gpm server.
- rc.font
-
Učitava vaš izabrani font namenjen za konzolu.
- rc.local
-
Sadrži sve specifične skripte vašeg sistema. Ova datoteka je prazna
posle sveže instalacije i namenjena je za lokalno administriranje. Ovaj skript se
pokreće na kraju, posle svih ostalih skirpti koji treba da se izvše.
Da biste omogućili skriptu, sve što je potrebno je da dodate dozvolu za
izvršavanje sa chmod komandom. Da biste onemogućili
skriptu, uklonite dozvolu za izvršavanje sa date datoteke. Za više informacija
o chmod komandi, pogledajte Section 9.2.
Kernel je deo operativnog sistema koji omogućava pristup hardveru, koji vrši
kontrolu procesa i sveobuhvatnu kontrolu sistema. U kernelu se nalazi podrška za
vaš harver, tako da je izbor pravog kernela za vaš sistem važan korak.
Slackware nudi više nego tuce prekompajliranih krenela koje možete da
izaberete. Svaki od njih uključuje set standardnih i specifičnih drajvera. Bilo
da koristite jedan od prekompajliranih kernela ili da gradite kernel iz izvornog koda,
vodite računa da li vaš krenel podržava hardver koji imate.
Prekompajlirani Slackware kerneli se nalaze u /kernels
direkotirijumu Slackware CD-ROM-a ili na FTP sajtu u glavnom Slackware direktorijumu.
Dostupni kerneli se menjaju kako izlaze nova izdanja, tako da je dokumentacija koja se
nalazi u tom direktorijumu adekvatan i merodavan izvor informacija. /kernels direktorijum ima poddirektorijume za svaki postojeći
kernel. Ti podirektorijumi imaju isto ime kao i njihovi propratni boot diskovi. U svakom
poddirektorijumu ćete naći sledeće datoteke:
Da biste koristili kernel, kopirajte System.map i config datoteke u vaš /boot
direktorijum, a kernel image kopirajte i preimenujte kao /boot/vmlinuz fajl. Pokrenite /sbin/lilo(8) da instalirate LILO za novi kernel, i na kraju
restartujte sistem. To je sve što se tiče instaliranja novog kernela.
Kerneli čije se ime završava sa .i su IDE kerneli. Oni ne sadrže SCSI
podršku. Kerneli čije se ime završava sa .s su SCSI kerneli. Oni
sadrže obe podrške, IDE podršku kao u .i kerneli, plus SCSI
podršku.
Pitanje “Da li treba da kompajliram krenel za moj sistem?” često
postavljaju novi korisnici. Krajnji odgovor je možda. Postoji nekoliko situacija
kada se pribegava kompajliranju kernela prema vlastitim potrebama. Većina korisnika
koristi prekompajliran kernel sa učitljivim modulima da bi dobili potpun operativan
sistem. Možda želite da kompajlirate kernel pošto vršite nadogradnju
sa jedne verzije na drugu koja trenutno nije poržana od strane Slackware-a, ili
želite da zakrpite izvorni kod kernela da biste omogućili da specijalna
hardverska komponeneta proradi, jer nema podršku u kernelu koji je došao.
Takođe, mnogi korisnici su primetili da je kernel kompajliran po vlastitim potrebama
brži. I za vas će možda biti korisno da kompajlirate kernel sa
optimizacijama za specifični procesor na vašoj mašini.
Izgradnja kernela i nije tako teška. Prvi korak je da vidite da li je izvorni kod
kernela instaliran. Uverite se da su instalirani svi paketi iz K serije u toku
instaliranja sistema. Isto tako osigurajte se da su instalirani paketi iz D serije,
posebno C kompajler, GNU make, i GNU binutils. Uopšteno, dobra je ideja da ste
instalirali sve pakete iz D serije ako kasnije planirate bilo kakvu vrstu razvoja
programa. Isto tako možete da preuzmete poslednji izvorni kod kernela sa http://www.kernel.org/mirrors.
% su -
Password:
# cd /usr/src/linux
|
Prvi korak je da dovedete kod kernela u osnovno stanje (base state). Unećete
sledeću komandu da to odradi (možete ako želite da napravite kopiju .config fajla pošto će ga navedena komanda obrisati bez
upozorenja):
Sada možete da konfigurišete kernel za vaš sistem. Sadašnji kernel
koristi tri načina za svoje konfigurisanje. Prvi način je baziran na tekstu sa
sistemom pitanja i odgovora. Odgovara se na gomilu pitanja nakon čega se
izgrađuje konfiguraciona datoteka. Problem sa ovim metodom je da ako ste nešto
pogrešili morate sve ispočetka. Metod koji većina ljudi preferira se
zasniva na korišćenu menija. Na kraju, postoji konfiguracinoni alat koji
koristi X sistem. Izaberite onaj koji želite, zadavanjem odgovarajuće
komande:
# make config (tekstualna pitanje&odgovor verzija)
# make menuconfig (tekstulana verzija sa menijima)
# make xconfig (X-bazirana verzija, budite sigurni da ste u X-u prvo)
|
Za nove korisnike izbor bi najverovatnije bio menuconfig zbog
lakoće korišćenja. Ekrani pomoći objašnjavaju različite
oblasti kernela. Posle konfigurisanja kernela, izađite iz programa za
konfigurisanje. Na taj način ćete stvoriti konfiguracione fajlove. Sada
možemo da pripremimo stablo sa izvornim kodom kernela za izgradnju:
Sledeći korak je kompajliranje kernela. Prvo pokušajte sa opcijom bzImage:
To može da potraje, u zavisnosti od brzine procesora. Dok traje kompajliranje,
videćete poruke koje šalje kompajler. Posle izgradnje slike kernela, možda
ćete želeti da izgađujete svaki deo koji je markiran kao modularan.
Sada možemo da instaliramo kernel i module koje ste kompajlirali. Da bi se to
uradilo na Slackware sistemu, koriste se sledeće komande:
# mv /boot/vmlinuz /boot/vmlinuz.old
# cat arch/i386/boot/bzImage > /boot/vmlinuz
# mv /boot/System.map /boot/System.map.old
# cp System.map /boot/System.map
# make modules_install
|
Sada morate da editujete datoteku /etc/lilo.conf tako da u
nju dodate stavku koja se odnosi na pokretanje vašeg starog kernela, što je
potrebno za slučaj da nešto ne krene dobro. Posle toga, pokrenite /sbin/lilo komandu da instalirate novi boot blok. Sada možete
da restartujete sistem.
Kompajliranje 2.6 kernela se dosta malo razlikuje od kompajliranja 2.4 ili 2.2
kernela, ali je ipak važno da shvatite te razlike pre nego što krenete u posao.
Više nije potrebno da pokrećete make dep i make clean komande. Takođe, poruke koje prate proces
kompilacije kernela 2.6 serije nisu puno opširne. Na taj način je proces
izgradnje lako razumljiv, mada sa pomalo oskudnim propratnim informacijama. Ako se javlja
problem u izgradnji kernela, obavezno se preporučuje uključivanje ispisivanja
poruka (verbosity). Jednostavno dodajte V=1 opciju kada
počnete izgradnju. Na ovaj nači možete da imate opširan dnevnik (log)
informacija na osnovu koga programer kernela ili vaš geek prijatelj vam može
pomoći u rešavanju problema.
Kernel moduli su drugo ime za upravljače uređaja koji se mogu umetnuti u
već pokrenut kerenel. Oni vam omogućavaju da proširite hardversku
podršku bez potrebe da vršite izbor novog kerela ili da lično vršite
kompajliranje.
Modili se isto tako mogu učitavati ili izbacivati u bilo koje vreme čak i
kada je sistem pokrenut. Na ovaj način administrator sistema jednostavo vrši
dogradnju određenih drajvera. Novi moduli se mogu kompajlirati, stari ukloniti, i
novi učitati bez potreba za restartom mašine.
Moduli su smešteni u datoteci /lib/modules/verzija kernela vašeg sistema. Oni mogu biti
učitani u toku pokretanja preko rc.modules datoteke. Ova
datoteka je dosta dobro komentarisana i ima primera koji se odnose na važne
hardverske komponente. Da biste videli listu modula koji su trenutno aktivni koristite
lsmod(1) komandu:
# lsmod
Module Size Used by
parport_pc 7220 0
parport 7844 0 [parport_pc]
|
Možete videti da ovde postoji samo modul za paralelni port. Da biste uklonili
modul, koristite komandu rmmod(1). Moduli se mogu učitati
komandame modprobe(1) i insmod(1).
Korišćenje modprobe komande je bolje pošto
pokušava da učitava i module zavisnosti.
Mnogo korisnika nikada nije učitala ili uklonila ručno neki modul. Oni
koriste kernelov autoloader za upravljanje modulima. Podrazumevano, Slackware dolazi sa
kmod opcijom u svojim kernelima. . kmod je opcija kernela koja omogućava da kernel automatski
učitava module onda kada se javlja potreba. Za više informacija o kmod opciji, i tome kako se ona konfiguriše, pogledajte /usr/src/linux/Documentation/kmod.txt fajl. Potrebno je da imate
paket sa izvornim kodom kernela, odnosno da ga preuzmete sa http://kernel.org.
Više informacija se može naći u man stranama za svaku od ovih komadi,
plus u rc.modules fajlu.
Chapter 5
Konfiguracija mreže
Kada prvi put instalirate Slackware, instalacioni program pozove netconfig program. netconfig pokušava
da izvrši sledeće funkcije za vas:
-
Pita vas ime vašeg računara i ime domena za vaš računar.
-
Daje vam kratko objašnjenje raznih vrsta šema za adresiranje, kaže kada
treba da se koriste i pita vas koju šemu IP adresiranja želite da koristite za
podešavanje vaše mrežne kartice:
-
Statička IP
-
DHCP
-
Loopback
-
Onda vam nudi da pronađe mrežne kartice koje će podesiti.
netconfig će uopšteno odraditi 80% posla
podešavanja i konfigurisanja vaše LAN mrežne konekcije ako mu dopustite.
Obratite pažnju da vam ja jako savetujem da pregledate konfiguracioni fajl iz
nekoliko razloga:
-
Nikada ne biste trebali da verujete programu za podešavanje koji konfiguriše
vaš računar. Ako koristite program za podešavanje, trebali biste
lično pregledati konfiguraciju.
-
Ako i dalje učite upravljanje Slackware i Linux sistemom, čitanje ispravne
konfiguracije može biti od pomoći. Makar ćete znati kako konfiguracija
treba da izgleda. Ovo će vam dozvoliti da ispravite probleme usled pogrešne
konfiguracije sistema kasnije u budućnosti.
Pošto ste odlučili da želite dovesti svoju Slackware mašinu na
neku vrstu mreže, prva stvar koja vam je potrebna jeste Linux kompatabilna
mrežna kartica. Moraćete malo da obratite pažnju kako biste bili sigurni
da je kartica zaista Linux kompatabilna (molim vas pogledajte Projekat Dokumentacije
Linux-a i/ili dokumentaciju kernela radi informacije o trenutnom statusu vaše
predložene mrežne kartice). Kao opšto pravilo, verovatno ćete biti
prijatno iznenađeni brojem mrežnih kartica koje su podržane pod nešto
modernijim kernelima. Pošto smo to naglasili, ipak ću predložiti da se
obratite nekoj od mnogih listi hardvera kompatibilnog sa Linux-om (kao što su Linkovi
hardverske kompatibilnosti grupe GNU/Linux početnika i Hardverski HOWTO
Projekta Dokumentacije Linux-a) koje su dostupne na Internetu pre nego što
kupite karticu. Malo vremena provedenog u istraživanju vam može sačuvati
dane ili čak nedelje za pokušaje podešavanje kartice koja čak
uopšte nije kompatibilna sa Linux-om.
Kada posetite liste Linux hardverske kompatibilnosti koje su dostupne na Internetu ili
pogledate dokumentaciju za kernel instaliranu na vašoj mašini, biće mudro
da zabeležite koji kernel modul treba da koristite radi podrške vašoj
mrežnoj kartici.
Kernel moduli koji treba da budu startovani pri startovanju sistema se učitavaju
iz fajla rc.modules u /etc/rc.d il
pomoću kernelovog automatskog učitavanja modula koje se startuje preko /etc/rc.d/rc.hotplug. Podrazumevani fajl rc.modules uključuje odeljak uređaja za mrežu. Ako
otvorite rc.modules i pogledate u tu sekciju, primetićete
da ona prvo proverava izvršni fajl rc.netdevice u /etc/rc.d/. Ovu skripta biva napravljena ukoliko setup uspešno pronađe vaše mrežne uređaje
tokom instalacije.
Ispod tog “if” bloka se nalazi lista mrežnih uređaja i modprobe
linija,sve zakomentarisane. Pronađite vaš uređaj i skinite oznaku za
komentar sa odgovarajuće modprobe linije, pa onda snimite fajl. Izvršavanje rc.modules kao root bi sada trebalo da
učita drajver za vaš mrežni uređaj (kao i bilo koji drugi modul koji
je izlistan, a nije zakomentarisan). Primetite da neki moduli (kao što je ne2000
drajver) zahtevaju parametre; budite sigurni da ste izabrali ispravnu liniju.
Ovaj naslov podrazumeva sve interne PCI i ISA mrežne kartice. Drajveri za ove
kartice se pružaju preko kernelovih modula koji mogu da se učitavaju, kao
što je objašnjeno u prethodnom pasusu./sbin/netconfig
bi trebao da pronađe vašu karticu i uspešno podesi vaš rc.netdevice fajl. Ako se ovo ne desi, najverovatnije modul koji
pokušavate da učitate za datu karticu nije odgovarajući (nije
nečuveno da različite generacije istog modela kartice od nekih
proizvođača zahtevaju različite module). Ukoliko ste sigurni da je modul
kojeg pokušavate da učitate onaj pravi, sledeće što treba da
razmotrite je dokumentacija za taj modul, kako biste otkrili da se možda ne
zahtevaju posebni parametri tokom učitavanja modula.
Kao i LAN kartice, modemi mogu doći sa raznim opcijama povezivanja sa
računarom. Sve do nedavno, većina modema su bili 8 ili 16-o bitne ISA kartice.
Uz trud Intela i skoro svih proizvođača matičnih ploča ISA bas je u
potpunosti izbačen, pa je sada normalno da su većina modema ili spoljni
(eksterni) koji se povezuju na serijski ili USB port, ili da su interni PCI modemi.
Ukoliko želite da vaš modem radi sa Linux-om, VEOMA je važno istražiti kakav je modem kojeg
želite da nabavite, posebno ako razmatrate da uzmete PCI modem. Mnogi, ako ne i svi,
PCI modemi dostupni na rafovima prodavnica su WinModemi. WinModemu nedostaje nešto
osnovnog hardvera na samoj pločici modema: fukncije koje obavlja ovaj hardver se
prebacuju na glavni procesor pomoću drajvera za modem i Windows operativnog sistema.
Ovo znači da oni nemaju standardni serijski interfejs kojeg PPPD očekuje da
vidi kada pokušava da pozove vašeg Internet provajdera.
Ako želite da bude apsolutno sigurni da će modem kojeg ćete kupiti
raditi u Linux-u, uzmite spoljni hardverski modem koji se povezuje na serijski port
vašeg PC-ja. Ovi garantovano rade bolje i biće manji problem za instaliranje i
održavanje, iako im je potrebno spoljno napajanje i često su skuplji.
Postoji nekoliko Internet sajtova koji pružaju drajvere i podršku za
podešavanje WinModema. Neki korisnici su prijavili kako su uspešno
konfigurisali i instalirali drajvere za razne WinModeme, uključujući tu Lucent,
Conexant i Rockwell čipsete. Pošto potreban softver za ove uređaje nije
uključen kao deo Slackware-a, i razlikuje se od drajvera do drajvera, nećemo
detaljno pričati o njima.
Kao deo vaše Slackware instalacije ponuđena vam je prilika da instalirate
pcmcia paket (u “A” seriji paketa). Ovaj paket u sebi sadrži aplikacije
i fajlove koji su podrebni za rad sa PCMCIA karticama pod Slackware-om. Važno je
zapamtiti da pcmcia paket instalira samo opšti softver koji je potreban za rad sa
PCMCIA karticama pod Slackware-om. On NE instalira nijedan drajver ili modul. Dostupni
drajveri i moduli će biti u /lib/modules/`uname -r`/pcmcia
direktorijumu. Možda ćete morati malo da eksperimentišete kako biste
otkrili koji će modul raditi sa vašom mrežnom kartom.
Moraćete urediti /etc/pcmcia/network.opts (za Ethernet
kartice) ili /etc/pcmcia/wireless.opts (ukoliko imate
bežičnu mrežnu karticu). Kao i većina Slackware konfiguracionih
fajlova, i ova dva imaju dobre komentare i trebalo bi da je lako odrediti koje promene
treba da se naprave.
Do ovog trenutka, vaša mrežna kartica bi trebala biti fizički
instalirana u vaš računar i svi potrebni kernelovi moduli bi trebalo da su
učitani. Još uvek nećete moći da komunicirate preko vaše
mrežne kartice, ali sve informacije o mrežnom uređaju se mogu dobiti
pomoću ifconfig -a.
# ifconfig -a
eth0 Link encap:Ethernet HWaddr 00:A0:CC:3C:60:A4
UP BROADCAST NOTRAILERS RUNNING MULTICAST MTU:1500 Metric:1
RX packets:110081 errors:1 dropped:0 overruns:0 frame:0
TX packets:84931 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:114824506 (109.5 Mb) TX bytes:9337924 (8.9 Mb)
Interrupt:5 Base address:0x8400
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:2234 errors:0 dropped:0 overruns:0 frame:0
TX packets:2234 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:168758 (164.8 Kb) TX bytes:168758 (164.8 Kb)
|
Ako biste samo ukucali /sbin/ifconfig bez sufiksa -a , ne biste videli interfejs eth0,
pošto vaša mrežna kartica još uvek nema validnu IP adresu ili
rutu.
Iako postoji mnogo različitih načina da se podesi mreža, svi oni se
mogu podeliti na dva tipa: statički i dinamički. Statičke mreže se
podešavaju tako da svaki nod (geek izraz za stvar sa IP adresom) uvek ima istu IP
adresu. Dinamičke mreže se podešavaju tako da se IP adrese nodova
kontrolišu od strane jednog servera koji se zove DHCP server.
DHCP (akronim od Dynamic Host Configuration Protocol), je način na koji IP adresa
može biti određena računaru prilikom startovanja. Kada se pokrene DHCP
klijent, on onda šalje zahtev
na lokalnu mrežu koji je namenjen DHCP serveru da mu dodeli IP adresu. DHCP server ima skup (ili
opseg) IP adresa koje su dostupne.
Server će odgovoriti na ovaj zahtev sa IP adresom iz skupa, zajedno sa vremenom izdavanja (lease time). Jednom
kada vreme izdavanja za datu IP adresu istekne, klijent mora opet da kontaktira server i
da ponovi pregovor.
Klijent će prihvatiti IP adresu od servera i podesiće zahtevani interfejs sa
tom IP adresom. Međutim, postoji jedan zgodan trik kojeg DHCP klijenti koriste
prilikom pregovora za IP adresu koja će im biti dodeljena. Klijent će zapamtiti
poslednju dodeljenu IP adresu, i tražiće da mu server opet dodeli poslednju
dodeljivanu IP adresu opet prilikom pregovora. Ako je moguće, server će to
uraditi, ali ako nije, dodeljuje se nova adresa. Pa tako, pregovor liči na
sledeći razgovor:
Klijent: Ima li DHCP server dostupan na mreži?
Server: Da, ima. Ovde sam.
Klijent: Meni treba IP adresa.
Server: Možeš uzeti 192.168.10.10 na 19200 sekundi.
Klijent: Hvala.
Klijent: Ima li DHCP server dostupan na mreži?
Server: Da, ima. Ovde sam.
Klijent: Meni treba IP adresa. Poslednji put kad smo
razgovarali, dobio sam 192.168.10.10;
Mogu li je dobiti opet?
Server: Da, možeš (ili Ne, ne možeš: uzmi 192.168.10.12 umesto te).
Klijent: Hvala.
DHCP klijent u Linux-u je /sbin/dhcpcd. Ukoliko otvorite /etc/rc.d/rc.inet1 u vašem omiljenom editoru teksta
primetićete da se /sbin/dhcpcd poziva oko sredine skripte.
Ovo će imati za rezultat razgovor koji je prikazan gore. dhcpcd će takođe pratiti količinu vremena koja je
prošla od izdavanja trenutne IP adrese i automatski će kontaktirati DHCP server
sa zahtevom da se izdavanje obnovi kada je neophodno. DHCP takođe može
kontrolisati dodatne informacije kao što je ntp server koji treba da se koristi,
koja ruta da se uzima, itd.
Podešavanje DHCP-a na Slackware-u je jednostavno. Samo pokrenite netconfig i izaberite DHCP kada vam bude ponuđen. Ako imate
više od jednog NIC-a i ne želite da eth0 bude
konfigurisan kao DHCP, samo otvorite fajl /etc/rc.d/rc.inet1.conf i promenite potrebnu varijabli za vaš
NIC u to “YES”.
Statičke IP adrese su fiksne adrese koje se menjaju samo ukoliko im to ručno
naredi. One se koriste u slučajevima kada administrator ne želi da menja IP
informaciju, a takvi slučajevi su interni serveri na LAN mreži, bilo koji
server koji je povezan na Internet, i mrežni ruteri. Sa statičkim IP
adresiranjem vi dodeljujete adresu i ostavljate je takvom. Druge mašine znaju da ste
uvek na toj određenoj IP adresi i mogu vas kontaktirati uvek preko te adrese.
Ako planirate da dodeljujete IP adresu vašoj novoj Slackware mašini,
možete to uraditi ili preko netconfig skripte, ili
možete upisati u fajl /etc/rc.d/rc.inet1.conf. U /etc/rc.d/rc.inet1.conf , primetićete:
# Primary network interface card (eth0)
IPADDR[0]=""
NETMASK[0]=""
USE_DHCP[0]=""
DHCP_HOSTNAME[0]=""
|
Pa onda dalje na dnu:
U ovom slučaju, naš zadatak je samo da stavimo ispravne informacije
između navodnika. Ove promenjive se pozivaju u /etc/rc.d/rc.inet1 prilikom startovanja kako bi se podesili
mrežni interfejsi. Za svaki NIC jednostavno unesite ispravnu IP inforimaciju, ili
stavite “YES” za USE_DHCP.
Slackware će podešavati interfejse sa infomacijama dostupnim ovde redom kojim
su napisane.
DEFAULT_GW promenjiva postavlja podrazumevanu rutu za
Slackware. Sva komunikacija izmeđ vašeg i drugih računara na Internetu
mora proći kroz taj gateway ukoliko za njih nije specifirana druga ruta. Ako
koristite DHCP, najčešće nećete morati ništa da unosite ovde,
pošto će DHCP server naznačiti koji gateway treba da se koristi.
U redu, znači vi imate IP adresu, imate podrazumevani gateway, možda
čak imate i deset miliona dolara (dajte nešto nama) ali čemu sve to ako ne
možete prevoditi imena u IP adrese? Niko ne želi da kuca 72.9.234.112 u svoj Internet brauzer kako bi došao do www.slackbook.org. Posle svega, ko bi drugi osim autora zapamtio tu
IP adresu? Treba nam da podesimo DNS, ali kako? Tada u igru ulazi /etc/resolv.conf.
Dobre su šanse da već imate dobre opcije u /etc/resolv.conf. Ukoliko podešavate mrežnu konekciju
pomoću DHCP-a, DHCP server će podesiti ovaj fajl umesto vas. (Tehnički,
DHCP server samo kaže dhcpcd-u šta tu da stavi, a ovaj
ga posluša). Ukoliko trebate ručno da podesite listu DNS servera, moraćete
urediti fajl /etc/resolv.conf. Ispod je primer:
# cat /etc/resolv.conf
nameserver 192.168.1.254
search lizella.net
|
Prva linija je jednostavna. Direktiva nameserver govori kojim DNS serverima da se
šalju upiti. Zbog potrebe ovo su uvek IP adrese. Tu možete da stavite koliko
hoćete server. Slackware će srećno pitati jednog za drugim sve dok jedan
ne vrati odgovor.
Druga linija je malo interesantnija. Direktiva search nam daje listu imena domena koji
se podrazumevaju svaki put kada se napravi DNS upit. Ovo vam dozvoljava da kontaktirate
mašinu samo po prvom delu njenog FQDN (poptuno kvalifikovanog imena domena). Na
primer, ukoliko bi “slackware.com” bio u vašoj search stazi, mogli biste
doći do http://store.slackware.com tako što biste
naredili vašem brauzeru da ide na http://store.
# ping -c 1 store
PING store.slackware.com (69.50.233.153): 56 data bytes
64 bytes from 69.50.233.153 : icmp_seq=0 ttl=64 time=0.251 ms
1 packets transmitted, 1 packets received, 0% packet loss
round-trip min/avg/max = 0.251/0.251/0.251 ms
|
Sada kada imamo DNS koji radi fino, šta ako hoćemo da zaobiđemo
naš DNS server, ili da dodamo DNS unos za mašinu koja nije u DNS-u? Slackware
koristi često voljeni fajl /etc/hosts u kojem se nalazi
lokalna lista DNS imena i IP adresa kojima oni odgovaraju.
# cat /etc/hosts
127.0.0.1 localhost locahost.localdomain
192.168.1.101 redtail
172.14.66.32 foobar.slackware.com
|
Ovde možete videti da localhost ima IP adresu 127.0.0.1
(uvek rezervisana za localhost), redtail može biti kontaktiran na 192.168.1.101, i foobar.slackware.com je 172.14.66.32.
Mnogi ljudi se i dalje konektuju na Internet preko neke vrste dialup konekcije.
Najčešći metod je PPP, iako se povremeno koristi i SLIP. Podešavanje
vašeg sistema da priča na PPP-u sa udaljenim serverom je prilično
jednostavno. Mi smo uključili nekoliko alata koji će vam pomoći u
podešavanju.
U Slackware-u se nalazi program sa imenom pppsetup koji
podešava vaš računar da koristi vaš dialup nalog. Izgled mu je
sličan našem netconfig programu. Da biste pokrenuli
program, budite sigurni da ste ulogovani kao root. Onda ukucajte pppsetup kako biste ga pokrenuli.
Program će vam postaviti seriju pitanja za koje ćete mu vi dati potrebne
odgovore. Stvari kao što su vaš modem uređaj, inicijalizaciona komanda za
modem, broj telefona Internet provajdera. Neke stavke će imati podrazumevane
vrednosti koje možete prihvatiti u većini slučajeva.
Kada se program izvrši, on će napraviti ppp-go
program i ppp-off program. Ovi se koriste da pokrenu i zaustave,
respektivno, PPP konekciju. Ova dva programa se nalaze u /usr/sbin i potrebne su im root privilegije kako bi se
pokrenuli.
Za većinu korisnika, pokretanje pppsetup će biti
dovoljno. Međutim, mogu se desiti slučajevi da želite promeniti neke
vrednosti koje koristi PPP demon. Sve informacije za podešavanje se nalaze u /etc/ppp. Ovo je lista čemu služe ti fajlovi:
 |
Većina ovih fajlove neće biti ovde sve dok ne pokrenete pppsetup.
|
Bežično umrežavanje je i dalje relativno nova stvar u svetu
računara, mada brzo napreduje kako mnogi ljudi kupuju laptop računare i
žete mrežu u pokretu, bez potrebe da se muče sa nekim starim kablovima.
Ovaj trend se ne usporava. Nažalost, bežično umrežavanje još
uvek nije jako podržano u Linux-u kao što je tradicionalno umrežavanje
žicama.
Postoje tri osnovna koraka da se podesi 802.11 bežična mrežna
kartica:
-
Hardverska podrška za bežičnu karticu
-
Podešavanje da se kartica konektuje na bežični access point
-
Podešavanje mreže
Hardverska podršla za bežičnu karticu se pruža preko kernela, bilo
u vidu modula ili kao ugrađena u kernel. Uopšteno, većina novijih
mrežnih kartica je podržano preko kernel modula, pa ćete hteti da
pronađete odgovarajući kernel modul i da ga učitate iz /etc/rc.d/rc.modules. netconfig možda
neće detektovati vašu bežičnu karticu, pa ćete verovatno morati
da samo znate koja je. Pogledajte http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/ za više
informacija o kernel modulima za razne bežične kartice.
Većina ovog posla se radi preko iwconfig, pa kao i uvek
pročitajte man stranicu za iwconfig ukoliko vam je potrebno
još informacija.
Prvo, želećete da podesite vaš bežični access point. Oni se
prilično razlikuju u svojoj terminologiji, i načinu podešavanja, tako da
ćete možda morati malo da prilagodite svom hardveru. Uopšteno, biće
vam potrebne makar sledeće infomacije:
-
Domen ID, ili ime mreže (tzv. ESSID od strane iwconfig)
-
Kanal koji WAP koristi
-
Postavke enkripcije, uključujući sve ključeve koji se koriste (ako
može heksadecimalne)
 |
UPOZORENJE ZA WEP. WEP je prilično nesiguran, ali je mnogo bolji od ničega.
Ukoliko želite veću meru sigurnosti vaše bežične mreže,
trebali biste istražiti VPN-ove ili IPSec, oboje su izvan opsega ovog dokumenta.
Takođe ćete možda želeti da podesite vaš WAP da ne reklamira
svoj domen ID / ESSID. Detaljna diskusija o bežičnim pravilima je izvan opsega
ove sekcije, ali brza pretraga na Google-u će vam dati više nego što biste
želeli da znate.
|
Jednom kada ste skupili potrebne informacije, i pretpostavljajući da ste
koristili modprobe kako biste učitali odgovarajući
kernel drajver, možete urediti rc.wireless.conf i dodati
vaše postavke. Fajl rc.wireless.conf je malo
nesređen. Najlakše je da modifikujete generičku sekciju sa vašim
ESSDID, KEY i CHANNEL koje zahteva vaša kartica. (Pokušajte da ne stavite
CHANNEL, i ako radi, odlično; ako ne, postavite odgovarajući CHANNEL.) Ukoliko
ste hrabri, možete modifikovati fajl tako da su postavljene samo potrebne
promenjive. Imena promenjivih u rc.wireless.conf odgovaraju
parametrima za iwconfig i čita ih rc.wireless pa ih koristi za odgovarajuće iwconfig komande.
Ako imate heksadecimalni ključ, to je idealno, pošto onda možete biti
prilično sigurni da će se vaš WAP i iwconfig
složiti oko ključa. Ako imate samo string, ne možete biti sigurni kako
će vaš WAP da to prevede u heksadecimalni ključ, pa može biti
potrebno nešto nagađanja (ili dobavite ključ vašeg WAP-a u
heksadecimalnom formatu).
Kada ste modifikovali rc.wireless.conf, pokrenite rc.wireless kao root, pa onda pokrenite
rc.inet1, opet kao root. Možete
testirati vašu bežičnu mrežu sa standardnim alatima za testiranje kao
što je ping, zajedno sa iwconfig.
Ukoliko imate žičani mrežni interfejs možete iskoristiti komandu ifconfig da ga isključite dok testirate vašu
bežičnu mrežu kako biste bili sigurni da nema mešanja. Takođe,
možete testirati vaše postavke prilikom restartovanja.
Sada kada ste videli kako da uredite /etc/rc.d/rc.wireless
za podrazumevanu mrežu, bliže ćemo pogledati iwconfig i način na koji
on radi. Ovo će vas naučiti brzi i pokvareni put da se podesi wifi za
slučajeve kada se nađete u Internet kafeu, kafiću ili na nekom drugom
mestu sa bežičnom mrežom, a želite da se konektujete.
Prvi korak je da kažete vašem bežičnom NIC-u kojoj mreži
ćete se priključiti. Budite sigurni da ste zamenili “eth0” sa imenom mrežnog interfejsa koje koristi
vaša kartica i “mynetwork” sa essid
koji želite da koristite. Da, mi znamo da ste toliko pametni. Sledeće ćete
trebati da naznačiti enkripcioni ključ (ako treba) koji se koristi na
bežičnoj mreži. Na kraju, naznačite koji kanal da se koristi (ako
treba).
# iwconfig eth0 essid "mynetwork"
# iwconfig eth0 key XXXXXXXXXXXXXXXXXXXXXXXXXXX
# iwconfig eth0 channel n
|
To bi trebalo da je sve što se tiče bežičnog dela.
Ovo se radi na potpuno isti način kao i kod žičanih mreža.
Jednostavno se pozovote na prethodne sekcije ove glave.
Do sada biste trebali da imati funkcionalnu TCP/IP konekciju do vaše mreže.
Trebali biste da ste u stanju da pingujete druge računare na vašoj internoj
mreži i, ako ste podesili odgovarajući gateway, takođe da pingujete
računare na samom Internetu. Kao što znamo, cela poenta dovođenja
računara na Internet je pristup informacijama. Dok neki ljudi možda
umrežavaju računar iz čistog zadovoljstva, većina ljudi želi da
može deliti fajlove i štampače. Oni žele da mogu pristupiti
dokumentima na Internetu ili da igraju mrežne igrice. Imanje instaliranog i
funkcionalnog TCP/IP na vašem novom Slackware sistemu je korak do tog cilja, ali
samo sa instaliranim TCP/IP, funkcionalnost će biti samo osnovna. Da bismo delili
fajlove, moraćemo da ih prenosimo tamo i nazad koristeći ili FTP ili SCP. Ne
možemo gledati fajlove na našem novom Slackware računaru iz Network
Neighborhood ili My Network Places foldera na Windows računarima. Želeli bismo
da jednostavno pristupamo fajlovima na drugim Unix mašinama.
Idealno, želeli bismo da možemo koristiti mrežni sistem fajlova radi transparentnog pristupa
našim fajlovima na drugim računarima. Programi koje koristimo za interakciju sa
informacijama koje se nalaze na našim računarima stvarno nemaju potrebu da
znaju na kojem računaru je snimljen dati fajl; oni samo moraju da znaju da postoji i
kako da dođu do njega. Onda je obaveza operativnog sistema da obezbedi pristup tom
fajlu kroz dostupne sisteme fajlova i mrežne sisteme fajlova. Dva
najčešće korišćena mrežna sistema fajlova su SMB
(implementiran u Sambi) i NFS.
SMB (akronim od Server Message Block) je naslednik starijeg NetBIOS protokola koji se
na početku koristio u IBM-u na njihovim LAN Menađer proizvodima. Microsoft je
uvek bio prilično zainteresovan za NetBIOS i njegove naslednike (NetBEUI, SMB i
CIFS). Samba projekat postoji od 1991. godine, kada je napisan da se poveže IBM PC
koji je koristio NetBIOS sa Unix serverom. Ovih dana, SMB je preferirani metod za
deljenje fajlova i štamparskih servisa preko mreže za doslovno ceo civilizovani
svet zato što ga Windows podržava.
Sambin konfiguracioni fajl je /etc/samba/smb.conf; jedan od
najbolje komentarisanih i dokumentovanih konfiguracionih fajlova koji ćete ikad
sresti. Primeri deljenja su podešeni da vidite i modifikujete prema vašim
potrebama. Ukoliko vam je potrebna veća kontrola onda je man stranica na smb.conf
nezaobilazna. Pošto je Samba tako dobro dokumentovana, mi nećemo prepisivati
ovde dokumentaciju. Ipak ćemo, međutim, brzo pokriti osnove.
smb.conf je podeljen na više sekcija: jedna sekcija po
deljenoj stvari, i globalna sekcija za postavljanje opcija koje će biti svuda
primenjivane. Neke opcije su validne samo u globalnoj sekciji; neke su validne samo izvan
globalne sekcija. Zapamtite da globalna sekcija može biti ignorisana bilo kojom
drugom sekcijom. Obratite se man stranicama za više informacija.
Najverovatnije ćete morati urediti vaš smb.conf
fajl da bi odgovarao vašim mrežnim postavkama. Savetujem da prepravite stavke
navedene ispod:
[global]
# workgroup = NT-Domain-Name or Workgroup-Name, eg: LINUX2
workgroup = MYGROUP
|
Promenite ime radne grupe (workgoup) da bi bilo isto kao ime radne grupe ili ime
domena kojeg koristite lokalno.
# server string is the equivalent of the NT Description field
server string = Samba Server
|
Ovo će biti ime vašeg Slackware računara prikazano u folderu Network
Neighborhood (ili My Network Places).
# Security mode. Most people will want user level security. See
# security_level.txt for details. NOTE: To get the behaviour of
# Samba-1.9.18, you'll need to use "security = share".
security = user
|
Skoro sigurno ćete hteti da primenite sigurnost na nivou korisnika na vašem
Slackware sistemu.
# You may wish to use password encryption. Please read
# ENCRYPTION.txt, Win95.txt and WinNT.txt in the Samba
# documentation.
# Do not enable this option unless you have read those documents
encrypt passwords = yes
|
Ako enkriptovanje lozinki nije uključeno, nećete moći da koristite
Sambu sa sistemima NT 4.0, Win2k, WinXP i Win2003. Prethodne verzije Windows operativnog
sistema nisu zahtevale enkripciju za deljenje fajlova.
SMB je autentifikacioni protokol, što znači da morate dati ispravno
korisničko ime i lozinku kako biste koristili ovaj servis. Samba serveru govorimo
koja su korisnička imena i lozinke ispravni pomoću smbpasswd komande. smbpasswd uzima nekoliko
čestih opcija kojim mu govorite da li da doda tradicionalne korisnike ili da doda
korisnike mašine (SMB zahteva da dodate računarska NetBIOS imena kao korinike
mašine, ograničavajući na kojim se računarima neko može
autentifikovati).
Dodavanje korisnika u /etc/samba/private/smbpasswd fajl.
# smbpasswd -a user
Dodavanje imena mašine u /etc/samba/private/smbpasswd fajl.
# smbpasswd -a -m machine
|
Važno je zapamtiti da dato korisničko ime ili mašina već moraju
postojati u /etc/passwd fajlu. Ovo možete postići
jednostavno sa adduser komandom. Primetite da kada koristite adduser komandu da dodate ime mašine, morate imenu dodati znak
za dolar (“$”). Međutim, ovo se ne treba raditi sa smbpasswd. smbpasswd sam doda znak za
dolar. Pogrešno unošenje imena mašine na ovaj način sa adduser komandom će razultovati sa greškama kada
pokušate da dodate ime mašine u Sambu.
NFS (akronim od Network File System) je originalno napisan u Sun-u za njihov Solaris,
implementaciju Unix-a. Dok je značajno jednostavniji za podešavanje u
poređenju sa SMB-om, takođe je značajno nesigurniji. Primarna nesigurnost
u NFS-u je što je lako otkriti identifikacije korisnika i grupa od jedne mašine
ka drugoj. NFS je neautentifikacioni protokol. Buduće verzije NFS protokola se
upravo pripremaju sa fokusom na sigurnost, ali to nije slučaj u trenutku
pisanja.
Konfiguracijom NFS-a se vlada iz /etc/exports fajla. Kada
učitate podrazumevani /etc/exports fajl u editor,
videćete prazan fajl sa dve linije komentara na vrhu. Moraćemo dodati po liniju
u ovaj fajl za svaki direktorijum kojeg želimo da izvozimo, sa listingom klijentskih
radnih stanica kojima će biti dozvoljeno da mu pristupe. Na primer, ukoliko
želimo da izvezemo direktorijum /home/foo za radnu stanicu
Bar, jednostavno ćemo dodati liniju:
u naš /etc/exports. Ispod ćete naći primer iz
man stranice za exports fajl:
# primer /etc/exports fajla
/ master(rw) trusty(rw,no_root_squash)
/projects proj*.local.domain(rw)
/usr *.local.domain(ro) @trusted(rw)
/home/joe pc001(rw,all_squash,anonuid=150,anongid=100)
/pub (ro,insecure,all_squash)
|
Kao što vidite, postoje dostupne razne opcije, ali većina bi trebala biti
prilično jasna iz ovog primera.
NFS radi pod pretpostavkom da dati korisnik na jednoj mašini u mreži ima
isti ID korisnika (UID) na svim mašinama preko mreže. Kada se napravi
pokušaj čitanja ili pisanja sa NFS klijenta na NFS server, UID se šalje
kao deo zahteva za čitanje/pisanje. UID se koristi na isti način kao da je
čitanje/pisanje došlo sa same lokalne mašine. Kao što vidite, ako bi
neko mogao da specifikuje dati UID kada pristupa resursima na udaljenom sistemu,
Loše Stvari (tm) bi mogle i sigurno će se desiti. Kao parcijalni štit od
ovoga, svaki direktorijum se montira sa root_squash opcijom.
Ovo mapira UID svih korisnika koji tvrde da su root na drugačiji UID, time
sprečavajući root pristup fajlovima i direktorijumima u izvezenom
direktorijumu. Izgleda da je opcija root_squash
uključena podrazumevano kao sigurnosna mera, ali autori savetuju da je navedete u
vašem /etc/exports fajlu.
Takođe možete izvesti direktorijum direktno sa komandne linije na serveru
koristeći exportfs komandu na sledeći način:
# exportfs -o rw,no_root_squash Bar:/home/foo
|
Ova linija izvozi direkotorijum /home/foo na računar
“Bar” i daje računaru Bar dozvole za čitanje i pisanje. Dodatno, NFS server neće
pozvati root_squash , što znači da svaki korisnik na
Bar računaru sa UID “0” (rootov UID) će imati iste privilegije kao
root na serveru. Sintaksa doista izgleda čudno (posebno kada je direktorijum
specificiran računar:/direktorijum/fajl sintaksom, pozivate
se na fajl u direktorijumu na datom računaru).
Naći ćete više informacija u man stranici za exports fajl.
Chapter 6 Konfiguracija X
sistema
U Slackware-10.0, X Window okruženje pruža Xorg. X obezbeđuje
grafički korisnički interfejs. Za razliku od Windows-a i MacOS-a, nezavisan je
od operativnog sistema.
X Window Sistem je implementiran kroz mnoge programe koji se pokreću u
korisničkom okruženju. Dve glavne komponente su server i window menadžer.
Server obezbedjuje funkcije niskog nivoa za interakciju sa vašom grafičkom
karticom, pa je zbog toga specifičan na svakom sistemu. Window menager je postavljen
preko servera i obezbedjuje korisnički interfejs. Prednost ovoga je što
možete imati mnoge grafičke interfejse jednostavnim menjanjem window
menadžera koji koristite.
Konfiguracija X-a može biti kompleksan zadatak. Razlog je velik broj video
kartica na PC arhitekturi, a mnoge od njih koriste različite programerske
interfejse. Srećom, većina kartica koje su danas podržane podržavaju
VESA standard, i ako je vaša kartica jedna od takvih, moći ćete da
startujete X koristeći startx komandu bez
teškoća.
Ako ovo ne radi sa vašom karticom, ili biste voleli da iskoristite sve pogodnosti
koje vaša kartica pruža, kao na primer 3-D ubrzanje, moraćete da podesite
X.
Da biste konfigurisali X, moraćete da napravite /etc/X11/xorg.conf. Ovaj fajl sadrži mnogo detalja o
vašem video hardveru, mišu i monitoru. To je veoma kompleksan konfiguracioni
fajl, ali, srećom, postoji par programa da vam pomognu u kreiranju ovog fajla. Pa da
pomenemo neke od njih.
Ovo je jednostavan program sa menijima, po izgledu sličan instalacionom programu
Slackware-a. On naređuje X serveru da pogleda vašu karticu i sastavi najbolji
mogući inicijalni konfiguracioni fajl na osnovu sakupljenih informacija. Napravljeni
/etc/X11/xorg.conf fajl bi trebao da bude dobra polazna osnova
za većinu sistema (i trebao bi da radi bez modifikacija).
Ovo je tekstualni program za konfigurisanje X servera namenjen administratorima
sistema. Evo i primera korišćenja xorgconfig. Prvo,
startujte program:
Ovo će izbaciti ekrane pune teksta o xorgconfig. Da
biste nastavili, pritisnite ENTER. xorgconfig će vas pitati da potvrdite da li ste ispravno
podesili PATH. Trebalo bi da je u redu, pa pritisnite ENTER.
Izaberite vašeg miša iz ponuđenog menija. Ako vaš serijski
miš nije u listi, izaberite Microsoft protokol, najstandardniji je i verovatno
će raditi. Sledeće, xorgconfig će vas pitati da
li koristite ChordMiddle i Emulate3Buttons . Videćete detaljan opis ovih opcija na ekranu.
Koristite ih ako srednje dugme vašeg miša ne radi pod X-om ili ako vaš
miš ima samo 2 dugmeta (Emulate3Buttons dozvoljava
simulaciju srednjeg dugmeta pritiskanjem iba dugmeta istovremeno). Zatim, upišite
naziv specijalnog fajla preko koga računar komunicira sa mišem.
Najčepše je /dev/mouse, što bi trebalo da radi
pošto je link napravljen tokom Slackware instalacije. Ako koristite GPM (Linux
server za miš) u repeater modu, možete postaviti tip miša na /dev/gpmdata kako bi X dobijao informacije o mišu preko gpm. U nekim slučajevima (posebno sa busmouse miševima)
ovo može raditi bolje od prethodne opcije, ali većina korisnika ne bi trebala
da koristi ovu opciju.
xorgconfig će vas pitati da li da omogući
specijalne tastere. Ako vam je ovo potrebno pritisnite “y”. Većina korisnika može pritisnuti “n” -- uradite to ako niste sigurni.
U sledećoj sekciji ćete uneti opseg sinhronizacija za vaš monitor. Da
biste počeli konfiguraciju vašeg monitora pritisnite ENTER. Videćete listu tipova monitora -- izaberite jedan od
njih. Budite pažljivi da ne premašite specifikaciju vašeg monitora. U
protivnom možete oštetiti vaš monitor.
Odaberite vertikalni opseg sinhronizacije vašeg monitora (trebali biste da
nadjeteovu specifikaciju u uputstvu za monitor). xorgconfig će vas pitati da unesete
identifikaciju tipa monitora u xorg.conf. Unesite bilo šta
za ove 3 linije (možete ostaviti i prazno).
Sada imate mogućnost da pogledate u bazu video kartica. Ako poželite do da
uradite, pritisnite “y” i odaberite karticu iz
liste. Ako ne znate tačno koju karticu imate, izaberite onu koja ima isti čip i
najverovatnije će raditi.
Sledeće, saopštite programu xorgconfig koliko RAM
memorije ima vaša video kartica. xorgconfig će
tražiti od vas da unesete opis vaše kartice. Ako želite, možete uneti
opis u ove tri linije.
Zatim ćete biti pitani za željenu rezoluciju monitora. Ponovo, ako ostavite
ponudjene rezolucije, trebalo bi sve da radi. Kasnije možete editovati /etc/X11/xorg.conf fajl i izmeniti modove tako da je 1024x768 (ili
mod koji se vama svidja) podrazumevajući.
Sada će vas xorgconfig program pitati da li želite
da sačuvate konfiguracioni fajl. Odgovorite yes i konfiguracioni fajl za X će
biti sačuvan, čime je i podešavanje završeno. Sada možete
startovati X komandom startx.
Drugi načina da podesite X je da korsitite xorgsetup,
automatski konfiguracioni program koji dolazi u Slackware-u.
Da biste pokrenuli xorgsetup, ulogujte se kao root i
kucajte:
Ako već imate /etc/X11/xorg.conf fajl (jer ste već
konfigurisali X), bićete pitani da li želite da sačuvate postojeći
fajl pre nego što nastavite. Postojeći fajl će biti preimenovan u /etc/X11/xorg.conf.backup.
xinit(1) je program koji, u stvari, startuje X; njega
startuje startx(1), tako da ga možda niste primetili
(verovatno ne biste ni trebali). Njegov konfiguracioni fajl, međutim, određuje
koji programi (uključujući i window menadžer) će biti pokrenuti kada
se startuje X. xinit traži fajl .xinitrc u korisničkom direktorijumu. Ako ga pronađe,
pokreće ga; inače /var/X11R6/lib/xinit/xinitrc
(sistemski podrazumevane postavke) se koristi. Evo i jednostavnog xinitrc fajla:
#!/bin/sh
# $XConsortium: xinitrc.cpp,v 1.4 91/08/22 11:41:34 rws Exp $
userresources=$HOME/.Xresources
usermodmap=$HOME/.Xmodmap
sysresources=/usr/X11R6/lib/X11/xinit/.Xresources
sysmodmap=/usr/X11R6/lib/X11/xinit/.Xmodmap
# ubaci podrazumevane vrednosti i raspored tastera
if [ -f $sysresources ]; then
xrdb -merge $sysresources
fi
if [ -f $sysmodmap ]; then
xmodmap $sysmodmap
fi
if [ -f $userresources ]; then
xrdb -merge $userresources
fi
if [ -f $usermodmap ]; then
xmodmap $usermodmap
fi
# pokreni neke fine programe
twm &
xclock -geometry 50x50-1+1 &
xterm -geometry 80x50+494+51 &
xterm -geometry 80x20+494-0 &
exec xterm -geometry 80x66+0+0 -name login
|
Svi “if” blokovi postoje da bi učitali različite konfiguracione
opcije iz drugih fajlova. Interesantan deo fajla je pri kraju gde su različiti
programi pokrenuti. Ova X sesija će pokrenuti twm(1) window
menadžer, sat i tri terminala. Zapazite exec pre zadnje xterm komande. To će zameniti školjku koja je trenutno
pokrenuta (ona koja izvršava ovu xinitrc skriptu) sa xterm(1) komandom. Kada korisnik ugasi taj xterm, X sesija će se prekinuti.
Da biste podesili podizanje X-a po svom ukusu, prekopirajte /var/X11R6/lib/xinit/xinitrc u ~/.xinitrc
i editujte ga, zamenjujući programe sa onim koji se vama sviđaju. Kraj mog ~/.xinitrc fajla je jednostavna linija:
# pokreni window menadžer:
exec startkde
|
Primetite da ima nekoliko xinitrc.* fajlova u /var/X11R6/lib/xinit koji odgovaraju različitim window
menadžerima i GUI-ima. Možete koristiti bilo koji od tih ako želite.
Godinama je Unix isključivo bio korišćen za servere, sa izuzecima
profesionalnih radnih stanica. Samo tehnički potkovani ljudi su koristili Unix
operativne sisteme, dok je korisnički interfejs odražavao ovu činjenicu.
GUI-i teže da pruže samo osnovno, dizajnirani da pokrenu par nužno
grafičkih aplikacija, kao što su CAD programi i programi za renderovanje.
Većina operacija sa fajlovima i sistemom je izvođena iz komandne linije. Mnogi
proizvođači (Sun Microsystems, Silicon Graphics, itd) su prodavali radne
stanice pokušavajući da pruže kohezivni izgled, ali različiti GUI-i
korišćeni od strane programera su vodili do neuniformnosti. Meniji su se
pojavljivali na različitim mestima kod različitih aplikacija. Programi su imali
različite dugmiće. Boje su varirale i bile su unete u svaki GUI bez
mogućnosti menjanja. Dok god su korisnici primarno bili tehnički profesionalci,
ništa od ovoga nije predstavljalo problem.
Sa napretkom slobodnih Unix operativnih sistema i rastućim brojem grafičkih
aplikacija, X je nedavno dobio veliku bazu desktop programa. Većina korisnika,
naravno, je naviknuta na konzistentan izgled Microsoft Windows-a ili Apple-ovog MacOS-a;
nedostatak takve konzistencije kod aplikacija baziranih na X-u je postala prepreka
širem prihvatanju. Kao odgovor, nastala su dva projekta. K Desktop Environment, ili
KDE i GNU Network Object Model Environment, poznat kao GNOME. Svaki ima široku
paletu aplikacija, od taskbar-a i fajl menadžera do igrica i programa za kancelariju
(office alata), napisanih u istom GUI-u i usko povezanim kako bi pružili uniformni,
konzistenti desktop.
Razlike izmedju KDE-a i GNOME-a su generalno suptilne. Svaki izgleda drugačije,
jer svaki koristi drugu GUI biblioteku. KDE je baziran na Qt biblioteci od Troll Tech AS,
dok GNOME koristi GTK, biblioteku razvijenu za GNU Image Manipulation Program (ili
skraćeno GIMP). Kao odvojeni projekti, KDE i GNOME imaju svoj dizajn i programere sa
različitim stilom razvijanja i filozofijom. Rezultat u oba slučaja je,
međutim, u osnovi isti: konzistentno, usko povezano dekstop okruženje i skup
aplikacija. Funkcionalnost, korisnost i 'lepota' oba, KDE-a i GNOME-a, su rival bilo kom
drugom okruženju na bilo kom operativnom sistemu.
Najbolje od svega je, ipak, to što su ova napredna desktop orkuženja
slobodna. To znači da možete imati bilo koji od njih ili oba (da, u isto
vreme). Izbor je vaš.
Pored GNOME-a i KDE-a, Slackware dolazi sa velikom kolekcijom window menadžera.
Neki su dizajnirani da oponašaju druge operativne sisteme, neki za podešavanja,
drugi za brzinu. Postoji velika raznolikost. Naravno, možete instalirati koliko
želite okruženja, igrati se sa njima i odlučiti koji vam se najviše
svidja.
Da biste lako mogli napraviti selekciju desktop-a, Slackware dolazi sa programom xwmconfig koji može biti korišćen za izbor desktopa
ili window menadžera. Pokreće se na sledeći način:
Dobićete listu svih instaliranih desktopa i window menadžera. Samo izaberite
one koji želite iz liste. Svaki korisnik na vašem sistemu će morati da
pokrene ovaj program pošto različiti korisnici mogu koristiti različite
desktope.
Nakon toga, pokrenite X i sve je spremno.
Kako Linux postaje sve više koristan kao desktop operativni sistem, mnogi
korisnici smatraju poželjnim da se mašina podigne odmah u grafičko
okruženje. Zbog ovoga, moraćete narediti Slackware-u da se diže odmah u X
i dodeliti grafički login menadžer. Slackware dolazi sa tri grafička alata
za login, xdm(1), kdm i gdm(1).
xdm je grafički login menadžer koji dolazi sa X.org
sistemom. On je jednostavan i nema tako puno opcija kao alternative. kdm je grafički login menadžer koji dolazi sa KDE-om.
Konačno, gdm je grafički menadžer koji dolazi sa
GNOME-om. Svaki od njih će vam omogućiti da se ulogujete kao bilo koji korisnik
i izaberete koji desktop želite da koristite.
Na nesreću, Slackware ne uključuje neki lep program kao što je xwmconfig za odabir login menadžera, pa ako su sva tri
instalirana možda ćete morati da uradite malo uređivanja da biste izabrali
onaj koji se vama svidja. Ali prvo ćemo pričati o tome kako da namestite da se
sistem odmah diže u grafičko okruženje.
Da biste pokrenuli X pri podizanju sistema, morate ga pokrenuti u runlevel 4.
Runleveli su samo način da kažete init(8) komandi da
uradi različite stvari kad startuje OS. Ovo se postiže uređivanjem
konfiguracionog fajla /etc/inittab.
# These are the default runlevels in Slackware:
# 0 = halt
# 1 = single user mode
# 2 = unused (but configured the same as runlevel 3)
# 3 = multiuser mode (default Slackware runlevel)
# 4 = X11 with KDM/GDM/XDM (session managers)
# 5 = unused (but configured the same as runlevel 3)
# 6 = reboot
# Default runlevel. (Do not set to 0 or 6)
id:3:initdefault:
|
Da biste namestili da se Slackware podiže u grafičko okruženje samo
treba da promenite 3 u 4.
# Default runlevel. (Do not set to 0 or 6)
id:4:initdefault:
|
Sada će se Slackware dizati u runlevel 4 i pokrenuti /etc/rc.d/rc.4. Ovo će pokrenuti X i pozvati login
menadžer koji ste izabrali. Pa, kako biramo login menadžer? Postoji par
načina da se ovo uradi, i objasnićemo ih nakon što pogledamo rc.4.
# Pokušaj da koristiš GNOME-ov gdm:
if [ -x /usr/bin/gdm ]; then
exec /usr/bin/gdm -nodaemon
fi
# Nije tu? OK, probaj da koristiš KDE-ov kdm:
if [ -x /opt/kde/bin/kdm ]; then
exec /opt/kde/bin/kdm -nodaemon
fi
# Ako je sve što želite da imate XDM, pretpostavljam da će morati da vas zadovolji:
if [ -x /usr/X11R6/bin/xdm ]; then
exec /usr/X11R6/bin/xdm -nodaemon
fi
|
Kao što možete da vidite, rc.4 prvo proverava da
li gdm može da se pokrene, i ako može startuje ga.
Drugi u listi je kdm, i konačno xdm. Jedan način da izaberete login menadžer je da
jednostavno izbacite one koje ne želite, koristeći removepkg. Možete naći više o removepkg u Chapter 18.
Opciono, možete ukloniti dozvolu za startovanje onim fajlovima koje ne
želite da koristite. Pričali smo o chmod u Chapter 9.
Konačno, možete samo zakomentarisati linije za login menadžer koji ne
želite da korisite.
# Try to use GNOME's gdm session manager:
# if [ -x /usr/bin/gdm ]; then
# exec /usr/bin/gdm -nodaemon
# fi
# Not there? OK, try to use KDE's kdm session manager:
if [ -x /opt/kde/bin/kdm ]; then
exec /opt/kde/bin/kdm -nodaemon
fi
# If all you have is XDM, I guess it will have to do:
if [ -x /usr/X11R6/bin/xdm ]; then
exec /usr/X11R6/bin/xdm -nodaemon
fi
|
Sve linije kojima prethodi znak taraba (#) se smatraju
komentarima i tiho budu preskočene. Stoga, čak iako je gdm instaliran i izvršan, školjka (u ovom slučaju bash) se neće zamarati tim da ga traži.
Chapter 7 Pokretanje sistema (booting)
Proces startovanja vašeg Linux sistema nekada može biti lak a nekada
može biti težak. Mnogi korisnici instaliraju Slackware na svojim
računarima i to je to. Samo ga uključe i spreman je za korišćenje.
Drugih puta, jednostavno startovanje mašine može biti rutina. Za većinu
korisnika, LILO radi najbolje. U Slackware je uključen LILO i Loadlin za startovanje
Slackware Linuxa. LILO će raditi sa hard disk particije, hard diskovog glavnog boot
zapisa (MBR) ili flopi diska, što ga čini veoma raznovrsnom alatkom. Loadlin
radi iz DOS komandne linije, ubijajući DOS i prizivajući Linux.
Još jedan popularan alat za startovanje Linuxa je GRUB. GRUB nije uključen
niti zvanično podržan od Slackware-a. Slackware se drži
“pokušano i radi” standarda pri odlučivanju šta će biti
uključeno u distribuciju. Iako GRUB radi dobro i sadrži neke osobine koje LILO
nema, LILO vrši esencijalni zadatak startovanja sa dokazanom pouzdanošću.
Pošto je mlađi, GRUB nije još doživeo takvu zaostavštinu.
Pošto nije uključen u Slackware, nećemo ovde diskutovati o njemu. Ako
želite da koristite GRUB (možda je došao sa nekim drugim Linux operativnim
sistemom ili želite da ga koristite za dvojno startovanje) konsultujte GRUB-ovu
dokumentaciju.
Ova sekcija pokriva korišćenje LILO-a i Loadlin-a, dva pokretača koji
su uključeni u Slackware. Takođe objašnjava neke tipične scenarije sa
dvojnim startovanjem i kako bi ste mogli to podesiti.
Linux Loader, ili LILO, je najpopularniji program za startovanje koji se koristi na
Linux sistemima. Veoma je konfigurabilan i lako se može koristiti za startovanje
drugih sistema.
Slackware Linux dolazi sa alatom kontrolisanim putem menija a koji se zove liloconfig. Ovaj program se prvi put pokreće tokom procesa
instaliranja, ali ga možete pozvati kasnije tako što kucate liloconfig u promptu.
LILO čita svoje postavke iz /etc/lilo.conf(5) fajla. Taj
fajl se ne čita svaki put kada pokrećete računar, već se čita
svaki put kada instalirate LILO. LILO mora biti reinstaliran u boot sektor svaki put kad
napravite promenu u konfiguraciji. Mnoge LILO greške nastaju od pravljenja promena u
lilo.conf fajlu, pa posle zaboravljanja startovanja liloa kako
bi se instalirale ove promene. liloconfig će vam
pomoći da napravite konfiguracioni fajl tako da možete instalirati LILO za
vaš sistem. Ako više volite da ručno uređujete /etc/lilo.conf, onda je za reinstaliranje programa LILO dovoljno da
ukucate /sbin/lilo (kao root) u
promptu.
Kada prvi put pozovete liloconfig, on će izgledati
ovako:
Ako vam je ovo prvi put da podešavate LILO, bilo bi dobro da izaberete simple.
Ako ne, možete naći kako je expert način brži ukoliko ste upoznati sa
Linuxom i programom LILO. Biranje simple načina će započeti LILO
konfiguraciju.
Ako je podrška za frejm-bafer (frame buffer) ugrađena u vaš kernel, liloconfig će pitati koju video rezoluciju želite da
koristite. Ovo je rezolucija koju takođe koristi XFree86 frejm-bafer server. Ako ne
želite da se konzola startuje u specijalnom video modu, biranjem stavke normal
će zadržati standardni 80x25 mod.
Sledeći deo LILO konfiguracije je biranje gde želite da ga instalirate. Ovo
je verovatno najvažniji korak. Lista ispod objašnjava mesta za
instaliranje:
Root
-
Ova opcija instalira LILO na početku vaše Linux root particije. Ovo je
najsigurnija opcija ako imate drugi operativni sistem na vašem računaru. Ona
osigurava da drugi programi za pokretanje ne budu prepisani. Nedostatak je to što
će se LILO učitati odatle samo ako je vaš Linux disk prvi disk u sistemu.
Zbog toga mnogi ljudi izaberu da naprave veoma malu /boot
particiju kao prvu u svojim sistemima. Ovo dozvoljava kernelu i LILO programu da budu
instalirani na početak diska gde ih LILO može naći. Prethodne verzije
LILO-a su imale čuvenu grešku poznatiju kao “limit od 1024
cilindra”. LILO nije bio u mogućnosti da startuje kernel na particijama preko
1024. cilindra. Poslednje verzije LILO-a su uklonile ovaj problem.
Floppy
-
Ovaj metod je čak siguriji od prethodnog. On stvara boot flopi koji možete
koristiti za pokretanje vašeg Linux sistema. Tako je program sasvim izvan hard
diska, pa ćete ubacivati flopi samo kad želite da koristite Slackware.
Nedostaci ovog metoda su očigledni. Flopiji su po zlu poznati i često se kvare.
Drugo, boot program se ne nalazi u računaru. Ako izgubite vaš flopi disk,
moraćete napraviti novi kako bi pokrenuli vaš sistem.
MBR
-
Želećete da koristite ovu metodu ako je Slackware jedini operativni sistem
na vašem računaru, ili ako ćete koristiti LILO za odabir između
više operativnih sistema na vašem računaru. Ovo je najčešće
korišćen metod za instaliranje LILO-a i radiće sa skoro bilo kojim
računarskim sistemom.
 |
Ova opcija će prepisati bilo koji drugi boot program kojeg imate u MBR-u.
|
Posle biranja mesta za instaliranje, liloconfig će
napisati konfiguracioni fajl i instalirati LILO. To je to. Ako izaberete expert mod
dobićete specijalan meni. Ovaj meni vam omogućuje da podešavate /etc/lilo.conf fajl, dodate drugi operativni sistem u vaš
izbornik pri startovanju i da podesite LILO da prenosi specijalne kernel parametre pri
startovanju. Expert meni izgleda ovako:
Bez obzira kakva je konfiguracija vašeg sistema, postavljanje boot programa je
lako. liloconfig veoma olakšava podešavanje.
Druga opcija za startovanje koja dolazi sa Slackware Linuxom je LOADLIN. LOADLIN je
DOS izvršni fajl koji se može koristiti za startovanje Linuxa iz DOS sistema.
Zahteva da Linux kernel bude na DOS particiji kako bi ga LOADLIN mogao učitati i
ispravno pokrenuti sistem.
Tokom procesa instalacije, LOADLIN će biti iskopiran u root-ov početni
direktorijum kao .ZIP fajl. Ne postoji automatski proces podešavanja za LOADLIN.
Moraćete da kopirate Linux kernel (najčešće /boot/vmlinuz) i LOADLIN fajl iz root-ovog početnog
direktorijuma na DOS particiju.
LOADLIN je koristan ako želite da napravite boot meni na vašoj DOS
particiji. Meni može da se stavi u vaš AUTOEXEC.BAT
fajl koji će vam dozvoliti da birate između Linuxa i DOS-a. Izbor Linuxa
će pokrenuti LOADLIN, i time startovati Slackware sistem. Ovaj AUTOEXEC.BAT fajl pod Windows 95 sistemom će vam pružiti
dovoljan boot meni:
@ECHO OFF
SET PROMPT=$P$G
SET PATH=C:\WINDOWS;C:\WINDOWS\COMMAND;C:\
CLS
ECHO Molim vas izaberite vas operativni sistem:
ECHO.
ECHO [1] Slackware Linux
ECHO [2] Windows 95
ECHO.
CHOICE /C:12 "Izbor? -> "
IF ERRORLEVEL 2 GOTO WIN
IF ERRORLEVEL 1 GOTO LINUX
:WIN
CLS
ECHO Pokrecem Windows 95...
WIN
GOTO END
:LINUX
ECHO Pokrecem Slackware Linux...
CD \LINUX
LOADLIN C:\LINUX\VMLINUZ ROOT=<uređaj root particije> RO
GOTO END
:END
|
Moraćete da naznačite vašu root particiju kao ime Linux uređaja,
npr. /dev/hda2 ili nešto drugo. Uvek možete koristiti
LOADLIN iz komandne linije. Možete ga koristiti na isti način kao što je
prikazano gore. LOADLIN dokumentacija dolazi sa mnogo primera njegovog
korišćenja.
Mnogi korisnici podešavaju svoje računare da startuju Slackware Linux i
drugi operativni sistem. Mi smo opisali nekoliko tipičnih scenarija startovanja
ispod, u slučaju da imate poteškoća pri podešavanju vašeg
sistema.
Podešavanje računara sa zajedno MS Windowsom i Linuxom je verovatno
najčešći scenario dualnog startovanja. Postoje brojni načini na koje
možete podesiti startovanje, ali ova sekcija će pokriti samo dva.
Često puta se desi prilikom podešavanja dualnog startovanja da osoba napravi
savršen plan gde će šta ići, ali upropasti redosled instaliranja.
Veoma je važno razumeti da operativni sistemi moraju biti instalirani po
određenom redu kako bi dualno startovanje funkcionisalo. Linux uvek nudi kontrolu
nad stvarima koje se, ako uopšte, upisuju u glavni boot zapis hard diska (MBR).
Stoga, uvek se savetuje da Linux instalirate poslednjeg. Windows treba da se instalira
prvi, pošto će uvek upisati svoj boot program u glavni boot zapis hard diska,
prepisujući bilo koji unos što ga je Linux tamo stavio.
Većina ljudi će želeti da koristi LILO za izbor između Linuxa i
Windowsa. Kao što je navedeno gore, treba prvo da instalirate Windows, pa onda
Linux.
Recimo da imate 40GB IDE hard disk kao jedini disk uređaj u vašem sistemu.
Takođe recimo da želite dati pola tog prostora Windowsu, a pola prostora
Linuxu. Ovo će nam napraviti problem kada pokušavamo da startujemo Linux.
20GB Windows boot (C:)
1GB Linux root (/)
19GB Linux /usr (/usr)
|
Pored toga trebali bi odrediti adekvatnu količinu prostora za Linux swap
particiju. Nepisano pravilo je da se koristi duplo veća količina prostora na
hard disku od količine RAM-a. Sistem sa 64MB će imati 128MB swap particiju, i
tako dalje. Adekvatni swap prostor je diskusija mnogih svađa na IRC-u i Usenetu. Ne
postoji istinito “ispravan” način da se to uradi, ali držanje gore
navedenog pravila bi trebalo biti dovoljno.
Sa napravljenim particijama, treba da instalirate Windows. Kada je to postavljeno i
radi, treba da instalirate Linux. LILO instalacija traži posebnu pažnju.
Moraćete da izaberete expert mod za instaliranje LILO-a.
Počnite novu LILO konfiguraciju. Želećete da ga instalirate na glavni
boot zapis kako bi mogao da se koristi za izbor između dva operativna sistema. Iz
menija, dodajte vašu Linux particiju i dodajte vašu Windows (ili DOS)
particiju. Kad je to završeno možete instalirati LILO.
Restartujte računar. LILO bi trebao da se učita i prikazaće meni
dajući vam da izaberete između operativnih sistema koje ste instalirali.
Izaberite ime operativnog sistema kojeg želite da učitate (ova imena se biraju
pri podešavanju LILO-a).
LILO je prilično podesiv. Nije ograničen samo na startovanje Linuxa ili
DOS-a. Može da pokrene skoro pa sve. Man stranice za lilo(8) i lilo.conf(5) pružaju
detaljnije informacije.
Šta ako LILO ne radi? Postoje primeri u kojima LILO jednostavno neće da radi
na datoj mašini. Srećom, postoji drugi način da se dualno startuje Linux i
Windows.
Ovaj metod može da se koristi ako LILO neće da radi na vašem sistemu
ili ako baš ne želite da podesite LILO-a. Takođe je idealan za korisnike
koji često reinstaliraju Windows. Svaki put kad ponovo instalirate Windows, on
će prepisati glavni boot zapis, time uništavajući svaku LILO instalaciju.
Sa LOADLIN programom, niste žrtva tog problema. Najveći nedostatak je to
što možete koristiti samo LOADLIN da pokrenete Linux.
Sa LOADLIN-om, možete instalirati operativne sisteme proizvoljnim redosledom.
Budite pažljivi kada instalirate stvari u glavni boot zapis, to ne želite da
radite. LOADLIN se oslanja na to da je Windows particija sposobna da pokrene sistem. Tako
prilikom instalacije Slackware-a, preskočite podešavanje LILO-a.
Posle instaliranja operativnih sistema, kopirajte loadlinX.zip (gde je X
broj verzije, kao što je 16a) fajl iz root-ovog
početnog direktorijuma na vašu Windows particiju. Takođe iskopirajte fajl
sa kernelom na Windows particiju. Moraćete biti u Linuxu da bi ste mogli ovo da
odradite. Ovaj primer pokazuje kako se to radi:
# mkdir /win
# mount -t vfat /dev/hda1 /win
# mkdir /win/linux
# cd /root
# cp loadlin* /win/linux
# cp /boot/vmlinuz /win/linux
# cd /win/linuz
# unzip loadlin16a.zip
|
To će napraviti C:\LINUX direktorijum na vašoj
Windows particiji (predpostavljajući da je ona /dev/hda1)
i kopirati potrebne stvari koje su potrebne programu LOADLIN. Posle ovoga, treba da
pokrenete Windows kako bi postavili meni za izbor prilikom startovanja.
Kada ste u Windowsu, dođite do DOS prompta. Prvo, trebamo postaviti da se sistem
ne startuje u grafičkom interfejsu.
C:\> cd \
C:\> attrib -r -a -s -h MSDOS.SYS
C:\> edit MSDOS.SYS
|
Dodajte ovu liniju u fajl:
Sada snimite fajl i izađite iz editora. Sada uredite C:\AUTOEXEC.BAT kako bi smo mogli dodati meni za startovanje. Sledi
primer kako bi blok za meni pri startovanju mogao da izgleda u fajlu C:\AUTOEXEC.BAT:
cls
echo Meni za startovanje sistema
echo.
echo 1 - Linux
echo 2 - Windows
echo.
choice /c:12 "Izbor? -> "
if errorlevel 2 goto WIN
if errorlevel 1 goto LINUX
:LINUX
cls
echo "Pokrecem Linux..."
cd \linux
loadlin c:\linux\vmlinuz root=/dev/hda2 ro
goto END
:WIN
cls
echo "Pokrecem Windows..."
win
goto END
:END
|
Ključna linija je ona koja pokreće LOADLIN. Kažemo mu koji kernel da
učita, Linux root particiju i da želimo u početku da mu pristupimo samo za
čitanje.
Alati za ove dve metode se dobijaju sa Slackware Linuxom. Postoje brojni drugi boot
programi na tržištu, ali ovi bi trebali da rade za najveći broj postavki
dualnog startovanja.
Ovo je najređa situacija dulanog startovanja. U starim danima, LILO nije bio u
stanju da pokrene Windows NT, što je zahtevalo da Linux korisnici hakuju NTLDR,
dobijajući time nekoliko problema više nego prilikom dualnog startovanja
između Windowsa 9x i Linuxa. Razumite da su sledeće instrukcije zastarele. LILO
je već mnogo godina u stanju da startuje Windows NT/2000/XP/2003. Međutim, ako
koristite staru mašinu, možda ćete morati koristiti baš ovakav
hak.
-
Instalirajte Windows NT
-
Instalirajte Linux, s tim da se LILO instalira u superblok Linux particije
-
Uzmite prvih 512 bajtova Linux root particije i snimite ih na Windows NT particiju
-
Uredite C:\BOOT.INI pod Windowsom NT i dodajte Linux
opciju
Instaliranje Windowsa NT bi trebalo biti vrlo jednostavno, kao i Linuxa. Posle toga,
postaje malo čupavo. Vađenje prvih 512 bajtova Linux particije je lakše
nego što zvuči. Moraćete biti u Linuxu kako bi ovo izveli. Predpostavimo
da je vaša Linux particija /dev/hda2, izdajete ovu
komandu:
# dd if=/dev/hda2 of=/tmp/bootsect.lnx bs=1 count=512
|
To je to. Sada ćete trebati kopirati bootsect.lnx na Windows NT particiju. Ovde
dolazimo do drugog problema. Linux nema stabilnu podršku za pisanje po NTFS fajl
sistemu. Ako ste instalirali Windows NT i formatirali vaš disk kao NTFS,
moraćete kopirati ovaj fajl na FAT flopi i onda ga očitati pod Windowsom NT.
Ako ste formatirali Windows NT disk kao FAT, možete ga prosto montirati pod Linuxom
i kopirati fajl. U svakom slučaju, treba da prebacite /tmp/bootsect.lnx sa Linux diska u C:\BOOTSECT.LNX na Windows NT disku.
Poslednji korak je dodavanje meni opcije u Windows NT meniju za startovanje. Pod
Windowsom NT otvorite komandni prompt.
C:\WINNT> cd \
C:\> attrib -r -a -s -h boot.ini
C:\> edit boot.ini
|
Dodajte ovu liniju na kraj fajla:
C:\bootsect.lnx="Slackware Linux"
|
Snimite promene i izađite iz editora. Kada ponovo startujete Windows NT,
imaćete Linux opciju u meniju. Kad je izaberete, startovaćete Linux.
Da, ljudi ovo zaista rade. Ovo je definitivno najlakši scenario dualnog
startovanja. Možete jednostavno koristiti LILO i dodati još unosa u /etc/lilo.conf fajl. To je sve što je potrebno.
Chapter 8 Školjka (shell)
U grafičkom okruženju, interfejs pruža program koji stvara prozore,
menije, pokazivače, itd. U okruženju komandne linije korisnički interfejs
pruža školjka (shell na engleskom, ali i na srpskom se često koristi
termin šel), koja interpretira komande i uopšte čini stvari upotrebljivim.
Odmah nakon što se uloguju (što je pokriveno u ovoj glavi), korisnici budu
stavljeni u školjku i bude im dozvoljeno da rade svoj posao. Ova glava služi
kao uvod u školjku i to u najčešću školjku među Linux
korisnicima - Bourne Again Shell (skraćeno Bash). Ukoliko vam treba više
informacija nego što je ovde pruženo, pogledajte man stranicu za bash(1).
Pokrenuli ste računar i gledate u nešto što liči na ovo:
Welcome to Linux 2.4.18
Last login: Wed Jan 1 15:59:14 -0500 2005 on tty6.
darkstar login:
|
Hmm.. niko nije ništa rekao o loginu. I šta je darkstar? Ne brinite;
verovatno niste slučajno uključili hiperspejs komlink to veštačkog
meseca Imperije. (Plašim se da hiperspejs komlink protokol trenutno nije
podržan u Linux kernelu. Možda će verzija 2.8 konačno pružiti
ovu često zahtevanu opciju.) Ne, darkstar je samo ime jednog od naših
računara i njegovo ime se koristi kao podrazumevano. Ukoliko ste naznačili ime
računara pri instaliranju, videćete njega umesto darkstar.
A što se tiče ulogovanja... Ukoliko vam je ovo prvi put, želećete
da se ulogujete kao root. Bićete upitani za lozinku;
ukoliko ste je postavili tokom instalacije, to je ta koja vam treba. Ako niste, samo
pritisnite enter. To je to - unutra ste!
U redu, ko ili šta je root? I šta će njemu nalog na vašem sistemu?
Pa, u svetu Unix i sličnih operativnih sistema (kao što je Linux), postoje
korisnici i postoji druga vrsta korisnika. Ući ćemo u ovo detaljno kasnije, ali
važno je da znate da je root kornisnik iznad svih
korisnika; root je svemoćan i sveznajući, i svako sluša root-a. Ne može drugačije. root
je ono što zovemo “superkorisnikom”, i to sa pravom. I što je
najbolje od svega, root ste vi.
Super, zar ne?
Ukoliko niste sigurni: da, to je jako super. Caka je, međutim, što je root-u
dozvoljeno da pokvari bilo šta što poželi. Ako hoćete možete
preskočiti dole na Section 12.1.1 i
pogledati kako da dodate korisnika; onda se ulogujte kao taj korisnik i radite odatle.
Tradicionalna mudrost kaže da je najbolje postati superkorisnik samo kada je
apsolutno neophodno, čisto da se minimizira mogućnost slučajnog kvarenja
sistema.
Kad smo već tu, ukoliko odlučite da želite da postanete root dok ste
ulogovani kao neko drugi, nema problema. Samo iskoristite su(1)
komandu. Bićete upitani za root-ovu lozinku i onda
ćete biti root sve dok ne ukucate exit ili logout. Takođe možete
postati bilo koji drugi korisnik koristeći su, ukoliko
znate lozinku tog korisnika: su logan, na primer, će
napravite mene od vas.
 |
root-u je dozvoljeno da koristi su i postane bilo koji
korisnik, bez potrebe da zna njihove loznike.
|
Teško da je moguće nešto uraditi, a da se ne pokreću programi;
možda ćete moći nešto da pritisnete svojim računarom ili da
držite vrata otvorenim, a neki će praviti najdivniji brujeći zvuk kada su
uključeni, ali to je otprilike sve. Mada ja mislim da ćemo se složiti kako
njegova uloga kao brujećeg držača za vrata nije to što je dovelo
lične računare do popularnosti u kojoj sad uživaju.
Pa, sećate se kako je skoro sve u Linux-u fajl? Pa, to važi i za programe.
Svaka komanda koju izvršavate (koja nije ugrađena u školjku) negde
počiva kao fajl. Pokrećete program tako što jednostavno naznačite
punu putanju do njega.
Na primer, sećate se su komande iz prethodne sekcije?
Pa, ona je u stvari u /bin direktorijumu: /bin/su će je lepo pokrenuti.
Pa zašto onda kucanje samo su radi? Posle svega, niste
rekli da je u /bin. Mogao je lako biti i u /usr/local/share, zar ne? Kako je to on znao? Odgovor na to leži u PATH
varijabli okruženja; većina školjki imaju ili PATH
ili nešto veoma slično varijabli PATH. U osnovi ona
sadrži listu direktorijuma u koje se traže programi koje pokušavate da
izvršite. Pa kada ste pokrenuli su, vaša školjka
je protrčala kroz svoju listu direktorijuma, tražeći prvi izvršni
fajl sa imenom su kojeg može da izvrši. Ovo se
dešava uvek kada pokrenete program, a da niste naznačili punu putanju do njega;
ako dobijete ““Command not found””
grešku, to samo znači da program kojeg ste pokušali da pokrenete nije u
vašoj PATH varijabli (path na engleskom znači staza).
(Naravno, ovo bi bilo tačno ukoliko program uopšte ne postoji...).
Razmotrićemo varijable okruženja detaljnije u Section 8.3.1.
Takođe se setite kako je “.” prečica
za trenutni direktorijum, pa ukoliko se desi da ste u /bin, ./su će raditi isto kao i eksplicitna puna putanja.
Skoro svaka školjka prepoznaje neke znakove kao zamene ili skraćenice koje
znače: ovde ide bilo šta. Takvi znaci se zgodno zovu džokeri, ili na
engleskom wildcards; najčešći su * i ?. Po konvenciji, ?obično znači
bilo koji jedan znak. Na primer, pretpostavimo da ste u direktorijumu sa tri fajla: ex1.txt, ex2.txt i ex3.txt. Želite da kopirate sve ove fajlove (koristeći
cp komandu koju smo opisali u Section 10.5.1) u neki drugi direktorijum, recimo
/tmp. Pa, kucanje cp ex1.txt ex2.txt
ex3.txt /tmp je totalno puno posla. Mnogo je lakše ukucati cp ex?.txt /tmp; znak ? će se
poklopiti sa svakim od znakova “1”, “2” i “3”, i
svaki od njih će biti redom zamenjen.
Šta kažete? To je još
uvek previše posla? U pravu ste. Naporno je; imamo zakone o radu koji nas
štite od takvih stvari. Srećom, takođe imamo i *.
Kao što sam već pomenuo * će se poklopiti sa
“bilo kojim brojem znakova”, ukljućujuči i nijedan. Pa ako su ova
tri fajla jedina u direkotorijumu, mogli bismo jednostanvo reći cp * /tmp i obuhvatiti ih sve u jednom zamašaju. Pretpostavimo,
ipak, da postoji i fajl sa imenom ex.txt i neki sa imenom hejaz.txt. Želimo da iskopiramo ex.txt, ali ne i hejaz.txt; cp ex* /tmp će uraditi to za nas.
cp ex?.txt /tmp, će, naravno, obuhvatiti samo naša
tri početna fjla; ne postoji znaku u ex.txt kojeg će
zameniti ?, pa će on biti izostavljen.
Još jedan čest džoker je par uglastih zagrada [
]. Bilo koji znak unutar zagrada će biti zamenjen na mestu [ ] kako bi se našli fajlovi koji se poklapaju. Zvuči
zbunjujuće? Nije jako teško. Pretpostavimo za primer, imamo direktorijum koji
sadrži sledećih 8 fajlova: a1, a2, a3, a4, aA, aB, aCi aD . Želimo da nađemo samo fajlove koji se
završavaju sa brojem; [ ] će uraditi ovo za nas.
Ali šta ako želimo samo a1, a2 i a4? U prethodnom primeru smo
koristili - da znači sve vrednosti između 1 i 4. Možemo, takođe,
odvojiti pojedine znakove sa zarezima.
Znam šta sada mislite, “A šta je sa slovima?” Linux razlikuje
velika i mala slova, što znači da su a i A različita slova koja su povezana samo u vašoj glavi.
Velika slova uvek idu ispred malih, pa A i B dolaze pre a i b. Nastavljajući sa našim prethodnim primerom, ukoliko
želimo fajlove a1 i A1,
možemo ih brzo pronaći pomoću [ ].
Primetite da bismo dobili pogrešne rezultate ukoliko bismo upotrebili crticu
umesto zareza.
% ls [A-a]1
A1 B1 C1 D1 a1
|
Takođe možete kombinovati crticu i zarez.
% ls [A,a-d]
A1 a1 b1 c1 d1
|
(Sada sledi nešto cool.)
Znate šta je to? To sam ja kako izvršavam ps kako
bih video koji se procesi izvršavaju; ps je opisana u Section 11.3. Taj deo nije cool, cool deo je > blargh, koji znači, grubo rečeno, uzmi izlaz iz ps i upiši ga u fajl sa imenom blargh. Ali sačekajte, postaje još više cool.
Ova linija uzima izlaz iz ps i sprovodi ga kroz less, pa tako mogu pomerati kako mi se hoće.
Ovaj treći je načešće korišćen preusmerivač; on
radi istu stvar kao i “>”, osim što će “>>”
dodati izlaz iz ps u fajl blargh,
ukoliko takav fajl već postoji. Ako ne, isto kao i sa “>”, on će
biti napravljen. (“>” će uništiti trenutni sadržaj fajla
blargh.)
Takođe postoji i “<” operator, koji znači uzmi vaš unos
iz sledećeg, ali ni blizu korišćen kao ostali.
% fromdos < dosfile.txt > unixfile.txt
|
Preusmeravanje postaje stvarno zabavno jednom kada se počnete s njime igrati:
To će pokrenuti ps, obrnuti linije koje on napiše i
dodati ih u fajl blargh. Možete naređati koliko god
hoćete ovih; samo budite oprezni i pamtite da se izvršavaju s leva na
desno.
Pogledajte man stranicu za bash(1) za detaljnije informacije
o preusmeravanju.
Linux sistem je komplikovana životinja, i postoji mnogo toga što se treba
pamtiti, mnogo sitnih detalja koji ulaze u igru prilikom normalnih interakcija sa raznim
programima (ne morate ni biti svesni nekih od njih). Niko ne želi da daje gomilu
opcija svakom programu kojeg izvršava, govoreći mu koju vrstu terminala
koristi, ime računara, kako prompt treba da izgleda...
Pa, kao mehanizam preživljavanja, korisnici imaju nešto što se zove
okruženje. Okruženje definiše uslove pod kojima se izvršavaju
programi, a neke od ovih definicija su varijable; korsnik ih može promeniti i igrati
se njima, što je dobro samo u Linux sistemu. Skoro svaka školjka ima varijable
okruženja (ako ne, onda to verovatno i nije korisna školjka). Ovde ćemo
dati pregled komandi koje pruža bash za manipulaciju svojih varijabli
okruženja.
set pozvan tako će vam pokazati sve varijable
okruženja koje su trenutno definisane, kao i njihove vrednosti. Kao i većina
komandi ugrađenih u bash on može uraditi još
nekoliko stvari (sa parametrima); ipak ćemo to ostaviti bash(1) man stranici da objasni. Example 8-1 prikazuje isečak iz set komande pokrenute na jednom od autorovih računara.
Primetite u ovom primeru PATH varijablu o kojoj je pre
diskutovano. Programi u bilo kojem od ovih direktorijuma se mogu pokrenuti ako ukucate
samo njihovo ime.
Example 8-1. Listanje varijabli okruženja sa set
% set
PATH=/usr/local/lib/qt/bin:/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:
/usr/openwin/bin:/usr/games:.:/usr/local/ssh2/bin:/usr/local/ssh1/bin:
/usr/share/texmf/bin:/usr/local/sbin:/usr/sbin:/home/logan/bin
PIPESTATUS=([0]="0")
PPID=4978
PS1='\h:\w\$ '
PS2='> '
PS4='+ '
PWD=/home/logan
QTDIR=/usr/local/lib/qt
REMOTEHOST=ninja.tdn
SHELL=/bin/bash
|
unset će ukloniti svaku varijablu koju mu date,
brišući i varijablu i njenu vrednost; bash će
zaboraviti da je varijabla ikada postojala. (Ne brinite. Ukoliko nije nešto što
ste eksplicitno definisali u sesiji školjke, verovatno će biti opet definisana
u svakoj drugoj sesiji.)
% export VARIJABLA=neka_vrednost
|
Sad, export je istinski zgodan. Koristeći ga, dajete
varijabli okruženja VARIJABLA vrednost “neka_vrednost”; ukoliko VARIJABLA nije
postojala, sada postoji. Ukoliko je VARIJABLA već imala
vrednost, pa, nema je više. To nije baš najbolje ukoliko pokušavate da
dodate direktorijum u vaš PATH. U tom slučaju, verovatno
želite da koristite nešto kao ovo:
% export PATH=$PATH:/neki/nov/direktorijum
|
Primetite kako koristimo $PATH ovde: kada želite da bash interpretira varijablu (zameni je s njenom
vrednošću), ubacite $ pred početak imena
varijable. Na primer, echo $PATH će napisati vrednost
varijable PATH, u mom slučaju:
% echo $PATH
/usr/local/lib/qt/bin:/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:
/usr/openwin/bin:/usr/games:.:/usr/local/ssh2/bin:/usr/local/ssh1/bin:
/usr/share/texmf/bin:/usr/local/sbin:/usr/sbin:/home/logan/bin
|
(Ovde opet sledi nešto cool.)
-
Interfejs komandne linije znači mnogo kucanja.
-
Kucanje je posao.
-
Niko ne voli posao.
Iz 3 i 2, možemo zaključiti da (4) niko ne voli kucanje. Srećom, bash nas čuva od (5) (niko ne voli interfejs komandne
linije).
Kako bash postiže ovaj divni zadatak, pitate vi? U
dodatak džokerima koje smo prodiskutovali pre, bash ima
osobinu tab popunjavanja
Tab popunjavanje radi nešto slično ovome: Vi kucate ime fajla. Može je
on u vašoj varijabli PATH, možda ga kucate eksplicitno.
Sve što treba da uradite je da ukucate dovoljno od imena da fajl bude jedinstven sa
tim slovima. Onda pritisnite taster tab. bash će razumeti
šta želite i završiti kucanje umesto vas!
Vreme je za primer. /usr/src ima dva poddirektorijuma: /usr/src/linux i /usr/src/sendmail. Ja
želim da vidim šta je u /usr/src/linux. Stoga samo
kucam ls /usr/src/l, pritisnem TAB
taster i bash mi daje ls
/usr/src/linux.
Sada, pretpostavimo da postoje dva direktorijuma /usr/src/linux i /usr/src/linux-old;
ukoliko ukucam /usr/src/l i pritisnuo TAB, bash će popuniti koliko god
može, i ja ću dobiti /usr/src/linux. Mogu tu stati,
ili mogu pritisnuti TAB opet i bash
će pokazati listu direktorijuma koji se poklapaju sa tim što sam do sad
ukucao.
Time manje kucanja (i samim tim, ljudima se mogu sviđati interfejsi komandne
linije). Rekao sam vam da je cool.
Recimo, u sred ste rada na nečemu i odlučite da trebate uraditi nešto
drugo. Možete prestati s tim što radite trenutno i prebaciti se na drugi
zadatak, ali ovo je višekorisnički sistem, zar ne? I možete se ulogovati
istovremeno koliko god puta želite, jeli tako? Pa zašto biste onda morali
raditi jednu po jednu stvar?
Ne morate. Ne možemo svi imati više tastatura, miševa i monitora za
jednom mašinom; šanse su da većina nas to ni ne želi. Jasno je,
hardver nije rešenje. To onda ostavlja softver i Linux ovde stupa na scenu,
pružajući “virtuelne terminale”, ili “VT”-ove.
Pritiskajući Alt i funkcijski taster, možete se
prebacivati između virtuelnih terminala; svaki funkcijski taster odgovara jednom.
Slackware ima loginove za 6 VT-ja, podrazumevano. Alt+F2 će vas prebaciti u drugi, Alt+F3 u treći, itd.
Ostali funkcijski taster su rezervisani za X sesije. Svaka X sesija koristi svoj VT,
počev od sedmog (Alt+F7) i naviše.
Kada ste u X-u, Alt+Funkcijski taster
kombinacija je zamenjena sa Ctrl+Alt+Funkcijski taster; pa ako ste u X-u i želite da se vratite u
tekstualno logovanje (bez izlaska iz X sesije), Ctrl+Alt+F3 će vas prebaciti u trećo. (Alt+F7 će vas vratiti nazad, pod
pretpostavkom da koristite prvu X sesiju.)
Ali šta je sa situacijama u kojima nema virtuelnih terminala? Šta onda?
Srećom, Slackware uključuje prelepi menadžer ekrana prigodno nazvan screen. screen je emulator terminala koji
ima mogućnosti virtuelnih terminala. Pokretanje screen-a
prikazuje kratki uvod, i onda vas baca u terminal. Za razliku od standardnih virtuelnih
terminala, screen ima sopstvene komande. Sve screen komande imaju prefiks Crtl+A tastere. Na primer, Ctrl+A+C će otvoriti novu sesiju terminala. Ctrl+A+N će prebaciti
u sledeći terminal. Ctrl+A+P prebacuje na prethodni terminal.
screen takođe podržava otkačivanje i ponovno
kačenje na screen sesije što je posebno korisno za
udaljene sesije preko ssh i telnet
komandi, (više o njima kasnije). Ctrl+A+D će otkačiti trenutno pokrenut
screen. Izvršavanje screen -r će izlistati sve
trenutno pokrenute screen sesije na koje možete da se zakačite.
% screen -r
There are several suitable screens on:
1212.pts-1.redtail (Detached)
1195.pts-1.redtail (Detached)
1225.pts-1.redtail (Detached)
17146.pts-1.sanctuary (Dead ???)
Remove dead screens with 'screen -wipe'.
Type "screen [-d] -r [pid.]tty.host" to resume one of them.
|
Pokretanjem screen -r 1212 ćete se ponovo zakačiti
na prvi screen koji je izlistan. Prethodno sam pomenuo koliko je ovo korisno za udaljene
sesije. Ukoliko bih bio ulogovan na udaljeni Slackware server preko ssh, a desi se nekim slučajem nestanak struje gde se nalazim,
šta god da sam radio bi trenutno isparilo, što može biti užasna stvar
za vaš server. Korišćenje screen komande
sprečava ovo tako što otkači moju sesiju ukoliko se prekine veza. Kada
povratim svoju konekciju, mogu ponovo zakačiti svoju screen sesiju i nastaviti
tačno tamo gde sam stao.
Chapter 9 Struktura
sistema fajlova
Već smo govorili o strukturi direktorijuma u Slackware Linux-u. Do sada bi
trebalo da možete da pronađete ono što vam je potrebno na disku. Ali,
sistem fajlova je nešto više od strukture direktorijuma.
Linux je višekorisnički operativni sistem u svakom pogledu, što se
odrazilo i na sistem fajlova. Sistem čuva informacije kao što su pripadnost
fajlova i dozvole za čitanje. Postoje i druge jedinstvenosti sistema fajlova kao
što su linkovi i NFS montiranja. U ovom poglavlju će biti objašnjeni i
višekorisnički aspekti sistema fajlova.
Sistem fajlova sadrži podatke o vlasništvu za svaki fajl i direktorijum na
disku. Ovde su uključene informacije koji korisnik i grupa poseduje određeni
fajl. Najlakši način da ovo vidite je sa komandom ls:
% ls -l /usr/bin/wc
-rwxr-xr-x 1 root bin 7368 Jul 30 1999 /usr/bin/wc
|
Nas interesuju treća i četvrta kolona. One sadrže ime korisnika i grupe
čiji je fajl. Vidimo da fajl pripada korisniku “root” i grupi “bin”.
Možemo lako promeniti vlasnika fajla sa: chown(1)
(što je skraćenica od: “change owner”) i chgrp(1) (što je skraćenica od: “change
group”). Ako želimo da za vlasnika fajla postavimo daemon onda koristimo chown:
# chown daemon /usr/bin/wc
|
Da bi promenili grupu kojoj pripada fajl u “root”, koristimo chgrp:
Takođe možemo koristiti chown da bi smo promenuli i
korisnika i grupu čiji je fajl:
# chown daemon:root /usr/bin/wc
|
U prethodnom primeru smo korisnika i grupu mogli razdvojiti sa “.” a ne sa
“:”. U suštini efekat je isti ali je korišćenje
“:” pravilnije. “.” treba izbegavati i možda će biti
uklonjena u sledećim verzijama chown da bi se
omogućilo korišćenje korisničkih imena koja sadrže
“.”. Ova imena su veoma popularna kod Windows Exchange servera i često
se susreću u e-mail adresama kao na primer: mr.jones@example.com. U Slackware Linuxu, administratori su
savetovani da se takva korisnička imena izbegnu jer su u upotrebi skripte koje
koriste “.” da odvoje ime korisnika od naziva grupe kojoj pripada fajl ili
direktorijum. U našem primeru komanda chmod bi
protumačila mr.jones kao korisnik “mr” i grupa
“jones”.
Posedovanje fajlova je veoma važan deo korišćenja Linuxa čak i
kada ste jedini korisnik. Nekada ćete morati da popravite pripadanje fajla ili
uređaja.
Dozvole su druga važna stavka višekorisničkog sistema fajlova. Njima se
određuje ko može da čita, piše i izvršava fajlove.
Postoje četitri skupa dozvola. Svakom skupu odgovara određena pozicija
oktalne cifre koja može imati različite vrednosti. Prve tri pozicije su za
skupove dozvola koje se odnose na vlasnika, grupu kojoj pripada vlasnik i sve ostale.
Pozicije su dodeljene respektivno. Četvrta oktalna cifra se koristi za postavljanje
ID korisnika, ID grupe i lepljivi (sticky) bit. Oktalne vrednosti koje se odnose na
dozvole su (takođe postoje i odgovarajuća slova koja su prikazana programima
kao ls a može ih koristiti sa chmod):
Table 9-1. Oktalne vrednosti dozvola
Tip dozvole |
Oktalna vrednost |
Slovo dozvole |
“sticky” bit |
1 |
t |
postavi ID korisnika |
4 |
s |
postavi ID grupe |
2 |
s |
čitanje |
4 |
r |
pisanje |
2 |
w |
izvršavanje |
1 |
x |
Da biste dobili oktalan broj koji reprezentuje skup dozvola, sabirate pojedinačne
vrednosti dozvola u skupu (pojedinačne vrednosti dozvola vidimo iz gornje tabele).
Recimo za “čitanje” i “pisanje”, bi bilo
“6”.
bash-ove podrazumevane dozvole su:
% ls -l /bin/bash
-rwxr-xr-x 1 root bin 477692 Mar 21 19:57 /bin/bash
|
Prva crtica bi bila zamenjena sa “d” da se radi o direktorijumu. Zatim su
prikazane tri grupe dozvola (dozvole vlasnika, grupe kojoj vlasnik pripada, i svih
ostalih). Vidimo da vlasnik ima dozvolu da čita, piše i izvršava (rwx), grupi je dozvoljeno samo da čita i izvršava (r-x), kao i svim ostalima (r-x).
Kako bismo postavili dozvole drugog, proizvoljnog fajla iste kao u predhodnom primeru?
Prvo, napravimo neki fajl koji će nam poslužiti kao primer:
% touch /tmp/example
% ls -l /tmp/example
-rw-rw-r--- 1 david users 0 Apr 19 11:21 /tmp/example
|
Koristićemo chmod(1) (što je skraćenica od
“change mode”) da postavimo dozvole na naš primer. Saberite oktalne
brojeve za dozvole koje želite. Ako vlasnik treba da čita, piše i
izvršava, onda imamo vrednost 7. Čitanje i izvršavanje je 5. Ovo lepo uklopljeno sa chmod bi
izgledalo ovako:
% chmod 755 /tmp/example
% ls -l /tmp/example
-rwxr-xr-x 1 david users 0 Apr 19 11:21 /tmp/example
|
Sada se verovatno pitate: “A čime su određene dozvole koje se
postavljaju na novi fajl?” Odgovor je jednostavan. bash
ima ugrađen programčić nazvan umask, koji se
inače nalazi u većini Unix školjki. I on kontroliše koje će se
dozvole postaviti na novi fajl. Već je bilo reči o bash-ovim ugrađenim programima do nekog nivoa u Section 8.3.1. Na umask se
treba malo navići. Funkcioniše slično kao chmod,
samo obrnuto. Vi postavite oktalne vrednost akcija (dozvola) koje ne želite da budu
dozvoljene u novo-kreiranim fajlovima. Podrazumevana vrednost za umask je 0022.
% umask
0022
% umask 0077
% touch tempfile
% ls -l tempfile
-rw-------- 1 david users 0 Apr 19 11:21 tempfile
|
Za više informacija o bash-u pogledajte man
stranice.
Za postavljanje specijalnih dozvola sa chmod saberite oktalne
vrednosti dozvola koje postavljate i smestite ih u prvu kolonu. Na primer, za
postavljanje dozvola korisnika i grupe ( eng. “set user ID” i “set
group ID”) postavimo “6”. Dakle:
% chmod 6755 /tmp/example
% ls -l /tmp/example
-rwsr-sr-x 1 david users 0 Apr 19 11:21 /tmp/example
|
Ako vas ovi brojevi zbunjuju, uz chmodmožete koristiti
slova. A šta koje slovo predstavlja se vidi iz sledećeg primera:
Da bi smo prethodni primer uradili na ovaj način potrebno je nešto više
kucanja:
% chmod a+rx /tmp/example
% chmod u+w /tmp/example
% chmod ug+s /tmp/example
|
Neko preferira slova, a neko brojeve, sve u svemu rezultat je uvek isti.
Oktalni format je obično brži i češće se koristi u skriptama.
Mada su slova u nekim situacijama moćnije sredstvo. Na primer, koristeći
brojeve je teže promeniti jednu grupu dozvola a da se ostale očuvaju, što
je veoma lako sa slovima.
% ls -l /tmp/
-rwxr-xr-x 1 alan users 0 Apr 19 11:21 /tmp/example0
-rwxr-x--- 1 alan users 0 Apr 19 11:21 /tmp/example1
----r-xr-x 1 alan users 0 Apr 19 11:21 /tmp/example2
% chmod g-rwx /tmp/example?
-rwx---r-x 1 alan users 0 Apr 19 11:21 /tmp/example0
-rwx------ 1 alan users 0 Apr 19 11:21 /tmp/example1
-------r-x 1 alan users 0 Apr 19 11:21 /tmp/example2
|
Spominjali smo postavljanje dozvola vezane za korisnike i grupe na nekoliko mesta.
Možda se pitate šta je ovo. Obično, kada pokrenete program, on se
izvršava pod vašim korisničkim imenom sa dozvolama koje vi posedujete.
Isto važi i za vašu grupu. Kada ga pokrenete, izvršava se pod grupom kojoj
vi pripadate. Sa “set user ID” možete podesiti da se program uvek
pokreće sa pravima jednog istog korisnika (kao na primer “root”).
“Set group ID” je slično kao za korsnika, samo što se odnosi na
grupu.
Dobro pazite sa ovim, jer možete otvoriti velike bezbednosne rupe na vašem
sistemu. Ako često korsitite “set user ID ” i “set group ID”
koje poseduje korisnik root, dozvoljavate da svako pokreće
taj program kao root. Kako root nema
nikakvih ograničenja na sistemu, vidite da ovo može biti velik bezbednosni
problem. Ukratko, nije loše dozvoliti programu ono što može određeni
korisnik ili grupa, ali samo za neke obične stvari.
Linkovi su pokazivači između fajlova. Sa njima je moguće da fajlovi
postoje na više mesta i da im se može pristupati sa više imena. Postoje
dve vrste linkova (veza): hard (kruti) i soft (slabi).
Krute veze su imena za određene fajlove. Mogu da postoje samo na jednom sistemu
fajlova i uklanjaju se samo kada se pravo ime uklanja sa sistema. Veoma su korisni u
nekim slučajevima, mada se mnogim korisnicima slabe veze čine
primenjivijim.
Slabe veze, takođe zvane i simboličke veze (eng. “symbolic
link”) mogu da pokazuju na fajl koji se nalazi van sistema fajlova. To je mali fajl
koji sadrži samo najnužnije informacije. Simboličke linkove možete
dodavati ili uklanjati bez uticaja na fajl na koji se odnose. Simbolički linkovi
mogu da pokazuju i na direktorijume. Na primer, često je /var/tmp simbolički link ka /tmp.
Linkovi nemaju svoj skup dozvola, već se na njih odnose dozvole fajla ili
direktorijuma na koji pokazuju. Slackware obično koristi simboličke veze. Evo
jednog primera:
% ls -l /bin/sh
lrwxrwxrwx 1 root root 4 Apr 6 12:34 /bin/sh -> bash
|
sh školjka pod Slackware-om je praktično bash. Uklanjanje linkova se obavlja komandom rm, a kreiranje sa ln. O ovim komandama
će biti više reči u Chapter 10.
U pojedinim situacijama je važno obraćati pažnju na simboličke
veze. Jednom sam radio na kompjuteru koji nikako nije mogao da snimi podatke na disketu.
Postojale su dve pokvarene simboličke veze. Obično bi se ovo temeljnom proverom
otkrilo ranije.
Kao što je već bilo reči u Section 4.1.1, svi uređaji u vašem
kompjuteru čine jedan veliki sistem fajlova. Različite particije na hard disku,
optički uređaji, disketna jedinica su smešteni u jednom istom drvetu. Da
bi smo ove uređaje pripojili fajl sistemu kako bi smo im mogli pristupati, moramo
koristiti komande: mount(1) i umount(1).
Neki su uređaji automatski montirani kada upalite kompjuter, i oni se nalaze u
fajlu /etc/fstab. Sve što želite da bude automatski
montirano, mora biti ovde navedeno. Ostale uređaje će te morati manualno
montirati svaki put kada želite da ih koristite.
Pogledajmo primer fajla /etc/fstab:
% cat /etc/fstab
/dev/sda1 / ext2 defaults 1 1
/dev/sda2 /usr/local ext2 defaults 1 1
/dev/sda4 /home ext2 defaults 1 1
/dev/sdb1 swap swap defaults 0 0
/dev/sdb3 /export ext2 defaults 1 1
none /dev/pts devpts gid=5,mode=620 0 0
none /proc proc defaults 0 0
/dev/fd0 /mnt ext2 defaults 0 0
/dev/cdrom /mnt/cdrom iso9660 ro 0 0
|
U prvoj koloni su imena uređaja. U ovom slučaju su to pet particija na dva
hard diska, dva posebna sistema fajlova kojima nije potreban uređaj, floppy i
CD-ROM. U drugoj koloni je mesto gde će uređaj biti montiran. Ovo je naziv i
putanja direktorijuma sem u slučaju swap particije. Treća kolona je tip sistema
fajlova. Obično je za linux ext2 (second extended
filesystem), za CD-ROM uređaj je iso9660, a za
Windows-bazirane particije su msdos ili vfat.
Četvrta kolona je niz opcija koje se odnose na montirani fajl sistem.
Podrazumevane opcije su sasvim dovoljne. Uređaji koji su predviđenji samo za
čitanje bi trebali da imaju ro opciju. Ima veoma mnogo
opcija koje se mogu koristiti. Vidite man stranicu za fstab(5)
za više informacija. Poslednje dve kolone koristi fsck i
druge komande koje rukuju uređajima. Ovo takođe možete detaljnije
pročitati na man stranicama.
Kada instalirate Slackware Linux, program za podešavanje će sam kreirati
veći deo fajla fstab.
Povezati neki uređaj za vaš fajl sistem je lako. Potrebno je samo koristiti
mount komandu, sa još nekim opcijama. Ovo može biti
uprošteno ako je uređaj naveden u fajlu /etc/fstab.
Na primer, recimo da da ja želim da montiram moj CD-ROM uređaj i da moj fstab fajl izgleda kao gore naveden, mount
bih koristio ovako:
Kako se gore navedena putanja već nalazi u fajlu fstab,
mount koristi opcije tamo navedene. Da uređaj nije bio
naveden u fajlu fstab, uz mount bih
trebao da navedem još neke opcije:
% mount -t iso9660 -o ro /dev/cdrom /cdrom
|
Gornja komanda sadrži iste informacije kao i primer u fajlu fstab, ali će mo se ipak ovde malo zadržati. -t iso9660 je tip fajl sistema uređaja koji se montira. U
našem slučaju je to iso9660 sistem fajlova koji CD-ROM uređaji
najčešće koriste.-o ro govori da je
uređaj samo za čitanje. /dev/cdrom je ime
uređaja koji se montira a /cdrom je lokacija gde se
uređaj montira.
Pre nego što izvadite CD, disketu ili drugi slični uređaj koji je
trenutno montiran, morate da ga demontirate. Ovo se obavlja sa umount komandom. Nemojte pitati gde nestade ono “n” jer
vam nebismo mogli reći. Kao argument za umount se može
koristiti ili putanja uređaja ili lokacija montiranja. Za demontiranje CD-ROM-a bi
obe sledeće komande isto radile:
# umount /dev/cdrom
# umount /cdrom
|
NFS je skraćenica za “Network Filesystem”, ili Mrežni fajl
sistemi. Oni nisu deo stvarnog fajl sistema, ali se mogu dodavati na montirani fajl
sistem.
Veliki Unix sistemi često dele iste programe ili direktorijume. Problem kopiranja
fajlova na svaki pojednačni kompjuter u sistemu je rešen sa NFS. Fajl ili
direktorijum koji je potreban se nalazi na jednom kompjuteru a drugi ga samo montiraju na
svoj kompjuter i koriste kao da je baš kod njih.
Pogledajte Section 5.6.2 i man stranice:
exports(5), nfsd(8) i mountd(8) za više informacija.
Chapter 10 Upravljanje fajlovima i
direktorijumima
Linuks operativni sistem najviše liči na Unix. Tradicionalno, Unix sistemi
su orjentisani za rad iz komandne linije. Mi naravno da imamo grafički interfejs u
Slackware-u, ali komandna linija je i dalje osnovni nivo kontrole sistema. Zbog toga je
neophodno da se poznaju neke od osnovnih komandi za upravljanje fajlovima.
Sledeće poglavlje, uz pomoć primera, objašnjava uobičajene komande
za manipulaciju sa fajlovima. Postoji mnogo drugih komandi, ali ove će vam za
početak biti dovoljne. Komande su ovde samo kratko opisane, dok ćete detaljnije
informacije dobiti iz njihovih man strana.
Ova komanda prikazuje (lista) fajlove u direktorijumu. Windows i Dos korisnici
primetiće sličnost sa dir komandom. Samo, ls(1) će prikazti fajlove u tekućem direktorijumu. Da
biste videli šta je u root direktorijumu, izvršite ove komande:
% cd /
% ls
bin cdr dev home lost+found proc sbin tmp var
boot cdrom etc lib mnt root suncd usr vmlinuz
|
Problem koji ima većina ljudi sa ovom komandom je što se na osnovu izlaza ne
može lako odrediti šta je direktorijum a šta fajl. Neki korisnici
više vole da na komandu ls dodaju opcije listinga, kao na
primer:
% ls -FC
bin/ cdr/ dev/ home/ lost+found/ proc/ sbin/ tmp/ var/
boot/ cdrom/ etc/ lib/ mnt/ root/ suncd/ usr/ vmlinuz
|
Direktorijumi dobijaju znak deljenje, eng. slash (/), na kraju imena, izvršni
fajlovi dobijaju zvezdicu, eng. asterisk, na kraju imena, itd.
ls se takođe može koristiti za dobijanje drugih
informacija o fajlu. Na primer, da biste videli vreme kreiranja, vlasništva i
dozvole, trebali biste da pogledate detaljniji prikaz:
% ls -l
drwxr-xr-x 2 root bin 4096 May 7 09:11 bin/
drwxr-xr-x 2 root root 4096 Feb 24 03:55 boot/
drwxr-xr-x 2 root root 4096 Feb 18 01:10 cdr/
drwxr-xr-x 14 root root 6144 Oct 23 18:37 cdrom/
drwxr-xr-x 4 root root 28672 Mar 5 18:01 dev/
drwxr-xr-x 10 root root 4096 Mar 8 03:32 etc/
drwxr-xr-x 8 root root 4096 Mar 8 03:31 home/
drwxr-xr-x 3 root root 4096 Jan 23 21:29 lib/
drwxr-xr-x 2 root root 16384 Nov 1 08:53 lost+found/
drwxr-xr-x 2 root root 4096 Oct 6 12:47 mnt/
dr-xr-xr-x 62 root root 0 Mar 4 15:32 proc/
drwxr-x--x 12 root root 4096 Feb 26 02:06 root/
drwxr-xr-x 2 root bin 4096 Feb 17 02:02 sbin/
drwxr-xr-x 5 root root 2048 Oct 25 10:51 suncd/
drwxrwxrwt 4 root root 487424 Mar 7 20:42 tmp/
drwxr-xr-x 21 root root 4096 Aug 24 03:04 usr/
drwxr-xr-x 18 root root 4096 Mar 8 03:32 var/
|
Da biste mogli da vidite skrivene fajlove u direktorijumu ova komanda će vam to
omogućiti:
% ls -a
. bin cdrom home mnt sbin usr
.. boot dev lib proc suncd var
.pwrchute_tmp cdr etc lost+found root tmp vmlinuz
|
Fajlovi koji počinu sa tačkom (tzv. tačka fajlovi, dot fajlovi) su
skriveni kada se pokrene samo ls. Možete ih videti samo ako
prosledite -a opciju.
Ova komanda ima mnogo opcija koje se mogu naći u man stranici. Ne zaboravite da
opcije možete kombinovati tako da dobijete izlaz koji vama odgovara.
cd komanda se koristi da se promeni radni direktorijum. Samo
kucajte cd i nakon toga putanju do direktorijuma u koji
hoćete da se prebacite. Evo nekih primera:
darkstar:~$ cd /bin
darkstar:/bin$ cd usr
bash: cd: usr: No such file or directory
darkstar:/bin$ cd /usr
darkstar:/usr$ ls
bin
darkstar:/usr$ cd bin
darkstar:/usr/bin$
|
Primetite da ako ne stavimo kosu crtu na početku to znači da hoćemo da
pređemo u poddirektorijum. Ako izvršite samo cd bez
ikakve opcije tada prelazite u vaš korisnički, početni, direktorijum.
Komanda cd nije kao druge komande. Ona je ugrađena u
školjku. Komande ugrađene u školjku su obrađene u Section 8.3.1. U suštini to znači da ova
komanda nema man stranicu. Umesto toga možete koristiti pomoć iz školjke.
Na primer:
će prikazati opcije za cd i kako da ih koristite.
Komanda pwd se koristi da bi se prikazala vaša trenutna
lokacija. Da biste to videli samo kucajte pwd . Na primer:
% cd /bin
% pwd
/bin
% cd /usr
% cd bin
% pwd
/usr/bin
|
more(1) je alat za prikazivanje. Često je izlaz nekih
komandi toliko velik da ne može da stane na jedan ekran. Pojedinačne komande ne
vode brigu kako da prikažu podatke koje izlaze na ekran nego se to prepušta
prikazivačima.
Komanda more prelama izlaz na pojedinačne ekrane i
čeka da se pritisne razmaknica (space bar) pre nego što prikaže
sledeći ekran. Pritiskanjem Entera pomera se za po jedan red. Evo dobrog
primera:
Ovo bi trebalo da prikaže podužu listu. Da biste prikazali ekran po po ekran
samo izlaz preusmerite na more:
Uspravna crta predstavlja uputstvo komandnom okruženju da izlaz ls komande preusmeri na ulaz komandi more.
Možete skoro sve preusmeravati na komandu more, ne samo ls. Preusmerivanje je takođe obrađeno u Section 8.2.3.
Komanda more je veoma zgodna, ali niste u mogućnosti da
se vraćate na predhodne ekrane. Takvu funkcionalnost vam omogućuje komanda less. Koristi se na isti način kao i more komanda, tako da ćemo predhodni primer i ovde iskoristiti.
Kao što vidite, less je više nego more. Džust Kremers je to ovako rekao: way:
less is more, but more more than more is, so more is less less, so use more less if you want less more.
Gde su more i less nemoćni, most(1) preuzima stvar. Ako je less
više od more, tada je most
više od less. Dok ostali prikazivači prikazuju samo
jedan fajl, u isto vreme komanda most je u stanju da prikazuje
neograničen broj fajlova, sve dok je svaki prozor za prikazivanje najmanje 2 reda
velik. Komanda most ima mnogo opcija pa pogledajte u njenu man
stranicu.
cat(1) je skraćeno od “concatenate”. U
početku je bila napravljena za spajanje tekst fajlova u jedan, ali se sada može
koristiti za mnoge druge stvari.
Da biste spojili jedan ili više fajlova , samo nabrojite fajlove posle cat komande i preusmerite izlaz u novi fajl. Komanda cat radi sa standardnim ulazom i izlazom, tako da treba da koristite
standardne karaktera školjke za redirekciju. Na primer:
% cat file1 file2 file3 > bigfile
|
Komanda uzima sadržaje iz file1, file2, i file3 i spaja ih sve zajedno.
Rezultat komande se šalje na standardni izlaz.
Komandu cat možete da koristite za prikazivanje fajlova.
Dosta ljudi cat-uje tekst fajlove kroz more ili less komande, kao na primer:
Ovo će prikazati file1 fajl preusmeravanjem preko
komandamore tako da ćete imati prikaz ekran po ekran.
Jedna od čestih primena komande cat je za kopiranje
fajlova. Možete kopirati bilo koji fajl sa cat, kao na
primer:
% cat /bin/bash > ~/mybash
|
/bin/bash program se kopira u vaš home direktorijum i
naziva se mybash.
Komanda cat ima mnogo upotreba i ovde smo obradili samo
nekoliko njih. Obzirom da cat daje standardne ulaze i izlaze,
ona je idealna za upotrebu u skriptama školjke ili kao deo drugih kompleksnijih
komandi.
Komanda echo prikazuje navedeni tekst na ekran. Samo treba da
navedete tekst koji želite da se ispiše posle komande echo . Podrazumevano echo ispisuje string i
prelazi u novi red. Ako prosledite opciju -n , ona će
sprečiti prelazak u novi red. Opcija-e će
prouzrokovati da echo komanda traži escape znak u stringu i
da ga izvrši.
Komanda touch se koristi da bi se promenilo vreme kreiranje
fajla. Ako navedeni fajl ne postoji, touch će kreirati fajl
nulte dužine sa navedenim imenom. Ako hoćete da obeležite navedeni fajl sa
sistemskim vremenom potrebno je da izvršite sledeću komandu:
% ls -al file1
-rw-r--r-- 1 root root 9779 Feb 7 21:41 file1
% touch file1
% ls -al file1
-rw-r--r-- 1 root root 9779 Feb 8 09:17 file1
|
Postoji nekoliko opcija za touch komandu,
uključujući opcije za modifikovanje vremena, vremena pristupa fajlu i dr.
Pogledajte man stranicu.
mkdir(1) će kreirati direktorijum. Prilikom pokretanja
komande samo navedite ime direktorijuma kojeg hoćete da kreirate. U ovom primeru
kreiramo hejaz direktorijum u tekućem direktorijumu.:
Takođe možete navesti i putanju, kao na primer:
Opcija -p navodi da se kreira roditeljski direktorijum,
ukoliko on ne postoji komanda mkdir će napraviti
roditeljski direktorijum. Predhodni primer neće uspeti ako ne postoji /usr/local.Opcija -p napraviće i /usr/local i /usr/local/hejaz:
% mkdir -p /usr/local/hejaz
|
cp kopira fajlove. DOS korisnici primetiće sličnost
sa copy komandom. Postoji mnogo opcija za cp komandu, pa bi trebalo da pogledate man stranicu pre nego
što je počnete koristiti.
Najčešća upotreba komande cp je da kopira fajl
sa jedne lokacije na drugu. Kao u primeru:
Ovo kopira fajl hejaz iz tekućeg direktorijuma u /tmp direktorijum.
Mnogi korisnici žele da sačuvaju vremenske atribute fajla netaknute prilikom
kopiranja, kao u primeru koji sledi:
Sa ovom opcijom obezbeđujemo da vremenski atributi ostanu nepromenjeni.
Rekruzivno kopiranje sadržaja direktorijuma, sa svim njegovim poddirektorijumima
i fajlovima, vrši se na sledeći način:
Ovo će kopirati direktorijum mydir u /tmp direktorijum.
Takođe ako želimo da kopiramo direktorijum ili fajl, a da nam ostanu
nepromenjena prava pristupa i vremenski atributi, potrebno je da koristimo komandu cp -p.
% ls -l file
-rw-r--r-- 1 root vlad 4 Jan 1 15:27 file
% cp -p file /tmp
% ls -l /tmp/file
-rw-r--r-- 1 root vlad 4 Jan 1 15:27 file
|
cp ima još mnogo drugih opcija koje su obajašnjene
u okviru man strana.
mv(1) premešta fajl sa jednog mesta na drugo.
% mv oldfile /tmp/newfile
|
mv ima nekoliko korisnih opcija koje su objašnjene u man
stranici. U praksi, mv se gotovo nikada ne koristi sa
opcijama.
rm(1) uklanja fajlove i stabla direktorijuma. DOS korisnici
će primetiti sličnost sa del i deltree komandama. rm može biti veoma
opasan ukoliko čovek nije oprezan. Iako je ponekad moguće povratiti obrisane
fajlove, to može biti komplikovano (i potencijalno skupo) i izlazi van tema koje se
obrađuju u ovoj knjizi.
Da biste uklonili jedan fajl, navedite njegovo ime kada pokrenete rm:
Ako je dozvola za upis u fajl uklonjena, dobićete "permission denied" poruku
greške. Da biste obrisali fajl bez obzira na sve dozvole, prosledite -f opciju, kao na primer:
Da biste obrisali ceo direktorijum, koristite zajedno -r i
-f opcije. Ovo je dobar primer kako obrisati ceo sadržaj
hard diska. Ovo stvarno ne biste želeli, ali evo komande :
Budite veoma oprezni sa rm; možete sami sebi
zagorčati život... Postoji nekoliko opcija u komadnoj liniji koje su detaljno
opisane u man stranici.
rmdir(1) uklanja direktorijume sistema fajlova. Direktorijum
mora biti prazan pre nego što će biti uklonjen. Sintaksa je jednostavna:
Ovaj primer uklanjanja hejaz poddirektorijum iz radnog
direktorijuma:
Ako direktorijum ne postoji, rmdir će vam to reći.
Takođe možete navesti i punu putanju do direktorijuma kojeg hoćete da
uklonite, kao što je prikazano u sledećem primeru:
Sledeći primer uklanja hejaz direktorijum unutar /tmp direktorijuma.
Takođe možete ukloniti direktorijum i njegove poddirektorijume ako
prosledite -p opciju.
Ovo prvo pokušava da ukloni hejaz direktorijum unutar
/tmp. Ako je to uspešno urađeno, tada pokušava
da ukloni /tmp. rmdir će
nastaviti tako sve dok se ne pojavi greška ili dok se ne obriše celo stablo
direktorijuma.
ln(1) se koristi da se kreira vezu (link) između
fajlova. Te veze mogu da budu čvrste (hard) ili simbolične (soft). Razlike
između te dve vrste veza su obrađene u Section 9.3. Ukoliko hoćete da napravite
simboličnu vezu na direktorijum /var/media/mp3 i postavite
taj link u vaš korisnički direktorijum, trebali biste da uradite
sledeće:
% ln -s /var/media/mp3 ~/mp3
|
Opcija -s govori ln da napravi
simbolični link. Sledeća opcija je meta (direktorijum na koji treba da
napravimo link), a poslednja opcija nam definiše ime linka koji kreiramo. U ovom
slučaju, fajl možemo nazvati mp3 u vašem home
direktorijumu koji će pokazivati na /var/media/mp3.
Pravljenje črvste (krute, eng. hard) veze je veoma jednostavno. Sve što
treba da uradite je da ne stavite -s opciju. Čvrste veze
se ne koriste da ukazuju na direktorijume ili fajlove u drugim sistemima fajlova. Da
biste kreirali čvrstu vezu /usr/bin/email na /usr/bin/mutt, samo kucajte sledeće:
# ln /usr/bin/mutt /usr/bin/email
|
Chapter 11 Kontrola procesa
Svaki program koji je pokrenut zove se proces. Pod procesom se mogu podrazumevati sve
one stvari od X Window sistema, pa do sistemskih programa (demona) koji se pokreću
kada se računar uključi. Svaki proces kada se pokrene je u vlasništvu
korisnika koji ga je pokrenuo. Procesi koji su pokrenuti u toku butovanja obično su
u vlasništvu root ili nobody
korisnika. Procesi koje ste vi startovali biće pokrenuti u vaše ime. Procese
koje su pokrenuli drugi korisnici biće njihovi.
Vi kontrolišete sve procese koje ste pokrenuli. Uz to, root korisnik ima kontrolu nad svim procesima na sistemu,
uključujući i one koje su pokrenuli drugi korisnici. Procesi se mogu
kontrolisati i pregledavati preko dosta programa i komandi školjke.
Programi koji su pokrenuti iz komadne linije izvršavaju se u prvom planu ili
pročelju (foreground). Na taj način se može videti izlaz programa i
vršiti interakcija sa programom. Međutim, postoje situacije kada ne želimo
da izvršavanje programa zauzima naš ekran. To se zove pokretanje programa u
pozadini, i to možemo uraditi na više načina.
Prvi način da stavimo proces u pozadinu je da dodamo ampersand (znak &) posle
komande koju pokrećemo. Na primer, pretpostavimo da hoćemo da koristimo
konzolni mp3 player amp koji bi trebao da reprodukuje muziku iz
direktorijuma ispunjenog sa mp3 datotekama, a u istovreme trebamo nešto drugo da
radimo na istom terminalu. Sledeća komanda trebala bi da pokrene amp u pozadini:
Program će se pokrenuti uobičajno, i vratiće prompt.
Drugi način da se stavi program u pozadinu je da to uradimo dok je on pokrenut.
Prvo, pokrenite program. Dok je pokrenut, pritisnite Control+z. To će suspendovati proces. Suspendovan proces je jednostavno
pauziran. On se momentalno zaustavio, ali se može pokrenuti ponovo u bilo koje
vreme. Onda kada je proces suspendovan, imaćete ponovo prompt. Proces možete
staviti u pozadinu ako otkucate:
Sada se suspendovan proces pokreće u pozadini.
Ako trebate da stupite u interakciju sa pozadinskim procesom, možete da ga
vratite u prvi plan. Ako imate samo jedan pozadinski proces, vratićete ga u prvi
plan ako otkucate:
Ako se program nije završio, on će uzeti kontrolu nad vašim terminalom
tako da vam se neće vratiti prompt. Ponekad, programi se i završe dok su
pokrenuti u pozadini. U toj prilici, dobićete poruku sličnu ovoj:
[1]+ Done /bin/ls $LS_OPTIONS
|
Ona vam govori da je pozadinski proces (u ovom slučaju ls - nije nešto interesantan) komplentiran.
Moguće je imati više pozadinskih procesa u isto vreme. U tom slučaju,
potrebno je da znate koji proces treba da vratite u prvi plan. Ako otkucate samo fg u prvi plan ćete staviti onaj proces je zadnji stavljen u
pozadinu. Šta ako imate masu pozadinskih procesa? Na sreću, u bash-u postoji
komanda za izlistavanje svih procesa. Ona se zove jobs i izlaz
joj je otprilike ovakav:
% jobs
[1] Stopped vim
[2]- Stopped amp
[3]+ Stopped man ps
|
Ovde vidimo listu svih procesa koji su u pozadini. I kao što vidite, svi su
stopirani. Što znači da su procesi suspendovani. Brojevi su sortiranu u odnosu
na ID svih pozadinskih procesa. ID sa znakom za plus (man ps) je
proces koji će biti u prvom planu ako otkucate fg.
Ako hoćete da stavite u prvi plan vim, trebali biste da
otkucate:
i na taj način bićete ponovo na konzoli. Pozadinski procesi mogu da budu od
velike koristi ako imate otvoren samo jedan terminal preko dialup konekcije. Možete
da imate nekolicinu programa pokrenutih na jednom terminalu, i da prelazite sa jednog na
drugi.
Sada znate kako da prelazite sa jednog procesa na drugi ukoliko ste ih pokrenuli iz
komadne linije. Isto tako znate da se mnogo procesa sve vreme odvija. Pa kako onda da se
izlistaju svi ti programi? Dobro, koristićemo ps(1)
komandu. Ova komanda ima tuce opcija, tako da ćemo ovde pokriti samo one
najvažnije. Za kompletnu listu, pogledaj te man stranu za ps. Korišćenje
man strana je do tančina objašnjeno u Section
2.1.1.
Jednostavno otkucajte ps i imaćete listing svih programa
pokrenutih na vašem terminalu. Tu se ubrajaju procesi koji su u prvom planu (tu
spada i školjka koju koristite, i naravno, ps lično).
Takođe su izlistani pozadinski procesi. Mnogo puta, to će biti veoma kratka
lista:
Čak i ako ovde nemamo puno procesa, informacije su veoma uobičajne.
Imaće te iste kolone ako koristite ps komandu nebitno koliko je procesa pokrenuto.
Pa da vidimo šta sve to znači?
Dakle, PID je ID
procesa. Svim pokrenutim procesima je dat jedinstven identifikator koji je u
rangu od 1 do 32767. Svakom procesu je dodeljen sledeći slobodan PID. Kada se proces
završi (ili se ubije, što ćete videti u sledećem poglavlju), on
predaje svoj PID. Kada se dosegne do maksimalnog PID-a vraće se najmanjem
slobododnom PID-u.
TTY kolona se odnosi na terminal na kome je pokrenut proces.
Pokretanjem ps komande bez ikakvih opcija imaćete listu
procesa tekućeg terminala, tako da ću svi procesi dati iste informacije u TTY
koloni. Kao što vidite, oba izlistana procesa su pokrenuta na ttyp0. To nam govori da su procesi ili pokrenuti sa udaljene
lokacije ili sa X terminala i slično.
TIME kolona određuje koliko se CPU vremena proces
izvršava. Ovo vreme ne treba mešati sa vremenom izvršavanja procesa.
Zapamtite da je Linux višekorisnički operativni sistem i da se više
procesa izvršava u isto vreme, i da ti procesi uzimaju malu porciju procesorskog
vremena. Tako da TIME kolona pokazuje vreme koje je nešto menje od aktuelnog vremena
izvršavanja procesa. Ako vidite vrednost veću od nekoliko minuta u TIME koloni,
znači da nešto nije u redu.
Konačno, CMD kolona govori o kom programu je reč.
Ona samo prikazuje osnovni program, i nikakve opcije komande ili slične informacije.
Da biste dobili takve informacije, potrebno je da koristite jednu od mnogih opcija ps komande. O njima ćemo prodiskutovati ukratko.
Kompletnu listu svih procesa koji se izvršavaju na vašem sistemu možete
dobiti pravilnom upotrebom ovih opcija. To će verovatno dati veliki listing procesa
(pedeset pet na mom laptopu u trenutku kada unosim ovu rečenicu), tako da ću
skratiti izlaz:
% ps -ax
PID TTY STAT TIME COMMAND
1 ? S 0:03 init [3]
2 ? SW 0:13 [kflushd]
3 ? SW 0:14 [kupdate]
4 ? SW 0:00 [kpiod]
5 ? SW 0:17 [kswapd]
11 ? S 0:00 /sbin/kerneld
30 ? SW 0:01 [cardmgr]
50 ? S 0:00 /sbin/rpc.portmap
54 ? S 0:00 /usr/sbin/syslogd
57 ? S 0:00 /usr/sbin/klogd -c 3
59 ? S 0:00 /usr/sbin/inetd
61 ? S 0:04 /usr/local/sbin/sshd
63 ? S 0:00 /usr/sbin/rpc.mountd
65 ? S 0:00 /usr/sbin/rpc.nfsd
67 ? S 0:00 /usr/sbin/crond -l10
69 ? S 0:00 /usr/sbin/atd -b 15 -l 1
77 ? S 0:00 /usr/sbin/apmd
79 ? S 0:01 gpm -m /dev/mouse -t ps2
94 ? S 0:00 /usr/sbin/automount /auto file /etc/auto.misc
106 tty1 S 0:08 -bash
108 tty3 SW 0:00 [agetty]
109 tty4 SW 0:00 [agetty]
110 tty5 SW 0:00 [agetty]
111 tty6 SW 0:00 [agetty]
[izlaz skraćen]
|
Većina ovih procesa se pokreće u toku butovanja na većini sistema. Ja
sam napravio nešto modifikacija na svom sistemu, tako da na vašem sistemu
može biti malo drugačije. Ipak većina tih procesa su pokrenuti i na
vašem sistemu. Kao što ste zapazili, ako ste ovako koristili ovu komandu, u
listingu ćete imati i opcije komandi koje su kreirale procese. U skorašenje
vreme, ranjivost kernela u ptrace je nametnula to da se ps komanda malo izmenila tako da ne prikazuje baš sve opcije sa
kojim je pokrenuta neka komanda. Te komande su sada prikazane kao uokvirene u srednje
zagrade kao u gore navedemom listigu za procese sa PID brojevima od 108 do 110. Isto tako
su dodate još neke kolone i još neki ineresantni izlazi.
Prvo, većina ovih izlistanih procesa je pokrenuto na tty “?”. Oni
nisu dodeljeni ni jednom određenom terminalu. Ovo uglavnom važi za demone, koji
su primer procesa koji nisu zakačeni ni za jedan terminal. Značajniji demoni su
sendmail, BIND, apache i NFS. Oni osluškuju zahteve koji dolaze od strane klijenata
i i na te zahteve vraćaju ono što su klijenti zahtevali.
Drugo, postoji nova kolona: STAT. Ona pokazuje status
procesa. S znači sleeping: taj proces čeka da se
nešto dogodi. Z znači zombi proces. Zombi su oni
procesi kod kojih je roditelj proces umro, i tako ostavo dete proces iza sebe. To nije
dobro. D se odnosi na procese koji su u neprekidnom spavanju
(uninterruptible sleep). Često ti procesi odbijaju da umru čak i kada im je
predat SIGKILL signal. Više o SIGKILL možete da saznate u sledećem odeljku
vezanom za kill komandu. W znači straničenje (paging).
Mrtvi procesi su označeni sa X. Procesi označeni sa
T su trasirani (traced), ili stopirani. R znači da su procesi pokrenuti.
Ako hoćete još informacija o pokrenutim procesima pokušajte ovako:
% ps -aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.0 344 80 ? S Mar02 0:03 init [3]
root 2 0.0 0.0 0 0 ? SW Mar02 0:13 [kflushd]
root 3 0.0 0.0 0 0 ? SW Mar02 0:14 [kupdate]
root 4 0.0 0.0 0 0 ? SW Mar02 0:00 [kpiod]
root 5 0.0 0.0 0 0 ? SW Mar02 0:17 [kswapd]
root 11 0.0 0.0 1044 44 ? S Mar02 0:00 /sbin/kerneld
root 30 0.0 0.0 1160 0 ? SW Mar02 0:01 [cardmgr]
bin 50 0.0 0.0 1076 120 ? S Mar02 0:00 /sbin/rpc.port
root 54 0.0 0.1 1360 192 ? S Mar02 0:00 /usr/sbin/sysl
root 57 0.0 0.1 1276 152 ? S Mar02 0:00 /usr/sbin/klog
root 59 0.0 0.0 1332 60 ? S Mar02 0:00 /usr/sbin/inet
root 61 0.0 0.2 1540 312 ? S Mar02 0:04 /usr/local/sbi
root 63 0.0 0.0 1796 72 ? S Mar02 0:00 /usr/sbin/rpc.
root 65 0.0 0.0 1812 68 ? S Mar02 0:00 /usr/sbin/rpc.
root 67 0.0 0.2 1172 260 ? S Mar02 0:00 /usr/sbin/cron
root 77 0.0 0.2 1048 316 ? S Mar02 0:00 /usr/sbin/apmd
root 79 0.0 0.1 1100 152 ? S Mar02 0:01 gpm
root 94 0.0 0.2 1396 280 ? S Mar02 0:00 /usr/sbin/auto
chris 106 0.0 0.5 1820 680 tty1 S Mar02 0:08 -bash
root 108 0.0 0.0 1048 0 tty3 SW Mar02 0:00 [agetty]
root 109 0.0 0.0 1048 0 tty4 SW Mar02 0:00 [agetty]
root 110 0.0 0.0 1048 0 tty5 SW Mar02 0:00 [agetty]
root 111 0.0 0.0 1048 0 tty6 SW Mar02 0:00 [agetty]
[izlaz skraćen]
|
Ovde imamo gomilu informacija. Prvo, imamo informacije koje se odnose na korisnike
koji su pokrenuli procese, koliko sistemskih resurasa proces koristi ( %CPU, %MEM, VSZ i
RSS kolone) i kojeg datuma je proces startovan. Očigledno je da ima puno informacija
koje bi bile od koristi sistem adminstratoru. Postoji još nešto: informacije
sada prelaze preko ivica ekrana i tako se ne vide u potpunosti. Opcija -w će forsirati ps komandu da prelama
(wrap) duge linije.
Ovo nije baš preterano jednostavno, ali radi posao. Sada znate kako da dobijete
kompletan listing svih procesa. Nisu sve to informacije koje možete dobiti o
procesima. Pogledajte za više detalja man stranu za ps
komandu. Ipak, opcije koji su navedene gore su najpopularnije i njih ćete
najčešće koristiti.
Dešava se da se program loše ponaša i da je potrebno ponovo da se
pokrene. Program koji radi taj administrativni zadatak se zove kill(1) i koristi se za manipulaciju procesima na nekoliko
načina. Najočigledniji način korišćenja je kada izdamo samo kill komandu i tako ubijemo proces. To je potrebno da uradite ako
program koristi dosta resurasa sistema, ili vam je muka od toga šta on radi.
Da biste ubili proces, potrebno je znate njegov PID ili njegovo ime. Da biste dobili
PID procesa , koristite ps komandu onako kako je objašnjeno
u zadnjem odeljku. Na primer, za ubijanje procesa 4747, izdaćete sledeću
komadnu:
Zapazite da morate da budete vlasnik procesa da biste mogli da ga ubijete. To je tako
zbog sigunosti. Da bi vam bilo dozvoljeno da ubijete procese koje su startovali drugi
korisnici, bili biste u mogućnosti da radite dosta malicioznih stvari. Naravno, root može da ubije svaki proces na sistemu.
Postoji jedna varijacija kill komande koja se zove killall(1). Ovaj program radi baš ono što mu i ime govori:
ubija sve pokrenute procese određenog naziva. Ako želite da ubijete sve
pokrenute vim procese, trebali biste da otkucate sledeću
komandu:
Jedan jedini, ili svi pokrenuti vim procesi će biti
ubijeni. Ako to uradite kao root ubićete sve vim procese svih korisnika. Evo zanimljivog načina da uklonite
svakog korisnika (uključujući i sebe) sa sistema:
Ponekad regularan kill ne odradi svoj posao. Određeni procesi neću da umru
sa kill. Stoga je potrebno da koristite moćniju formu kill komande. Oko ovaj
bezobrazni PID 4747 ne odgovara na vaš kill zahtev, trebali biste ovako :
Na ovaj način zasigurno će proces 4747 umreti. Sličnu stvar možete
da uradite i sa killall komandom. Sve ovo je odraz toga što
šaljemo različite signale procesima. Regularan kill
šalje SIGTERM (terminate) signal ka procesima, što
govori da oni treba da završe ono što su započeli, očiste se, i
izađu. kill -9 šalje SIGKILL
(kill) signal procesima, i na taj način se proces obara. Na ovaj način procesu
nije dozvoljno čišćenje, tako da ponekad može doći do toga da se
podaci pokvare. Ovde imate na raspolaganju kompletnu listu signala. Listig signala
možete dobiti ako otkucate sledeće:
% kill -l
1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL
5) SIGTRAP 6) SIGABRT 7) SIGBUS 8) SIGFPE
9) SIGKILL 10) SIGUSR1 11) SIGSEGV 12) SIGUSR2
13) SIGPIPE 14) SIGALRM 15) SIGTERM 17) SIGCHLD
18) SIGCONT 19) SIGSTOP 20) SIGTSTP 21) SIGTTIN
22) SIGTTOU 23) SIGURG 24) SIGXCPU 25) SIGXFSZ
26) SIGVTALRM 27) SIGPROF 28) SIGWINCH 29) SIGIO
30) SIGPWR
|
Sa komandom kill treba da se koristi broj, dok ime signala
(uz odbacicanje “SIG” prefiksa) treba da se koristi sa killall komandom. Evo još jednog primera:
Zadnja upotreba kill komande je restarovanje procesa. Slanjem
SIGHUP omogućava da većina procesa ponovo pročita
svoje konfiguracione fajlove. Ovo je od esecijalne koristi kada je potrebno da sistem
ponovo učita konfiguracione fajlove nakon njihovog uređivanja.
Na kraju, postoji komadna koja prikazuje ažurirane inofrmacije o pokrenutim
procesima na sistemu. Ta komanda se zove top(1), i ovako se
pokreće:
Ona će pokazati pun ekran informacija o procesima pokrenutim na sistemu, kao i
sveobuhvatne informacije o sistemu. Tu spada prosečno opterećenje, broj
procesa, CPU status, informacije o slobodnoj memoriji i detalji o procesima,
uključujući PID, korisnike, prioritete, procesorsko i memorijsko zauzeće,
vremena izvršavanja i ime programa.
6:47pm up 1 day, 18:01, 1 user, load average: 0.02, 0.07, 0.02
61 processes: 59 sleeping, 2 running, 0 zombie, 0 stopped
CPU states: 2.8% user, 3.1% system, 0.0% nice, 93.9% idle
Mem: 257992K av, 249672K used, 8320K free, 51628K shrd, 78248K buff
Swap: 32764K av, 136K used, 32628K free, 82600K cached
PID USER PRI NI SIZE RSS SHARE STAT LIB %CPU %MEM TIME COMMAND
112 root 12 0 19376 18M 2468 R 0 3.7 7.5 55:53 X
4947 david 15 0 2136 2136 1748 S 0 2.3 0.8 0:00 screenshot
3398 david 7 0 20544 20M 3000 S 0 1.5 7.9 0:14 gimp
4946 root 12 0 1040 1040 836 R 0 1.5 0.4 0:00 top
121 david 4 0 796 796 644 S 0 1.1 0.3 25:37 wmSMPmon
115 david 3 0 2180 2180 1452 S 0 0.3 0.8 1:35 wmaker
4948 david 16 0 776 776 648 S 0 0.3 0.3 0:00 xwd
1 root 1 0 176 176 148 S 0 0.1 0.0 0:13 init
189 david 1 0 6256 6156 4352 S 0 0.1 2.4 3:16 licq
4734 david 0 0 1164 1164 916 S 0 0.1 0.4 0:00 rxvt
2 root 0 0 0 0 0 SW 0 0.0 0.0 0:08 kflushd
3 root 0 0 0 0 0 SW 0 0.0 0.0 0:06 kupdate
4 root 0 0 0 0 0 SW 0 0.0 0.0 0:00 kpiod
5 root 0 0 0 0 0 SW 0 0.0 0.0 0:04 kswapd
31 root 0 0 340 340 248 S 0 0.0 0.1 0:00 kerneld
51 root 0 0 48 48 32 S 0 0.0 0.0 0:00 dhcpcd
53 bin 0 0 316 316 236 S 0 0.0 0.1 0:00 rpc.portmap
57 root 0 0 588 588 488 S 0 0.0 0.2 0:01 syslogd
|
Komanda se zove top zato što su procesorski
najintezivniji procesi izlistani na vrhu. Jedno interesatno zapažanje je da će
top prvo izlistati samog sebe na manje aktivnim (i malo aktivnim) sistemima s obzirom na
njegovo zauzeće CPU-a, tj. procesora. Međutim, top je
dosta jednostavan za određivanje programa koji se loše izvršava i stoga je
potrebno njegovo ubijanje.
Pretpostavimo da nam treba listing samo naših procesa, ili procesa određenog
korisnika. Može se desiti da ti procesi ne budu u listingu procesorski
najintezivnijih procesa. Opcija -u omogućava da navedete
korisničko ime ili UID i tako da posmatrate samo procese tog korisnika.
% top -u alan
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
3622 alan 13 0 11012 10m 6956 S 1.0 2.1 0:03.66 gnome-terminal
3739 alan 13 0 1012 1012 804 R 0.3 0.2 0:00.06 top
3518 alan 9 0 1312 1312 1032 S 0.0 0.3 0:00.09 bash
3529 alan 9 0 984 984 848 S 0.0 0.2 0:00.00 startx
3544 alan 9 0 640 640 568 S 0.0 0.1 0:00.00 xinit
3548 alan 9 0 8324 8320 6044 S 0.0 1.6 0:00.30 gnome-session
3551 alan 9 0 7084 7084 1968 S 0.0 1.4 0:00.50 gconfd-2
3553 alan 9 0 2232 2232 380 S 0.0 0.4 0:00.05 esd
3555 alan 9 0 2552 2552 1948 S 0.0 0.5 0:00.10 bonobo-activati
3557 alan 9 0 2740 2740 2224 S 0.0 0.5 0:00.05 gnome-smproxy
3559 alan 9 0 6496 6492 5004 S 0.0 1.3 0:00.31 gnome-settings-
3565 alan 9 0 1740 1740 1440 S 0.0 0.3 0:00.28 xscreensaver
3568 alan 9 0 7052 7052 4960 S 0.0 1.4 0:02.28 metacity
3572 alan 9 0 11412 11m 7992 S 0.0 2.2 0:01.58 gnome-panel
3574 alan 9 0 12148 11m 8780 S 0.0 2.4 0:00.64 nautilus
3575 alan 9 0 12148 11m 8780 S 0.0 2.4 0:00.00 nautilus
3576 alan 9 0 12148 11m 8780 S 0.0 2.4 0:00.00 nautilus
|
Kao što se vidi, u ovom trenutku je pokrenut X, top, jedan gnome-terminal (u kome ovo
kucam) i dosta drugih X-baziranih procesa koji zazuimaju većinu CPU vremena. Ovo je
dobar način da se vidi koliko naporno rade korisnici na vašem systemu.
top isto tako podržava pregled procesa na osnovu
njihovog PID-a, ignorišući procese u praznom hodu i zombi procese, i mnoge
druge opcije. Najbolje mesto da vidite kako se rukuje sa tim opcijama je da koristite man
stranu za top.
Chapter 12 Osnovna
administracija sistema
Opa... Znam da sada mislite: “Ja nisam administrator sistema! Ja čak i
neću da budem administrator sistema!”
Činjenica je da ste administrator na bilo kom računaru ako imate lozinku root korisnika. To može da bude desktop sa jednim ili dva
korisnika, a može da bude i server sa nekoliko hiljada. Bez obzira na sve to,
potrebno je da znate kako se upravlja sa korisnicima i kako se sistem bezbedno
isključuje. Ti zadaci izgledaju prosto, ali ima nekoliko caka koje biste trebali da
znate.
Kao što je objašnjeno u Chapter 8, ne biste trebali u
normalnim okonostima da se logujete kao root. Umesto toga,
treba da kreirate običan korisnički nalog za svakodnevno korišćenje,
a root nalog da koristite samo za administrativne poslove. Za kreiranje korisnika
možete da koristite ili alate koje dolaze sa Slackware-om, ili da uređujete
password fajlove ručno.
Najlakši način da upravljate korisnicima i grupama je da koristite skripte i
programe koji su na raspolaganju. Slackware ima programe adduser, userdel(8), chfn(1), chsh(1) i passwd(1) za rad sa korisnicima. Komande groupadd(8), groupdel(8) i groupmod(8) su za rad sa grupama. Izuzetak su chfn, chsh i passwd, koje generalno pokreće root,
i koje se nalaze u /usr/sbin direktorijumu. Komande chfn, chsh, i passwd može pokrenuti bilo ko, a nalaze se u /usr/bin direktorijumu.
Korisnici mogu da se dodaju sa adduser programom.
Prećićemo celu proceduru prikazivanjem pitanja koja se postavljaju i njihovim
kratkim objašnjenjem šta znače. Podrazumevani odgovor je u srednjim
zagradama, i uglavnom važi za većinu pitanja, jedino ako baš hoćete
nešto da promenite.
# adduser
Login name for new user []: jellyd
|
To je ime koje će korisnik da koristi za logovanje. Tradicionalno,
korisnička imena su dužine do osam slova i to malih. (Možete da imate i
više od osam slova, ili da koristite cifre, ali ne radite to jedino ako nemate neki
važan razlog.)
Korisničko ime možete da zadate i kao argumenat u komadnoj liniji:
U drugom slučaju, posle navođenja korisničkog imena, adduser komanda
će tražiti da se unese korisnički ID:
User ID ('UID') [ defaults to next available ]:
|
Korisnički ID (UID) je način na koji Linux određuje vlasništva.
Svaki korisnik ima jedinstven broj u Slackware-u, počevši od 1000. Možete
da izaberete UID za novog korisnika, ili da prepustite adduser komandi da dodeli slobodan
broj.
Svi korisnici se podrazumevano smeštaju u grupu users.
Možda želite novog korisnika da stavite u neku drugu grupu, ali to nije
preporučljvo, jedino ako znate šta radite.
Additional groups (comma separated) []:
|
Ovo pitanje vam omogućava da novog korisnika dodate u dodatnu grupu. Moguće
je da novi korisnik bude u nekoliko grupa istovremeno. Ovo je korisno kada imate već
formirane grupe koje su zadužene za stvari kao što su modifikovanje web
sajtova, igranje igrica i slično. Na primer, neki sajtovi definišu grupu wheel kao jedinu grupu u kojoj korisnici mogu da koriste su komadnu. Ili, podrazumevana Slackware instalacija koristi sys grupu koje omogućava autorizovanim korisnicima da
puštaju muziku preko interne zvučne kartice.
Home directory [/home/jellyd]
|
Polazni (Home, korisnički) direktorijum podrazumevano se nalazi u /home. Ukoliko radite na veoma velikom sistemu, moguće je da
ste premestili polazni direktorijum na neko drugo mesto (ili mesta). Ovaj korak vam
omogućava da odredite lokaciju vašeg polaznog direktorijuma.
bash je podrazumevana školjka (shell) u Slackware
Linux-u, i biće OK za većinu ljudi. Ako ste novi korisnik koji je već
koristio neki Unix sistem, možda ste već bili familijarni sa nekom drugom
školjkom. Možete da promenite ljusku odmah ili kasnije koristeći chsh komadnu.
Expiry date (YYYY-MM-DD) []:
|
Nalozi mogu da budu podešeni tako da ne budu važeći posle nekog
vremenskog perioda. Podrazumevano, nalozi su validni stalno. Ako želite, to
možete da promenite. Ova solucija može biti od koristi ako ste Internet
provajder i hoćete da nalozi vaših korisnika posle nekog vremena isteknu
ukokliko nisu ponovo platili.
New account will be created as follows:
---------------------------------------
Login name: jellyd
UID: [ Next available ]
Initial group: users
Additional groups: [ None ]
Home directory: /home/jellyd
Shell: /bin/bash
Expiry date: [ Never ]
|
To je to... ako hoćete da odustanete, pritisnite Control+C. U suprotnom, pritisnite ENTER da
nastavite sa kreiranjem naloga.
Sada ćete da vidite informacije koje ste uneli i imate mogućnost da sve to
obustavite. Ako ste uneli nešto nekorektno, trebali biste da na tastaturi pritisnete
Control+C i sve iz početka. U suprotnom,
pritisnite enter i novi nalog će biti napravljen.
Creating new account...
Changing the user information for jellyd
Enter the new value, or press return for the default
Full Name []: Jeremy
Room Number []: Smith 130
Work Phone []:
Home Phone []:
Other []:
|
Sve ove informacije su opcione. Ništa od ovog ne morate da unesete, a korisnik to
može da promeni bilo kada, uz pomoć chfn komande.
Ipak, možda smatrate da bi bilo korisno da uneste ime, prezime i broj telefona da
korisnika možete kasnije kontaktirati.
Changing password for jellyd
Enter the new password (minimum of 5, maximum of 127 characters)
Please use a combination of upper and lower case letters and numbers.
New password:
Re-enter new password:
Password changed.
Account setup complete.
|
Potrebno je da uneste lozinku za novog korisnika. Generalno, ako novi korisnik nije
fizički prisutan, unesite prostu lozinku i posle mu recite da je promeni u
nešto sigurnije.
 |
Izbor lozinke: Posedovanje
bezbednosne lozike je prva odbrambena linija protiv neželjenih stvari. Ne treba da
koristite lozinke koje se lako mogu pogoditi jer na taj način neko može da
provali u vaš sistem. Idealno, bezbednosna lozinka bi trebala da bude nasumična
niska znakova, uključujući mala i velika slova, brojeve i ostale znakove. (Tab
znak ne bi bio dobar izbor, s obzirom na vrstu računara sa koga biste se logovali.)
Postoji mnogo softverskih paketa koji za vas mogu da generišu lozinku;
pretražite Internet za te alate.
Pridržavajte se ovoga: lozinka ne treba da bude nečiji rođendan, neka
poznata fraza,nešto što se može naći na vašem stolu, ili bilo
šta sto može da asocira na vas. Lozinke kao “bezbedno1” ili svaka
druga lozinka koju možete naći u štampi ili na Internetu su takođe
loše.
|
Uklanjanje korisnika uopšte nije komplikovano. Samo pokrenite komandu userdel sa imenom naloga koga hoćete da uklonite. Uverite se da
korisnik nije logovan, niti da je pokrenuo bilo kakav proces. Takođe, zapamtite da
kada ste uklonili korisnika sve njegove lozinke su se izbrisale trajno.
Ova komanda uklanja nezgodnog korisnika jellyd sa vašeg
sisema. Od napasti smo se oslobodili! :) Korisnik je uklonjen iz /etc/passwd, /etc/shadow i /etc/group fajlova, ali se nije uklonio njegov korisnički
direktorijum.
Ako želite da uklonite početni direktorijum, koristite komndu:
Privremeno onemogućavanje naloga biće objašnjeno u sledećem
odeljku vezanom za lozinke, pošto za tu akciju moramo da razumemo kako se radi sa
lozinkama. Kako se vrši izmena drugih informacije objašnjeno je u Section 12.1.3.
Program pomoću koga se dodaju i uklanjaju grupe je veoma jednostavan. Komanda groupadd će jednostavno dodati u /etc/group novu stavku sa jedinstvenim grupnim ID-om; ona će
to uraditi mesto vas. Na primer, da dodate grupu koja se zove cvs:
A da je uklonite:
Program passwd menja lozinke tako što pravi promene u
/etc/shadow fajlu. Ovaj fajl sadrži lozinke sistema u
enkriptovanom formatu. Da biste pormenili lozinku, otkucajte:
% passwd
Changing password for chris
Old password:
Enter the new password (minumum of 5, maximum of 127 characters)
Please use a combination of upper and lower case letters and numbers.
New password:
|
Ko što vidite, upitani ste za staru lozinku. Ona se ne pojavljuje kada je
unosite, isto kao i kada ste logujete na sistem. Posle ćete biti upitani da unesete
novu lozinku. Komanda passwd obavlja mnogo provera nad
vašom novom lozinkom, i požaliće se ako ne prođe sve provere. Ako
hoćete možete da ignorišete ta upozorenja. Posle ćete biti upitani da
po drugi put uneste istu lozinku radi potvrde.
Ako ste root korisnik, možete da menjate lozinke drugih
korisnika:
Kroz istu proveru ćete da prođete osim što ne morate ponovo da unosite
staru lozinku korisnika. (Jedna od mnogih beneficija root
korisnika...)
Ako je potrebno, možete privremeno da onemogućite nalog, a nekada je
potrebno ponovo da ga omogućite. I omogućavanje i onemogućavanje naloga
može se obaviti pomoću passwd komande. Da biste
onemogućili nalog, kao root uradite sledeće:
Ovo će promeniti Davidovu lozinku u nešto što neće odgovarati ni
jednoj enkriptovanoj vrednosti. Ponovno omogućavanje naloga vrši se ovako:
Sada je Davidov nalog vraćen u normalu. Onemogućavanje naloga može biti
od koristi onda kada korisnik ne radi po pravilima kakva se zahtevaju na vašem
sistemu, ili je eksportovao veoma veliku kopiju xeyes(1) na
vaš X desktop.
Postoje dve informacije koje korisnici mogu da promene bilo kada: školjku i
finger informacije. Slackware Linux ima komande chsh (change
shell) i chfn (change finger) za modifikovanje tih
vrednosti.
Korisnik može da izabere svaku školjku koje je nevedena u /etc/shells fajlu. Za većinu ljudi, školjka /bin/bash biće sasvim dovoljna. Drugi su možda familijarni
sa nekim drugim školjkama koje koriste u školi i pošto sa njima imaju
rutinu, na njima bi i ostali. Da biste promenili školjku, koristite komanduchsh:
% chsh
Password:
Changing the login shell for chris
Enter the new value, or press return for the default
Login Shell [/bin/bash]:
|
Posle unošenja lozinke, unesite onu putanju ka novoj školjci. Prvo proverite
da ta školjka postoji u /etc/shells(5) fajlu. root korisnik može da promeni školjke drugih korisnika
ako pokrene komandu chsh sa argumentom username.
Finger informacije su opcione i u njih spadaju vaše puno ime, broj telefona i
broj sobe. To može da se promeni ako se koristi chfn
komanda. Unošenjem te komande proćićete kroz istu proceduru kao i onu koje
se odnosila na kreiranje naloga. Kao i obično, root
može da promeni svačije finger informacije.
Naravno da je moguće da dodajete, modifikujete i uklanjate korisnike i grupe bez
korišćenja skripti i programa koji dolaze sa Slackware-om. Nije to baš
teško, mada posle čitanja ovog procesa načina možete ipak ostati na
korišćenju skripti. Ipak je važno da znate gde su lozinke stvarno
smeštene, u slučaju kada je potrebno da oporavite sistem, a ti alati vam nisu
dostupni.
Prvo, dodajete novog korisnika u /etc/passwd(5), /etc/shadow(5) i /etc/group(5) fajlove.
Fajl passwd sadrži neke informacije o korsnicima sistema,
ali (dosta čudno) ne njihove lozinke. Nekada to nije bili tako, ali od toga se
odustalo iz sugurnosnih razloga. Datoteka passwd mora da bude čitljiva svim
korisnicima. Ipak ne biste želeli da ta svima čitljiva enkriptovana lozinka
bude polazna tačka potencijalnom provalniku u vaš sistem, kako bi na osnovu nje
pokušao da dekriptuje lozinke korisnika. Umesto toga, enkriptovane lozinke se
čuvaju u shadow datoteci, koju može da čita samo root, a mesto za lozinke
u datoteci passwd zauzima jedno “x”. U datoteci group je lista svih
grupa i ko je u njima.
Možete da koristite vipw komandu za bezbedno editovanje
/etc/passwd fajla, a komandu vigr za
bezbedno editovanje /etc/group fajla. Koristite vipw -s komandu za bezbedno editovanje /etc/shadow fajla. (“Bezbedno” u ovom kontekstu
znači da niko ne može da modifikuje odgovarajući fajl dok ga vi
uređujete u tom trenutku. Ako ste vi jedini administrator, najverovatnije je da ste
bezbedni kada ručno uređujete gore navedene fajlove, ali je bolje da stvarate
dobre navike od početka.)
Hajde da objasnimo /etc/passwd fajl i da vidimo kako se
dodaje novi korisnik. Tipično jedna stavka u fajlu passwd
ovako izgleda:
chris:x:1000:100:Chris Lumens,Room 2,,:/home/chris:/bin/bash
|
Svaka linija je stavka za jednog korisnika, a polja u stavci su odvojena sa
dvotačkom. Polja su ime korisnika, enkriptovana lozinka (“x” za svakog na Slackware sistemu, pošto Slackware
koristi shadow lozinke), korisnički ID, ID grupe, opciono informacije o finger-u
(odvojene zarezima), polazni direktorijum i školjka. Za ručno dodavanje
korisnika dodaćete novu liniju na kraju datoteke i popunićete odgovarajuće
informacije.
Informacije koje ste uneli moraju da udovolje nekim zahtevima, ili će korsinik da
ima problema sa logovanjem. Prvo osigurajte se da polje za lozinku bude jedno x, i da ime korisnika, kao i ID, bude jedinstveno. Dodelite
korisniku grupu, ili 100 ( “users” grupa u Slackware-u ) ili podrazumevanu
grupu (koristite njen broj, a ne ime). Dajte korisniku validan početni direktoriju
(koji ćete krerirati kasnije) i školjku (zapamtite da su validne školjke
navedene u /etc/shells) fajlu.
Sledeće što treba da uradite je da dodate stavku u /etc/shadow fajl, koji
sadrži enkriptovane lozinke. Tipična linija izgleda ovako:
chris:$1$w9bsw/N9$uwLr2bRER6YyBS.CAEp7R.:11055:0:99999:7:::
|
Opet, svaka linije se odnosi na jednu osobu, a polja su odvojena dvotačkama.
Polja su (po redu) ime logovanja, enkriptovana lozinka, broj dana od epohe Unix-a (1.
januar 1970.) pa do poslednjeg menjanja lozinke, dani pre kojih se lozinka mora menjati,
dani posle kojih se lozinka mora promeniti, dani kada će biti upozorenje da lozinka
ističe, koliko dana će korisnik biti onemogućen posle isteka, dani od
Unix-ove epohe kada je korisnik onemogućen, i na kraju rezervisano polje.
Kao što vidite, većina tih informacija je o isteku naloga. Ako ne koristite
informacije o nalogu, potrebno je samo da popunite nekoliko polja sa sa nekim specijalnim
vrednostima. U suprotnom, morate da izvršite nešto proračuna i da donesete
neke odluke pre nego što popunite ta polja. Za novog korisnika, bilo šta
(“ đubre”) stavite u polje za lozinku. Ne brinite koja je lozinka upravo
sada, pošto ćete je promeniti za minut. Jedini znak koji ne možete da
stavite u polje za enkriptovanu lozinku je dvotačka. Ostavite polje “dane od
kada je lozinka promenjena” prazno. Kao što vidite gore u primeru popunite sa
0, 99999 i 7
odgovarajuća polja, a ostavite praznim ostala polja.
(Za one koje misle da će na osnovu enkriptovane lozinke koje je data u gornjem
primeru uz krekovanje lozinke moći ući u moj sistem, neka znaju da je to
lozinka sistema za testiranje koji je iza zaštitnog zida. Tako da od nje nema nikave
koristi :) )
Na tipičnom Slackware sistemu svi obični korisnici su članovi
“users” grupe. Međutim, ako želite da
kreirate novu grupu, ili da dodate novog korsnika u dodatne grupe, morate da modifikujete
/etc/group fajl. Evo tipičine jedne stavke u ovom
fajlu:
cvs::102:chris,logan,david,root
|
Polja su: ime grupe, lozinka grupe, ID grupe i članovi grupe odvojeni zapetema.
Kreiranje nove grupe je jednostavan proces dodavanja nove linije sa jedinstvenim ID-om
grupe i navođenjem svih korisnika koje hoćete da budu u grupi. Oni korisnici
koji su u toj novoj grupi moraju da se odloguju i ponovo uloguju da bi promene imale
efekta.
Sada bi možda bila dobra ideja da koristite komande pwck
i grpck da verifikujete da li su promene koje ste napravili
konzistentne. Prvo, koristite komande pwck -r i grpck -r: -r opcija ne pravi promene,
ali lista promene za koje biste bili pitani ako biste pokrenuli komandu bez
prekidača. Možete da koristite taj izlaz da biste odlučili da li da
još nešto modifikujete ili da pokrene komande pwck ili
grpck bez -r opcije, ili prosto da
ostavite vaše promene onakvim kakve jesu.
Sada biste trebali sa komandom passwd da krirate
odgovarajuću lozinku za korisnika. Posle toga, koristite komandu mkdir da kreirate novi korisnički polazni direktorijum
čija je lokacija ona koju ste naveli u /etc/passwd fajlu i
na kraju koristite chown da promenite vlasništvo novog
direktorijuma da odgovara novom koisniku.
Uklanjanje korisnika je jednostavnije od brisanja svih stavki koje se odnose na
korisnika. Uklonite stavku u kojoj se poninje dati korisnik u /etc/passwd fajlu i fajlu /etc/shadow, a
posle uklonite korisničko ime iz svake grupe u /etc/group
fajlu. Ako hoćete, možete da izbrišete korisnički polazni
direktorijum, spool fajl za e-poštu i korisnikove corntab odrednice (ako
postoje).
Uklanjanje grupe je slično: uklonite stavke vezane za grupu u /etc/group fajlu.
Veoma je bitno da propisno ugasite vaš sistem. Jednostavno isključivanje
napajanja preko “POWER” dugmeta može da uzrokuje ozbiljnu štetu na
sistemu fajlova. Kada je sistem pokrenut fajlovi su u upotrebi čak i onda kada se ne
radi ništa sa njima. Zapamtite da se mnogo procesa izvršava u pozadini sve
vreme. Ti proceci upravljaju sistemom i dosta fajlova drže otvorenim. Kada se
računar jednostavno isključi na dugme ti fajlovi nisu pravilno zatvoreni i mogu
biti neispravni. U zavisnosti koji su fajlovi oštećeni sistem može da bude
potpuno neupotrebljiv. U svakom slučaju, proćićete kroz dugu proceduru
provere sistema fajlov pri sledećem uključivanju računara.
 |
Ako ste konfigurisali sisetem sa žurnalskim sistemom fajlova, kao što su
ext3 ili reiserfs, delimično ćete biti zaštićeni od eventualnih
oštećenja podataka, a i restart će biti kraći nego na sistemima
fajlova bez žurnala kao što je ext2. Međutim, to vas ne opravdava da
bezbedno ne isključite sistem! Oslonite se na žurnalske sisteme fajlova da vam
podaci budu konzistentni kad nešto ode van kontrole, a ne usled vaše
lenjosti.
|
U svakom slučaju, kada restartujete računar ili ga ugasite, važno je da
se to izvrši na propisan način. Ima nekoliko načina da se to uradi;
možete da izaberete svaki za koji smatrate da je najzabavniji (ili na kome najmanje
morate da radite). Pošto su restart i isključivanje računara slične
procedure, mnogi načini koji se primenjuju za isključivanje računara
važe i za restart.
Prvi metod je ako koristite shutdown(8) komandu, i to je
sigurno najpopularniji metod. shutdown može da se koristi
za restart ili gašenje sistema u zadato vreme i da se prikaže poruka svim
logovanim korisnicima sa upozoranjem da će sistem biti oboren.
Najjednostavniji način da isključite računar je da kucate ovo:
U tom slučaju, korisnicima se neće poslati nikakva poruka po našem
izboru; već samo podrazumevana porukashutdown komande.
Opcija “now ” je vreme kada hoćemo da sistem
isključimo, a “-h ” (od halt) opcija
znači zaustavljanje sistema. To baš nije najbolji način u
višekorisničkom sistemu, ali je u redu na vašem kućnom računaru.
Bolji metod u višekorisničkom okruženju je da svakom korisniku predate
malo upozoranje:
Na ovaj način sistem će se isključiti za jedan sat (60 minuta),
što je sasvim dovoljno vremena u normalnom višekorisničkom sistemu.
Sistemi koji obezbeđuju vitalne fuknkcije možda imaju nešto napredniji
način obaveštavanja korisnika o predstojećem isključivanju. U te
načine obaveštavanje spadaju email, oglasne tableble ili /etc/motd).
Za restart sistema se koristi ista komanda, ali tako da se zameni “-r ” sa “-h ”:
Možete da koristite istu notaciju za obaveštavanje sa komadnom shutdown -r isto kao što biste radili sa shutdown -h. Ima još opcija koje možete da koristite sa
shutdown komandom, bilo da restartujete ili isključujete
računar; za više informacije pogledajte man stranu.
Drugi način da se isključi računar je da se koristi komanda halt(8) ili reboot(8). Kao što ime
indicira, komanda halt će momentalno zaustaviti operativni
sistem, a komanda reboot će restartovati sistem. (reboot je samo simbolični link ka komandi halt.) One se pozivaju ovako:
Niži nivo isključivanja računara je da se direktno obrati init komandi. Svi drugi metodi su samo podesni načini da se
govori init komandi, ali ovako se direktno govori komandi telinit(8) šta da čini (zapazite da ima samo jedno
“l”). Ako koristite telinit onda init komandi saopštavate u koji runlevel da ide, i na taj
način će se izvršiti spacijalna skripta. Ta skripta će ili ubiti ili
stvoriti procese koji su namenjeni tom runlevel-u. Ovaj način radi i za restart i za
usključivanje računara pošto su ta stanja samo vrste runlevela.
Runlevel 0 je mod za zaustavljanje. Ako komandi init
kažemo da ide u runlevel 0 to će da izazove da procesi budu ubijeni, sistem
fajlova demontiran i mašina zaustavljena. To je potpuno prihvatljiv način da
mašina bude zaustavljena. Na mnogim laptopovima i modernim desktop računarama
to će takođe prouzrokovati da se mašina isključi.
Runlevel 6 je restart mod. Svi procesi će biti ubijeni, sistem fajlova će
biti demontiran, a mašina će biti restartovana. Ovo je najprihvatiji metod za
restart sistema.
Za one radoznale, kada se prelazi u runlevel 0 ili 6, bilo sa komandom shutdown, halt, ili reboot, skripta /etc/rc.d/rc.6 se
pokreće. (Skripta /etc/rc.d/rc.0 je jedan simbolički
link ka /etc/rc.d/rc.6.) Taj fajl možete da uredite po
vašem ukusu -- ali oprezno pravite te promene!
Evo poslednjeg načina za restart sistema. Svi drugi metodi zahtevaju da budete
logovani kao root. Ipak, moguće je da restartujete
mašinu kada niste root ako imate fizički pristup tastaturi. Ako pritisnete Control+Alt+Delete
(čuveni "pozdrav tri prsta") vaša mašina će odmah da se restartuje.
(Pod haubom, shutdown komanda se poziva kada se koristi Control+Alt+Delete.) To ne
radi uvek kada koristite X Windows -- možda je prvo potrebno da koristite Control+Alt+F1 (ili neki
drugu F tipku) da pređete u ne-X Windows terminal, pa posle da primenite navedenu
kombinaciju tipki.
Na kraju, fajl koji ulitimativno kontroliše svaki aspekt pokretanja i
isključivanja je /etc/inittab(5). Generalno, nema potrebe
da modifikujte taj fajl, ali vam on može dati uvid zašto neke stvari baš
tako rade. Kao uvek, pogledajte man strane za više informacija.
Chapter 13 Osnovne
mrežne komande
Mreža se sastoji od nekoliko računara koji su povezani među sobom.
Mreža može biti biti jednostavna u pogledu da je nekoliko računara
povezano u vašoj kući ili kancelariji, ili komplikovana kao što je velika
univerzitetska mreža ili čak ceo Internet. Kada je vaš računar deo
mreže, imate pristup ovim sistemima bilo direktno ili kroz servis kao što je
elektronska pošta ili web.
Postoje razni mrežni programi koje možete koristiti. Neki su pogodni za
dijagnozu, kako biste proverili da sve radi kako treba. Drugi (kao čitači
pošte ili pregledači Interneta) su korisni kako biste završili svoj posao
i ostali u kontaktu sa drugim ljudima.
ping(8) šalje ICMP ECHO_REQUEST
zahtev navedenom domaćinu. Ako računar domaćin odgovori, dobićete
ICMP paket nazad. Zvuči čudno? Pa, možete uraditi “ping” na
nekoj IP adresi kako bi videli da li je mašina živa. Ako nema odgovora, znate
da nešto nije u redu. Evo primera razgovora između dvoje Linux korisnika:
Korisnik
A: Loki je opet pao.
Korisnik
B: Jesi li siguran?
Korisnik
A: Da, pokušao sam da ga pingujem, ali odgovora nema.
Slučajevi kao što je ovaj čine komandu ping
veoma korisnom za svakodnevnu upotrebu. Ona pruža veoma brz način da vidite da
li mašina radi i da li je priključena na mrežu. Osnovna sintaksa je:
Postoje, naravno, neke opcije koje mogu biti naznačene. Proverite man stranicu za
ping radi više informacija.
Slackware-ova traceroute(8) je veoma korisna mrežna
alatka za dijagnostiku. traceroute prikazuje svakog
domaćina kroz kojeg paket putuje dok pokušava da stigne do svoje destinacije.
Možete videti koliko mnogo “skokova” ima do Slackware-ovog sajta ima od
vas pomoću ove komande:
% traceroute www.slackware.com
|
Biće prikazan svaki domaćin, zajedno sa vremenima odgovora za svakog
domaćina. Evo primera izlaza:
% traceroute www.slackware.com
traceroute to www.slackware.com (204.216.27.13), 30 hops max, 40 byte packets
1 zuul.tdn (192.168.1.1) 0.409 ms 1.032 ms 0.303 ms
2 207.171.227.254 (207.171.227.254) 18.218 ms 32.873 ms 32.433 ms
3 border-sf-2-0-4.sirius.com (205.134.230.254) 15.662 ms 15.731 ms 16.142 ms
4 pb-nap.crl.net (198.32.128.20) 20.741 ms 23.672 ms 21.378 ms
5 E0-CRL-SFO-03-E0X0.US.CRL.NET (165.113.55.3) 22.293 ms 21.532 ms 21.29 ms
6 T1-CDROM-00-EX.US.CRL.NET (165.113.118.2) 24.544 ms 42.955 ms 58.443 ms
7 www.slackware.com (204.216.27.13) 38.115 ms 53.033 ms 48.328 ms
|
traceroute je slična komandi ping po tome što takođe koristi ICMP pakete. Postoji
nekoliko opcija koje možete naznačiti komandi traceroute. Ove opcije su detaljno objašnjene u man
stranici.
Domain Name Service (DNS skraćeno) je taj magični protokol koji dozvoljava
vašem računaru da prebaci besmislena imena domena kao što je
www.slackware.com u smislenu IP adresu kao što je 64.57.102.34. Računari ne mogu slati pakete na
www.slackware.com, ali mogu ih slati na IP adresu tog domena. Ovo nam daje zgodan
način da pamtimo mašine. Bez DNS-a mi bi morali održavati mentalnu bazu
podataka koji IP pripada kojem računaru, i to sa pretpostavkom da se IP adrese ne
menjaju. Jasno je da je korišćenje imena za računare bolje, ali kako
mapiramo ime na IP adrese?
host(1) može da uradi ovo za nas. host se koristi da mapira imena na IP adrese. U pitanju je veoma brz
i jednostavan alat bez mnogo opcija.
% host www.slackware.com
www.slackware.com is an alias for slackware.com.
slackware.com has address 64.57.102.34
|
Ali recimo da, iz nekog razloga, želimo da mapiramo IP adresu na ime domena;
šta onda?
nslookup je oproban i dobar program koji je dozreo tokom
vremena. nslookup je prevaziđen i možda će biti
uklonjen iz budućih izdanja. Za njega čak ni ne postoji man stranica.
% nslookup 64.57.102.34
Note: nslookup is deprecated and may be removed from future releases.
Consider using the `dig' or `host' programs instead. Run nslookup with
the `-sil[ent]' option to prevent this message from appearing.
Server: 192.168.1.254
Address: 192.168.1.254#53
Non-authoritative answer:
www.slackware.com canonical name = slackware.com.
Name: slackware.com
Address: 64.57.102.34
|
Najbesniji pas u štenari, domain information groper, ili dig skraćeno, je program koji je spreman za pretraživanje
DNS informacija. dig može da uzme skoro pa sve sa DNS
servera uključujući i reverzne pretrage, A, CNAME, MX, SP i TXT slogove. dig ima mnogo opcija iz komandne linije i ako niste upoznati s njim,
trebali biste pročitati njegovu opširnu man stranicu.
% dig @192.168.1.254 www.slackware.com mx
; <<>> DiG 9.2.2 <<>> @192.168.1.254 www.slackware.com mx
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 26362
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 2, ADDITIONAL: 2
;; QUESTION SECTION:
;www.slackware.com. IN MX
;; ANSWER SECTION:
www.slackware.com. 76634 IN CNAME slackware.com.
slackware.com. 86400 IN MX 1 mail.slackware.com.
;; AUTHORITY SECTION:
slackware.com. 86400 IN NS ns1.cwo.com.
slackware.com. 86400 IN NS ns2.cwo.com.
;; ADDITIONAL SECTION:
ns1.cwo.com. 163033 IN A 64.57.100.2
ns2.cwo.com. 163033 IN A 64.57.100.3
;; Query time: 149 msec
;; SERVER: 192.168.1.254#53(192.168.1.254)
;; WHEN: Sat Nov 6 16:59:31 2004
;; MSG SIZE rcvd: 159
|
Ovo bi vam trebalo dati ideju kako dig funkcioniše.
“@192.168.1.254” specifikuje koji se DNS server koristi.
“www.slackware.com” je ime domena na koji vršimo pretragu, i
“mx” je tip pretrage koju vršim. Upit iznad mi govori da će e-mail
poruka koji pošaljem na www.slackware.com, ustvari biti
poslata na mail.slackware.com za preuzimanje.
finger(1) će nam dobaviti informaciju o određenom
korisniku. Fingeru date korisničko ime ili email adresu i on onda pokušava da
kontaktira neophodni server i dobavi ime korisnika, broj telefona u kancelariji, i druge
informacije. Evo primera:
% finger johnc@idsoftware.com
|
finger može da pokaže ime korisnika, status
e-pošte i “tačka projekat”. Naravno, informacije koje dobijete
zavise od finger servera. Onaj koji je uključen u Slackware
podrazumevano vraća sledeće informacije:
Prve četiri stavke mogu biti postavljene sa chfn
komandom. Sistem će ove informacije sačuvati u /etc/passwd fajlu. Da bi promenili informacije u vašem .plan ili .project fajlu, samo ih uredite
pomoću vašeg omiljenog uređivača teksta. Oni se moraju nalaziti u
vašem početnom direktorijumu i moraju imati imena .plan i .project.
Mnogi korisnici koriste finger za svoje sopstvene naloge sa
udaljene mašine kako bi brzo videli da li imaju novu poštu. Ili, vi možete
videti korisnikov plan ili trenutni projekat.
Kao mnoge komande, finger ima opcije. Pogledajte man stranicu
za više informacija o opcijama koje možete koristiti.
Neko je jednom izjavio kako je telnet(1) najbolja stvar koju
je je on video na računarima. Mogućnost da se iz udaljenosti prijavite i radite
stvari na drugom računaru je ono što odvaja Unix i Unix-nalike operativne
sisteme od ostalih operativnih sistema.
telnet vam omogućava da se prijavite na računar
isto kao i da sedite za terminalom. Jednom kada su korisničko ime i lozinka
prihvaćeni, dobijate shell prompt. Odatle, možete uraditi sve što zahteva
tekstualnu konzolu. Pisati poštu, čitati grupe, prebacivati fajlove, i tako
dalje. Ako izvršavate X i uradite telnet na drugu
mašinu, možete startovati X programe na udaljenom računaru, a prikazati ih
na svome.
Kako bi se prijavili na udaljenu mašinu, koristite ovu sintaksu:
Ako računar odgovori, dobićete prompt za prijavu. Dajte mu svoje
korisničko ime i lozinku. To je to. Sada ste u konzoli. Da bi prekinuli vašu
telnet sesiju, koristite ili exit ili logout komandu.
 |
telnet ne šifruje informacije koje šalje. Sve biva
poslato kao čisti tekst, čak i lozinke. Nije preporučljivo koristiti telnet preko Interneta. Umesto njega, razmotrite Secure Shell (Sigurnu školjku). Ona šifruje sav
saobraćaj i slobodno je dostupna.
|
Sada kada smo vas ubedili da ne koristite više telnet protokol kako biste se
ulogovali na udaljenu mašinu, pokazaćemo vam nekoliko korisnih načina da
se telnet iskoristi.
Takođe možete korisiti telnet komandu da se
povežete sa serverom na određenom portu.
% telnet <hostname> [port]
|
Ovo može biti prilično zgodno ako vam je potrebno da brzo proverite
određeni servis i kada vam je potrebna potpuna kontrola nad komandama, ili je
potrebno da tačno vidite šta se dešava. Možete interaktivno testirati
ili koristiti SMTP server, POP3 server, HTTP server, itd, sve na ovaj način.
U sledećem primeru ću vam pokazati kako možete telnet-ovati HTTP server na portu 80 i dobiti neke osnovne
informacije od njega.
Možete raditi isto i za druge tekstualne protokole, sve dok znate na koji port da
se konektujete i koje su komande.
Danas, sigurna školjka (secure shell) uživa obožavanje koje je nekad
imao telnet. ssh(1) vam dozvoljava da
napravite konekciju ka udaljenoj mašini i izvršite programe kao da ste
fizički prisutni; međutim, ssh šifruje sve
podatke koji putuju između dva računara, pa i ako neko presretne konverzaciju,
neće uspeti da je razume. Sledi tipična konekcija pomoću sigurne
školjke.
% ssh carrier.lizella.net -l alan
The authenticity of host 'carrier.lizella.net (192.168.1.253)' can't be
established.
RSA key fingerprint is 0b:e2:5d:43:4c:39:4f:8c:b9:85:db:b2:fa:25:e9:9d.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'carrier.lizella.net' (RSA) to the list of
known hosts.
Password: password
Last login: Sat Nov 6 16:32:19 2004 from 192.168.1.102
Linux 2.4.26-smp.
alan@carrier:~$ ls -l MANIFEST
-rw-r--r-- 1 alan users 23545276 2004-10-28 20:04 MANIFEST
alan@carrier:~$ exit
logout
Connection to carrier.lizella.net closed.
|
Ovde možete da vidite mene kako pravim ssh konekciju na carrier.lizella.net, i proveravam dozvole za MANIFEST fajl.
Elektronska pošta je jedna od najpopularnijih stvari koje mogu da se rade na
Internetu. 1998 godine, zabeleženo je da je bilo više poslatih elektronskih
pisama nego običnih. Zaista je česta i korisna.
Pod Slackware-om, mi vam pružamo standardni server pošte, i nekoliko
klijenata za poštu. Svi klijenti koji su opisani dole su tekstualni. Mnogo Windows
korisnika može biti protiv ovoga, ali videćete da je tekstualni klijent vrlo
zgodan, posebno kada proveravate poštu na udaljenom računaru. Nemojte se
plašiti, postoji mnogo grafičkih klijenata e-pošte kao što je KDE-ov
Kmail. Ako želite da koristite neke od njih pogledajte njihove Help menije.
pine(1) nije elm. Ili tako bar
kaže stara izreka. Univerzitet u Vašingtonu je napravio svoj program za news i
e-poštu iz potrebe svojih studenata za lakim čitačem pošte. pine je jedan od najpopularnijih klijenata e-pošte koji se
koristi danas i dostupan je na skoro svakoj vrsti Unix-a, pa čak i na Windows-u.
Videćete meni za naredbe i red tastera za naredbe na dnu. pine je doista kompleksan program, pa tako nećemo objasniti
ovde svaku njegovu mogućnost.
Da biste videli šta je u vašem dolaznom sandučiću, pritisnite i. Vaše poruke su izlistane zajedno sa svojim datumom,
autorom i naslovom. Označite poruke koje želite i pritisnite enter da biste ih pogledali. Pritisak na r će započeti odgovor na poruku. Kada ste ga napisali
pritisnite Ctrl+X da biste poslali odgovor.
Možete pritisnuti i kako biste se vratili na listing
poruka.
Ako želite da obrišete poruku, pritisnite d. To
će zabeležiti označene poruke za brisanje. pine
briše poruke kada izađete iz programa. pine vam
takođe dozvoljava da držite vaše poruke u direktorijumima. Možete
dobiti spisak direktorijuma pritiskom na l. Kod listinga
poruka pritisnite s kako bi je sačuvali u drugom
direktorijumu. On će vas upitati za ime direktorijuma u koji će zapisati
poruku.
pine pruža mnogo, mnogo mogućnosti; obavezno biste
trebali pogledati njegovu man stranicu za više informacija. U njoj se nalaze
najnovije informacije o programu.
elm(1) je još jedan popularan tekstualan klijent
e-pošte. Iako nije okrenut ka korisniku kao pine,
definitivno se nalazi oko nas duže vremena.
Podrazumevano ste stavljeni u vaš dolazni sandučić. Poruke su izlistane
sa brojem poruke, datumom, pošiljaocem i naslovom. Koristite tastere sa strelicama
da označite poruke koje želite. pritisnite Enter
kako biste pročitali poruku.
Da biste napisali novu poruku, ukucajte m na glavnom
ekranu. Taster d će označiti poruku za brisanje. A
r taster će odgovoriti na trenutnu poruku koju
čitate. Svi ovi tasteri su prikazani na dnu ekrana pomoću prompta.
Man stranica objašnjava elm sa više detalja, tako
da ćete verovatno želeti da je konsultujete pre korišćenja programa
elm.
“Svi klijenti e-pošte smrde. Ovaj smrdi manje.” mutt-ov originalni interfejs je baziran na elm-u, sa dodatim funkcijama koje su nađene u drugim popularnim
klijentima pošte, što je rezultovalo hibridnim mutt-om.
Neke od mutt-ovih mogućnosti uključuju:
-
podrška za boje
-
poruke u nitima (threads)
-
MIME i PGP/MIME podrška
-
pop3 i imap podrška
-
podrška za više formata sandučića pošte (mbox, MMDF, MH,
maildir)
-
veoma prilagodljiv
Ako tražite klijenta e-pošte koji će vam dopustiti da budete u potpunoj
kontroli nad svim aspektima, onda će vam se svideti mutt.
Sve podrazumevane postavke se mogu prilagoditi, tasteri za komande se mogu promeniti. Ako
želite da dodate makro, možete.
Verovatno ćete želeti da pogledate man stranicu za muttrc. Ili možete da pogledate uključeni primer muttrc fajla.
nail(1) je klijent e-pošte koji se koristi preko
komandne linije. Veoma je primitivan i ne pruža skoro ništa što se
tiče korisničkog interfejsa. Međutim, mailx je zgodan onda kada treba da
brzo pošaljete neko pismo, skriptujete masovne poruke, testirate instalaciju
vašeg MTA ili nešto slično. Primetite da Slackware pravi simbolične
linkove ka nail na /usr/bin/mail i /usr/bin/mailx. Svaka od ovih komandi izvršava isti program. U
stvari, najverovatnije ćete videti da se nail pominje kao
mail.
Osnovna komandna linija je:
% mailx <subject> <to-addr>
|
mailx čita telo poruke iz standardnog ulaza. Tako
možete iskoristi komandu cat da pošaljete poruku ili jednostavno možete
otkucati šta želite i pritisnuti Ctrl+D kada završite sa porukom.
Evo primera slanja izvornog koda programa drugoj osobi.
% cat randomfunc.c | mail -s "Evo te funkcije" asdf@example.net
|
Man stranica objašnjava šta nail može da
uradi, tako da ćete verovatno poželeti prvo da je pogledate pre nego što
počnete da ga koristite.
Prva stvar na koju ljudi pomisle kada čuju reč Internet je “surfovanje
mrežom”. Ili gledanje Internet stranica pomoću web brauzera. Ovo je
verovatno najpopularniji servis na Internetu za prosečnog korisnika.
Slackware pruža popularne grafičke web brauzere u “XAP” seriji,
kao i tekstulane brauzere u “N” seriji. Bacićemo kratak pogled na neke
od najčešćih opcija.
lynx(1) je tekstualni web brauzer. Pomoću njega se na
veoma brz način može potražiti nešto na Internetu. Ponekad grafika
smeta ako tačno znate šta želite.
Da biste pokrenuli lynx, samo ukucajte lynx na promptu:
Možete navesti stranicu koju će lynx da otvori:
% lynx http://www.slackware.com
|
lynx ispisuje tastere komandi i šta one rade na dnu
ekrana. Strelice za gore i dole služe za kretanje po dokumentu, Enter bira označeni link, a Leva
strelica vraća na prethodnu stranu. Kucanje d
će skinuti trenutno označeni fajl. g komanda
podiže polje za unos, gde možete lynx-u dati URL koji
će da otvori.
Postoji mnogo drugih komandi u lynx-u. Možete ili
konsultovati man stranicu, ili pritisnuti h kako biste
dobili ekran za pomoć radi više informacija.
Baš kao i lynx, links je web
brauzer u tekstualnom modu, gde svu navigaciju vršite koristeći tastaturu.
Međutim, kada pritisnete Esc taster, on će
aktivirati veoma zgodan meni na vrhu ekrana. Ovo ga čini vrlo lakim za
korišćenje, pošto ne treba da se uče sve prečice na tastaturi.
Ljudi koji ne koriste teskstualne brauzere će ceniti ovu mogućnost.
links izgleda da ima bolju podršku i za frejmove i za
tabele u poređenju sa lynx-om.
wget(1) je program iz komandane linije koji će skinuti
fajlove sa naznačenog URL-a. Iako nije baš web brauzer, wget se primarno korisiti za skidanje celih ili delova sajtova radi
pregledanja u lokalu, ili za brzo skidanje pojedinačnih fajlova sa HTTP i FTP
servera. Osnovna sintaksa je:
Takođe, možete mu preneti opcije. Na primer, ovo će skinuti ceo
Slackware web sajt:
% wget --recursive http://www.slackware.com
|
wget će napraviti www.slackware.com direktorijum i snimiti fajlove u njega, baš
kao što su i na sajtu.
wget takođe može da skida fajlova sa FTP servera;
samo naznačite FTP URL umesto HTTP.
% wget ftp://ftp.gnu.org/gnu/wget/wget-1.8.2.tar.gz
--12:18:16-- ftp://ftp.gnu.org/gnu/wget/wget-1.8.2.tar.gz
=> `wget-1.8.2.tar.gz'
Resolving ftp.gnu.org... done.
Connecting to ftp.gnu.org[199.232.41.7]:21... connected.
Logging in as anonymous ... Logged in!
==> SYST ... done. ==> PWD ... done.
==> TYPE I ... done. ==> CWD /gnu/wget ... done.
==> PORT ... done. ==> RETR wget-1.8.2.tar.gz ... done.
Length: 1,154,648 (unauthoritative)
100%[==================================>] 1,154,648 209.55K/s ETA 00:00
12:18:23 (209.55KB/s) - `wget-1.8.2.tar.gz' saved [1154648]
|
wget ima mnogo opcija koje ga čine dobrim za
specifične skripte (pravljenje kopija web sajtova i slično). Za više
informacija treba da se konsultuje man stranica.
FTP stoji za File Transfer Protocol, ili u prevodu Protokol za Transfer Fajlova.
Dozvoljava vam da šaljete i primate fajlove između dva računara. Imate FTP
server i FTP klijenta. Razmotrićemo klijenta u ovom odeljku.
Za radoznale, “klijent” ste vi. “Server” je računar koji
odgovara na vaše FTP zahteve i dozvoljava vam da se ulogujete. Skidaćete
fajlove sa servera i slaćete ih njemu. Klijent ne može da primi FTP konekcije,
on može samo da se konektuje na FTP servere.
Kako biste se konektovali na FTP server, jednostavno izvršite ftp(1) komandu i naznačite domaćina:
Ukoliko domaćin izvršava FTP server, upitaće vas za korisničko ime
i lozinku. Možete se ulogovati kao vi ili kao “anonymous”, odnosno
anonimno. Anonimni FTP sajtovi su veoma popularni za arhive softvera. Na primer, kako
biste skinuli Slackware Linux preko FTP-a, možete koristiti anonimni FTP.
Jednom kada se konektujete, bićete na ftp> promptu.
Postoje specijalne komande za FTP, ali su slične ostalim standardnim komandama.
Sledeći primer pokazuje neke osnovne komande i šta one rade:
Table 13-1. ftp komande
Komanda |
Svrha |
ls |
Lista fajlove |
cd <dirname> |
Menja direktorijum |
bin |
Postavlja binarni mod transfera |
ascii |
Postavlja ASCII mod transfera |
get <filename> |
Skida fajl |
put <filename> |
Šalje fajl |
hash |
Uključuje/isključuje tarabu kao indikator statusa |
tick |
Uključuje/isključuje indikator brojač bajtova |
prom |
Uključuje/isključuje interaktivni mod za skidanje |
mget <mask> |
Skida fajl ili grupu fajlova; znaci za višestruko označavanje su
dozvoljeni |
mput <mask> |
Šalje fajl ili grupu fajlova; znaci za višestruko označavanje su
dozvoljeni |
quit |
Izloguje vas sa FTP servera |
Takođe možete da koristite neku od sledećih komandi koje same sebe
objašnjavaju: chmod, delete, rename, rmdir. Za kompletnu listu komandi i
njihovo objašnjenje, samo ukucajte help ili ? i videćete kompletan listing na ekranu.
FTP je prilično jednostavan program za korišćenje, ali nedostaje mu
korisnički interfejs na koji su mnogi korisnici danas navikli. Man stranica
objašnjava neke od opcija iz komandne linije za ftp(1).
ftp> ls *.TXT
200 PORT command successful.
150 Opening ASCII mode data connection for /bin/ls.
-rw-r--r-- 1 root 100 18606 Apr 6 2002 BOOTING.TXT
-rw-r--r-- 1 root 100 10518 Jun 13 2002 COPYRIGHT.TXT
-rw-r--r-- 1 root 100 602 Apr 6 2002 CRYPTO_NOTICE.TXT
-rw-r--r-- 1 root 100 32431 Sep 29 02:56 FAQ.TXT
-rw-r--r-- 1 root 100 499784 Mar 3 19:29 FILELIST.TXT
-rw-r--r-- 1 root 100 241099 Mar 3 19:12 PACKAGES.TXT
-rw-r--r-- 1 root 100 12339 Jun 19 2002 README81.TXT
-rw-r--r-- 1 root 100 14826 Jun 17 2002 SPEAKUP_DOCS.TXT
-rw-r--r-- 1 root 100 15434 Jun 17 2002 SPEAK_INSTALL.TXT
-rw-r--r-- 1 root 100 2876 Jun 17 2002 UPGRADE.TXT
226 Transfer complete.
ftp> tick
Tick counter printing on (10240 bytes/tick increment).
ftp> get README81.TXT
local: README81.TXT remote: README81.TXT
200 PORT command successful.
150 Opening BINARY mode data connection for README81.TXT (12339 bytes).
Bytes transferred: 12339
226 Transfer complete.
12339 bytes received in 0.208 secs (58 Kbytes/sec)
|
ncftp(1) (izgovara se kao "Nik-F-T-P") je alternativa
tradicionalnom ftp klijentu koji dolazi uz Slackware. Još uvek je tekstualan, ali
pruža mnoge prednosti nad ftp-om,
uključujući:
Podrazumevano, ncftp će pokušati da se uloguje
anonimno na zadati server. Možete naterati ncftp da
prikaže login prompt pomoću “-u ”
opcije. Jednom kada se ulogujete, možete koristiti iste komande kao i u ftp-u, samo što ćete primetiti lepše okruženje,
koje radi slično bash-u.
ncftp /pub/linux/slackware > cd slackware-current/
Please read the file README81.TXT
it was last modified on Wed Jun 19 16:24:21 2002 - 258 days ago
CWD command successful.
ncftp ...ware/slackware-current > ls
BOOTING.TXT FAQ.TXT bootdisks/
CHECKSUMS FILELIST.TXT extra/
CHECKSUMS.asc GPG-KEY isolinux/
CHECKSUMS.md5 PACKAGES.TXT kernels/
CHECKSUMS.md5.asc PRERELEASE_NOTES pasture/
COPYING README81.TXT rootdisks/
COPYRIGHT.TXT SPEEKUP_DOCS.TXT slackware/
CRYPTO_NOTICE.TXT SPEEK_INSTALL.TXT source/
CURRENT.WARNING Slackware-HOWTO
ChangeLog.txt UPGRADE.TXT
ncftp ...ware/slackware-current > get README81.TXT
README81.TXT: 12.29 kB 307.07 kB/s
|
wall(1) je brz način da pošaljete poruku svim
korisnicima na sistemu. Osnovna sintaksa je:
Ovo će rezultovati da sadržaj [fajla] bude prikazan na terminalima svih
trenutno ulogovanih korisnika. Ako ne naznačite fajl, wall će pročitati iz
standardnog ulaza, pa tako možete samo ukucati poruku i završiti je sa Ctrl+d.
wall nema mnogo mogućnosti, osim što vam
dopušta da obavestite vaše korisnike da će te raditi neku ozbiljnu opravku
sistema, ili ga čak restartovati, pa će tako imati vremena da snime svoj rad i
da se izloguju. :)
talk(1) dozvoljava dvojici korisnika da ćaskaju. On
podeli ekran na pola, horizontalno. Da biste zahtevali ćaskanje sa drugim
korisnikom, koristite ovu komandu:
Ako naznačite samo korisničko ime, podrazumeva se da će ćaskanje
biti lokalno, pa se tako šalje poziv samo lokalnim korisnicima. Ttyname je obavezno
ukoliko želite da kontaktirate korisnika na određenom terminalu (ako je
korisnik ulogovan više od jednog puta). Zahtevane informacije za talk mogu da se dobave pomoću komande w(1).
talk takođe može da pozove korisnike na udaljenim
računarima. Za korisničko ime samo specifirajte adresu e-pošte. talk će pokušati da kontaktira udaljenog korisnika na tom
računaru.
talk je donekle ograničen. Podržava samo dva
korisnika i radi na half-duplex prinicipu.
ytalk(1) je unazad kompatibilna zamena za talk. Dolazi sa Slackware-om kao ytalk
komanda. Sintaksa je slična, ali ima nekoliko razlika:
% ytalk <korisnik>[#ttyname]
|
Ime korisnika i terminal su naznačeni isto kao i kod talk-a, osim što ih
morate naznačiti zajedno sa znakom tarabe (#).
ytalk pruže nekoliko prednosti:
-
Podržava više od dva korisnika.
-
Meni sa opcijama se može pozvati u svakom trenutku pomoću tastera Esc.
-
Možete izaći u konzolu dok ste još uvek u talk sesiji.
-
Plus još neke...
Ako ste administrator server, moraćete da osigurate da je ntalk port omogućen u fajlu /etc/inetd.conf. ytalk-u je ovo potrebno
da bi ispravno radio.
Chapter 14 Sigurnost
Sigurnost je važna na svakom sistemu; može sprečiti ljude da
pokreću napade sa vaše mašine, kao i da zaštiti osetljive podatke.
Ova glava je o tome kako osigurati vašu Slackware mašinu od napadača,
krekera i sličnih štetočina. Zapamtite da je ovo samo početak
osiguravanja sistema; sigurnost je proces, ne stanje.
Prvi korak posle instaliranja Slackware-a bi trebao biti da se isključe svi
servisi koji vam ne trebaju. Svaki servis je potencijalni sigurnosni rizik, pa je
važno da se izvršava što manje servisa (tj. samo oni koji su potrebni).
Servisi se startuju sa dva glavna mesta - inetd i init
skripte.
Mnogo demona (nadimak za servise u Linux-u) koji dolaze sa Slackware-om se
pokreću iz inetd(8). inetd je
demon koji sluša na svim portovima koje koriste servisi konfigurisani da se
pokreću njime, i pokreće relevantnog demona kada se napravi pokušaj
konekcije. Demoni pokrenuti iz inetd mogu biti isključeni
tako što se zakomentarišu relevantne linije u /etc/inetd.conf. Da bi se ovo uradilo, otvorite ovaj fajl u
vašem omiljenom editoru (npr. vi) i trebalo bi da vidite
linije slične ovoj:
telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd
|
Možete isključiti ovaj servis, i bilo koji drugi koji vam ne treba, tako
što ih zakomentarišete (tj. dodate # (taraba) simbol
na početak linije). Ova linije gore bi onda postala:
#telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd
|
Kada se inetd restartuje, ovaj servis će biti
isključen. inetd možete restartovati komandom:
# kill -HUP $(cat /var/run/inetd.pid)
|
Ostatak servisa koji se pokrenu pri uključivanju mašine se pokreće iz
init skripti u /etc/rc.d/. Oni mogu biti isključen na dva
različita načina, prvi bi bio da se uklone izvršne dozvole na relevantnim
init skriptama, a drugi da se zakomentarišu relevantne linije u init skriptama.
Za primer, SSH se pokreće pomoću svoje sopstvene init skripte u /etc/rc.d/rc.sshd. Možete onemogućiti ovo
koristeći:
# chmod -x /etc/rc.d/rc.sshd
|
Za servise koji nemaju svoju sopstvenu init skriptu, moraćete da
zakomentarišete relevantne linije u init skriptama da biste ih isključili. Na
primer, portmap demon se pokreće sledećim linijama u /etc/rc.d/rc.inet2:
# This must be running in order to mount NFS volumes.
# Start the RPC portmapper:
if [ -x /sbin/rpc.portmap ]; then
echo "Starting RPC portmapper: /sbin/rpc.portmap"
/sbin/rpc.portmap
fi
# Done starting the RPC portmapper.
|
Ovo se može onemogućiti dodavanjem # simbola na
početke linija koje već ne počinju sa njim, pa tako:
# This must be running in order to mount NFS volumes.
# Start the RPC portmapper:
#if [ -x /sbin/rpc.portmap ]; then
# echo "Starting RPC portmapper: /sbin/rpc.portmap"
# /sbin/rpc.portmap
#fi
# Done starting the RPC portmapper.
|
Ove promene će imati efekat nakon restarta ili promene i povratka u run nivo 3
ili 4. Ovo možete uraditi kucanjem sledećeg u konzoli (moraćete opet da se
ulogujete nakon menjanja u run nivo 1):
iptables je program za podešavanje filterovanja paketa u
Linux-u 2.4 i višim. Kernel 2.4 (2.4.5, da budemo tačni) je prvi ovo uveo u
Slakcware (kao opciju) u verziji 8.0 i napravljeno je podrazumevanim u verziji Slackware
8.1. Ova sekcija pokriva samo osnove njegovog korišćenja i trebali bi pogledati
http://www.netfilter.org/ za
više detalja. Ove komande mogu biti unešene u /etc/rc.d/rc.firewall, koji mora biti postavljen kao izvršni
kako bi ova pravila bila primenjena prilikom startovanja. Zapamtite da nepravilne iptables mogu da vam bukvalno zaključaju mašinu i da vam
pristup bude zabranjen. Ukoliko niste 100% sigurni u svoje veštine, uvek osigurajte
da imate lokalni pristup mašini.
Prva stvar koju bi većina ljudi trebala da uradi je podese podrazumevano pravilo
za svaki dolazni lanac na DROP (odbaci):
# iptables -P INPUT DROP
# iptables -P FORWARD DROP
|
Kada je sve odbijeno, možete početi dozvoljavati stvari. Prva stvar za
dozvolu je bilo kakav saobraćaj za sesije koje su već uspostavljene:
# iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
|
Iz razloga da se ne bi ometala bilo koja aplikacija koja komunicira koristeći
loopback adresu, obično je mudro da se doda i ovakvo pravilo:
# iptables -A INPUT -s 127.0.0.0/8 -d 127.0.0.0/8 -i lo -j ACCEPT
|
Ovo pravilo dozvoljava bilo koji saobraćaj od i do 127.0.0.0/8 (127.0.0.0 -
127.255.255.255) na loopback (lo) interfejsu. Kada se pišu
pravila, dobra je ideja biti specifičan što je više moguće, kako bi
se osigurali da vaša pravila nenamerno ne dozvole bilo šta zlo. Time
rečeno, pravila koja dozvoljavaju premalo znače više pravila i više
kucanja.
Sledeće stvar je da se dozvoli pristup određenim servisima koji se
izvršavaju na vašoj mašini. Ako, na primer, želite da izvršavate
Web server na svojoj mašini, koristićete pravilo slično ovome:
# iptables -A INPUT -p tcp --dport 80 -i ppp0 -j ACCEPT
|
Ovo će dozvoliti pristup sa svake mašine na port 80 vašeg računara
preko ppp0 interfejsa. Možda ćete želeti da
dozvolite pristup ovom servisu samo određenim mašinama. Ovo pravilo dozvoljava
pristup vašem web servisu sa 64.57.102.34:
# iptables -A INPUT -p tcp -s 64.57.102.34 --dport 80 -i ppp0 -j ACCEPT
|
Dopuštanje ICMP saobraćaja može biti korisno za dijagnostičke
svrhe. Da biste uradili ovo, koristite ovakvo pravilo:
# iptables -A INPUT -p icmp -j ACCEPT
|
Većina ljudi će takođe želeti da podesi Prevođenje
Mrežnih Adresa (Network Address Translation, NAT) na svojim gateway mašinama,
tako da druge mašine na njihovim mrežama mogu pristupiti Internetu kroz njih.
Koristićete sledeće pravilo kako biste to postigli:
# iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
|
Takođe ćete trebati da uključite prosleđivanje IP-a (IP
forwarding). Ovo možete uraditi privremeno, koristeći sledeću komandu:
# echo 1 > /proc/sys/net/ipv4/ip_forward
|
Da bi se prosleđivanje IP-a uključilo za stalno (tj. da ta promena ostane
posle restarta) moraćete otvoriti fajl /etc/rc.d/rc.inet2
u vašem omiljenom editoru u promeniti sledeću liniju:
...u ovo:
Za više informacija o NAT-u, pogledajte link NAT
HOWTO.
tcp omotači (tcpwrappers) kontrolišu pristup demona
na aplikacijskom nivou, pre nego na IP nivou. Ovo može pružiti dodatni sloj
zaštite u trenutcima kada kontrole pristupa na IP nivou (npr. Netfilter) ne
funkcionišu ispravno. Na primer, ukoliko ponovo kompajlirate kernel, ali zaboravite
da uključite podršku za iptables, vaša zaštita na IP nivou neće
uspeti, ali tcp omotači će i dalje pomagati u odbrani vašeg sistema.
Pristup servisima koje štite tcp omotači može biti kontrolisan
korišćenjem /etc/hosts.allow i /etc/hosts.deny.
Većina ljudi će imati samo jednu liniju u svom /etc/hosts.deny fajlu koja će podrazumevano braniti pristup
svim demonima. Ova linija je:
Kada ste ovo uradili, možete se koncentrisati na dozvoljavanje pristupa servisima
za specifične računare, domene ili opsege IP adresa. Ovo može biti
urađeno u fajlu /etc/hosts.allow koji poštuje isti
format.
Mnogi će početi tako što će prihvatiti sve konekcije od strane localhost-a. Ovo se može postići korišćenjem:
Da biste dopustili pristup SSH demonu sa 192.168.0.0/24,
možete koristi jedno od sledećih pravila:
sshd : 192.168.0.0/24
sshd : 192.168.0.
|
Takođe je moguće ograničiti pristup računarima u određenim
domenima. To se može postići ako se koristi sledeće pravilo (zapamtite da
se ovo oslanja na unos reverznog DNS-a kako bi se osiguralo da je računar koji se
konektuje baš taj kojim se predstavlja, pa bih ja stoga preporučio da se ovaj
način ne koristi na računarima koji su povezani na Internet):
Kada god neki sigurnosni prolem utiče na Slackware, e-poruka bude poslata svim
pretplatnicima na slackware-security@slackware.com mejling
listu. Izveštaji se šalju za ranjivosti bilo kojeg dela Slackware-a, osim
softvera u /extra ili /pasture. Ove
sigurnosne objave uključuju detalje o dobavljanju ispravnih verzija Slackware paketa
i zaobilaznih načina ispravljanja, ukoliko postoje.
Pretplaćivanje na Slackware mejling liste je objašnjeno u Section 2.2.2.
Kada god se objave osveženi paketi za neku verziju Slackware-a (obično samo
da bi se ispravio sigurnosni problem, u slučaju već objavljenih Slackware
verzija), on bude smešten u /patches direktorijum. Puna
putanja do ovih zakrpa zavisi od sajta kojeg koristite, ali će imati formu /path/to/slackware-x.x/patches/.
Pre instaliranja ovih paketa, dobra je ideja da proverite md5sum paketa. md5sum(1) je alatka iz
komandne linije koja stvara “jedinstven” matematički hash (broj) od
fajla. Ukoliko se makar jedan bit fajla promeni, on će onda imati različitu
md5sum vrednost.
% md5sum package-<ver>-<arch>-<rev>.tgz
6341417aa1c025448b53073a1f1d287d package-<ver>-<arch>-<rev>.tgz
|
Onda treba da proverite ovaj broj da li se slaže sa brojem za novi paket u fajlu
CHECKSUMS.md5 u korenom direktorijumu slackware-$VERSION (takođe
i u /patches direktorijumu za zakrpe) ili u e-poruci na slackware-security mejling listu.
Ukoliko imate fajl sa md5sum vrednostima, možete ga iskoristiti za brzu proveru
pomoću -c opcije programa md5sum.
# md5sum -c CHECKSUMS.md5
./ANNOUNCE.10_0: OK
./BOOTING.TXT: OK
./COPYING: OK
./COPYRIGHT.TXT: OK
./CRYPTO_NOTICE.TXT: OK
./ChangeLog.txt: OK
./FAQ.TXT: FAILED
|
Kao što vidite, svi fajlovi čije su md5sum
vrednosti izračunate ispravno su izlistani sa “OK” dok su fajlovi koji su promenjeni označeni sa
“FAILED”. (Da, ovo je bila uvreda vaše
inteligencije. Zašto me trpite?)
Chapter 15 Arhivski fajlovi
gzip(1) je GNU program za kompresiju. On uzima jedan fajl i
kompresuje ga. Osnove korišćenja su sledeće:
Rezultujući fajl će biti nazvan filename.gz i obično će biti manji od
ulaznog fajla. Primetite da će filename.gz zameniti filename. Ovo znači da filename
više neće postojati, iako će gzipovana kopija i dalje biti tu .
Obični tekstualni fajlovi se mogu lepo kompresovati, dok jpeg slike, mp3, i ostale
slične vrste fajlova neće biti dobro kompresovani pošto su već bili
kompresovani. Osnova korišćenja je balans između finalne veličine
fajla i vremena potrebnog za kompresiju. Maksimalna kompresija se može postići
sa:
Za ovo će biti potrebno duže vreme, ali rezultirajući fajl će biti
mali koliko god gzip može da ga učini.
Korišćenje nižih vrednosti kao opcija će imati učinak da se sama
kompresija odvija brže, ali veličina fajla neće biti ista kao pri
maksimalnoj kompresiji.
Dekompresija gzipovanog fajla može biti učinjena koristeći dve komande,
koje su ustvari jedan te isti program. gzip će
dekompresovati bilo koji fajl ako prepozna njegovu ekstenziju. Validne ekstenzije koje se
automatski prepoznaju mogu biti neke od ovih: .gz, -gz, .z, -z,
.Z, ili -Z. Prvi metod je da se
primeni komanda gunzip(1) na nekom fajlu, kao na primer:
Ovo će ostaviti dekompresovanu verziju ulaznog fajla u trenutnom direktorijumu, i
.gz ekstenzija će biti uklonjena iz imena fajla. gunzip je ustvari deo gzip komande i
identična je sa gzip -d. Kao takav, gzip se često izgovara kao gunzip,
pošto takav naziv izgleda više cool. :^)
bzip2(1) je alternativni program za kompresiju instaliran na
Slackware Linuxu. Koristi se različit algoritam kompresije u odnosu na gzip, što rezultira nekim prednostima i nekim manama. Osnovna
prednost bzip2 komande je da će veličina kompresovanog
fajla kojeg napravi bzip2 komanda skoro uvek biti manja od onog
kojeg napravi gzip komanda. U nekim slučajevima ovo
može rezultirati drastično manjim fajlovima. Ovo može biti velika prednost
za ljude sa sporijim modemskim vezama. Takođe treba zapamtiti, da prilikom
preuzimanja softvera sa javnih ftp servera, smatra se dobrim običajem da se
preuzimaju fajlovi sa .bz2 ekstenzijom umesto .gz fajlova, pošto će takva praksa rezultirati manjim
opterećenjem za darežljive ljude koji hostuju server.
Negativne strane bzip2 komande su te da zahteva više
procesorske snage od gzip naredbe. To znači da će
bzip-ovanje fajla duže trajati i zahtevaće veće opterećenje procesora
od gzip-ovanja istog fajla. Kada uzimate u obzir koji program za kompresiju da koristite,
morate imati u vidu brzinu kompresije, kao i veličinu kompresovanog fajla te na
osnovu toga odlučiti šta je važnije.
Korišćenje bzip2 naredbe je skoro identično
gzip, naredbi tako da nećemo mnogo vremena provesti
objašnjavajući je. Kao što je gunzip komanda,
tako i bunzip2 je identična bzip2
-d naredbi. Najočiglednija razlika je u tome da bzip2
koristi .bz2 ekstenziju.
% bzip2 filename
% bunzip2 filename.bz2
% bzip2 -9 filename
|
tar(1) komanda je GNU tape arhiver. Uzima nekoliko fajlova
ili direktorijuma i stvara jedan veliki fajl. Ovo nam omogućava da kompresujemo celo
stablo direktorijuma, što je nemoguće učiniti koristeći samo gzip ili bzip2 naredbu. tar komanda ima dosta opcija koje su objašnjene na njenoj man
strani, Ovaj deo će objasniti samo najosnovnije stvari tar
naredbe.
Uobičajeno se tar naredba koristi da se dekompresuje i
raspakuje paket koji je preuzet sa web ili ftp sajta. Većina fajlova dolazi sa
ekstenzijom .tar.gz. Ova vrsta arhiva se uobičajeno naziva
“tarball”. To znači da je nekoliko fajlova arhivirano pomoću tar naredbe i potom kompresovano pomoću gzip naredbe. Takođe, možete se sresti sa .tar.Z fajlovima. To je ista vrsta arhiva kao prethodna ali se
uobičajeno može sresti na starijim Unix sistemima.
Takođe, mogu se naći i fajlovi sa .tar.bz2
ekstenzijom.. Kernel source se distribuira na takav način jer predstavlja manju
količinu za skidanje. Kao što se može pretpostaviti ova vrsta fajlova
predstavlja više fajlova arhiviranih tar naredbom a zatim
kompresovano bzipom.
Može se pristupiti svim fajlovima u ovoj arhivi koristeći tar i određene argumente u komandnoj liniji. Raspakivanje
tarball-a se vrši korišćenjem opcije -z ,
što znači da se fajl prvo propusti kroz gunzip i
dekompresuje se. Najuobičajeniji način da raspakujete tarball je na primer:
% tar -xvzf filename.tar.gz
|
Postoji prilično mnogo parametara. Ali šta sve oni znače? -x parametar znači ekstrahovanje ili vađenje. Ovo je
važno iz razloga što govori tar komandi tačno
šta da radi sa ulaznim fajlom. U ovom slučaju mi ćemo razdvojiti ulazni
fajl na njegove početne elemente, tj. fajlove od kojih je napravljen. -v parametar znači verbose ili opširno. Ova opcija
će izlistati sve fajlove koji se dearhiviraju. Skroz je prihvatljivo da se ova
opcija izostavi, Takodje, može se koristiti -vv
parametar koji još opširnije predstavlja podatke koji se raspakivaju. -z parametar govori tar komandi da
provuče filename.tar.gz kroz gunzip naredbu.I na kraju -f opcija
govori tar komandi da je sledeći niz znakova unetih u
komandnu liniju fajl nad kojim se vrši operacija.
Postoji još nekoliko različitih načina da se napiše ova komanda.
Na starijim sistemima bez adekvatne GNU tar komande, možete
je videti napisanu ovako:
% gunzip filename.tar.gz | tar -xvf -
|
Ova naredba će dekompresovati fajl i izlaz poslati tar
komandi. Pošto će gzip naredba da pošalje
rezultat na standardni izlaz ako joj se kaže, ova naredba će ispisati
dekompresovan fajl na standardni izlaz. Pipe će ga onda poslati tar komandi na dearhiviranje. “-” znači da se
operacije vrše na standardnom ulazu. To će dearhivirati tok podataka koji se
dobije od gzip komande i zapisati na disk.
Još jedan način da se napiše cela komanda je da se izostavi crtica pre
navodjenja parametara, kao naprimer:
% tar xvzf filename.tar.gz
|
Možete takođe naleteti na bzip-ovane arhive. Verzija tar komande koja dolazi uz Slackware Linux može da barata njima
isto kao sa gzip-ovanim arhivama. Umesto -z opcije koristi se
-j parametar:
% tar -xvjf filename.tar.bz2
|
Važno je naglasiti da će tar naredba smestiti
dearhivirane fajlove u trenutni direktorijum. Tako da, ako imate arhivu u /tmp koju želite da dekompresijete u vaš home
direktorijum, imate na raspolaganju nekoliko opcija. Prvo, arhivu možete premestiti
u svoj home direktorijum. i onda je propustiti kroz tar naredbu.
Drugo, možete srecificirati putanju do arhive u komandnoj liniji. Treće,
možete koristiti -C opciju da “raširi”
tarball u naznačenom direktorijumu.
% cd $HOME
% cp /tmp/filename.tar.gz .
% tar -xvzf filename.tar.gz
% cd $HOME
% tar -xvzf /tmp/filename.tar.gz
% cd /
% tar -xvzf /tmp/filename.tar.gz -C $HOME
|
Svi gore navedeni primeri su istovetni. U svakom od navedenih slučajeva arhiva je
otpakovana unutar vašeg početnog (home) direktorijuma i originalna
dekompresovana arhiva je postavljena na mesto.
Ali šta nam znači da možemo da dekompresujemo ove arhive ako ne
možemo da ih kreiramo? Dakle, tar komanda je takodje
odgovorna za kreiranje arhiva. U većini slučajeva to je jednostavno kao
što je uklanjanje “-x ” parametra i njegova
zamena sa “-c ” parametrom.
% tar -cvzf filename.tar.gz .
|
U ovoj naredbi -c parametar govori tar komandi da kreira arhivu, dok -z
parametar provlači rezultujući fajl kroz gzip naredbu
da bi ga kompresovao. filename.tar.gz je naziv fajla koji
želite da kreirate.
Navođenje “-f ” parametra nije uvek
potrebno,ali se smatra dobrom praksom. Bez njega, tar komanda
piše na standardni izlaz što je poželjno kada se izlaz tar komande koristi kao ulaz drugog programa, tzv. pipe. Kao na
primer.
% tar -cv filename.tar . | gpg --encrypt
|
Ova komanda kreira nekompresovanu tar arhivu od sadržaja tekućeg
direktorijuma, pipe-uje tarball kroz gpg program koji enkriptuje
i kompresuje tarball, čineći nemogućim da ga iko drugi pročita ili
koristi osim osobe koja poseduje tajni ključ.
Na kraju ćemo opisati dva alata koji lako mogu biti korišćeni za
manipulaciju zip fajlovima. Ova vrsta arhiva je uobičajena u Windows svetu, tako da
Linux ima program kojim može manipulisati njima. Program za kompresiju se naziva zip(1), a za dekompresiju se naziva unzip(1).
Ovo će kreirati arhivu po nazivu foo.zip, koja će
sadržati sve fajlove iz tekućeg direktorijuma. zip
naredba će dodati .zip ekstenziju automatski, tako da nema
potrebe da je uključite u naziv fajla. Možete se takođe vratiti nazad u
tekući direktorijum i zip-ovati sve direktorijume koji se tamo nalaze.
Dekompresija zip arhiva je takođe jednostavna.
Ova komanda će ekstrakovati sve fajlove iz foo.zip
arhive uključujući i direktorijume.
zip alati imaju nekoliko naprednih opcija za kreiranje
samoraspakujućih arhiva, izostavljanje fajlova, kontrolisanje veličine
kompresovanog fajla, i tako dalje. Pogledajte man stranicu zip i
unzip komandi da bi saznali kako se koriste ove opcije.
Chapter 16 Vi
vi(1) je standardni Unix program za uređivanje teksta, i
mada njegovo savlađivanje nije esencijalno kao što je nekada bilo, još
uvek je cilj vredan truda. Postoji nekoliko verzija (ili klonova) programa vi koje su dostupne, uključujući vi, elvis, vile i
vim. Jedan od ovih je dostupan na svakoj verziji Unix-a, a
takođe i na Linux-u. Sve ove verzije imaju iste osnovne funkcije, postavke i
komande, tako da ako naučite jednog klona, vrlo lako ćete onda ovladati i
drugim. Sa raznovrsnošću uređivača teksta koji su uključeni u
Linux distribucije i Unix varijante ovih dana, mnogi ljudi više ne koriste vi. Ali i on i dalje ostaje najuniverzalniji uređivač
teksta u Unix-u i njemu sličnim. Savladavanje vi-a
znači da nikada ne biste trebali sedeti za Unix mašinom, a da se ne
osećate udobno u bar jednom od moćnih uređivača teksta.
vi ima brojne moćne osobine uključujući
bojenje teksta prema sintaksi, formatiranje koda, moćan mehanizam za pretragu i
zamenu, makroe i još mnogo toga. Ove osobine ga čine posebno atraktivnim za
programere, tvorce web aplikacija i njima slične. Sistemski administratori će
znati da cene automatizaciju i integraciju sa školjkom koja je moguća.
Na Slackware Linux-u, podrazumevana verzija vi koja je
dostupna je elvis. Druge verzije, uključujući vim i gvim su takođe dostupne ukoliko
ste instalirali odgovarajuće pakete. gvim je X Window
verzija vim-a koja uključuje palete sa altima, menije koji
mogu da se otkače i prozore.
vi može biti pokrenut iz komandne linije na razne
načine. Najednostavnije je samo:
Ovo će pokrenuti vi sa praznim baferom. U ovom trenutku,
uglavnom ćete videti prazan ekran. On je sada u “komandnom modu”,
čeka da vi uradite nešto. Za opis raznih vi modova
pogledajte Section 16.2. Kako biste izašli iz programa vi, ukucajte sledeće:
Ako pretpostavimo da nije bilo promena u fajlu, ovo će imati za rezultat izlazak
iz programa vi. Ako su bile neke promene, on će vas
upozoriti da je fajl promenjen i objasniti vam kako da ih ignorišete. Ignorisanje
promena obično znači dodavanje uzvičnika posle “q”, pa tako:
Uzvičnik obično znači da se neka akcija izvede na silu.
Razmotrićemo kasnije tu i ostale kombinacije tastera u detalje.
Takođe možete pokrenuti vi sa fajlom koji već
postoji. Na primer, fajl /etc/resolv.conf bi bio otvoren
ovako:
Konačno, vi može biti pokrenut ali da se prebaci na
određenu liniju u fajlu. Ovo je posebno korisno za programere kada greška o
poruci ispiše liniju u kojoj je njihov program stao. Na primer, pokrenućete vi na liniji 47 fajla /usr/src/linux/init/main.c ovako:
% vi +47 /usr/src/linux/init/main.c
|
vi će prikazati dati fajl i postaviće kursor na
specificiranu liniju. U slučajevima kada naznačite liniju koja je posle kraja
fajla, vi će staviti kursor u poslednju liniju. Ovo je
posebno zgodno za programere, pošto mogu skočiti odmah na lokaciju u fajlu gde
se dogodila greška, bez potrebe da je traže.
vi radi u raznim modovima, koji se koriste za razne zadatke.
Kada prvi put startujete vi, postavljeni ste u komandni mod.
Odavde, možete izdati razne komande za manipulaciju tekstom, premeštati fajl,
snimiti, izaći iz programa i menjati modove. Uređivanje teksta se radi u insert
modu. Možete brzo menjati modove preko raznih tastera, koji su objašnjeni
ispod.
Na početku ste stavljeni u komandni mod. Iz ovog moda ne možete direktno
unositi tekst ili uređivati ono šte se već tamo nalazi. Međutim,
možete manipulisati tekstom, tražiti, ugasiti, snimiti, učitati novi fajl
i još mnogo toga. Ovo je zamišljeno da bude samo uvod u komandni mod. Za opis
raznih komandi pogledajte Section 16.7.
Verovatno najčešće korišćena komanda u komandnom modu je
promena u insert mod. Ovo se postiže pritiskanjem tastera i.
Kursor menja oblik i pojavljuje se -- INSERT
-- na dnu ekrana (zapamtite da se ovo ne dešava na svim vi klonovima). Odatle, svi vaši unosi se pojavljuju u trenutnom
baferu i prikazuju na ekranu. Da biste se vratili u komandni mod pritisnite taster ESCAPE.
U komandnom modu se takođe krećete po fajlu. Na nekim sistemima možete
koristiti tastere sa strelicama da biste se kretali. Na drugim, možda ćete
morati koristiti tradicionalne tastere “hjkl”. Evo
spiska kako se ovi tasteri koriste za kretanje:
Jednostavno pritisnite taster da se pokrenete. Kao što ćete videti kasnije,
ovi tasteri mogu biti kombinovani sa brojem radi efikasnijeg pomeranja.
Mnoge od komandi koje ćete koristiti u komandnom modu počinju sa
dvotačkom. Na primer, izlaženje iz programa je :q, kao
što smo već napisali ranije. Dvotačka jednostavno naznačuje da je to
komanda, dok “q” govori programu vi da završi sa radom. Druge komande su opcionalni broj kojeg
prati slovo. Ove komande nemaju dvotačku ispred i uopšteno se koriste za
manipulaciju tekstom.
Na primer, brisanje jedne linije iz fajla se postiže pritiskanjem dd. Ovo će ukloniti liniju na kojoj je kursor. Izdavanje komande
4dd će reći programu vi da
ukloni liniju na kojoj je kursor i još tri posle nje. Uopšteno govoreći,
brojevi govore programu vi koliko puta da izvrši
komandu.
Možete kombinovati broj sa tasterima za kretanje kako biste preskakali nekoliko
slova odjednom. Na primer, 10k će skočiti za deset linija
gore na ekranu.
Komandni mod takođe može biti iskorišćen za isecanje i
nalepljivanje, ubacivanje teksta i učitavanje drugih fajlova u trenutni bafer.
Kopiranje teksta se postiže sa y tasterom (y stoji za yank). Kopiranje trenutne linije se radi sa yy, a ovo može biti sa brojem prefiksom kako bi se kopiralo
više linija. Onda se prebacite na mesto gde treba da se kopira i pritisnite p. Tekst će biti nalepljen na liniju iza trenutne.
Isecanje teksta se radi kucanjem dd, pa p
može biti iskorišten da se nalepi isečeni tekst nazad u fajl.
Učitavanje teksta iz drugog fajla je jednostavna procedura. Samo ukucajte :r, praćen razmakom i imenom fajla koji sadrži tekst kojeg
treba ubaciti. Sadržaj fajla će biti nalepljen u trenutni bafer na liniji posle
kursora. Softiciraniji vi klonovi čak sadrže
dopunjavanje imena fajla slično školjci.
Poslednje korišćenje koje će biti opisano je pretraga. Komandni mod
dozvoljava jednostavnu pretragu, ali takođe i komplikovane traži-i-zameni
komande koje koriste moćnu verziju regularnih izraza. Iscrpna diskusija o regularnim
izrazima je izvan opsega ovog odeljka, pa će ova sekcija pokriti samo jednostavne
načine pretrage.
Jednostavna pretraga se vrši pritiskanjem tastera /, pa
zatim teksta kojeg tražite. vi će tražiti unapred
od kursora do kraja fajla, zaustavljajući se kada pronađe to što
tražite. Primetite da će netačna poklapanja takođe naterati vi da stane. Na primer, potraga za “the” će imati za rezultat da vi stane na “then”, “therefore”, i tako dalje. Ovo se dešava je sve od
ovih reči imaju u sebi “the”.
Kada vi nađe prvo poklapanje, možete nastaviti
jednostavnim pritiskanjem tastera / pa zatim enter. Takođe
možete tražiti unazad ukoliko znak za deljenje zamenite sa ? znakom. Na primer, traženje unazad za “the” se može postići kad
se ukuca ?the.
Unošenje i zamena teksta se vrše u insert modu. Kao što je pre
rečeno, možete doći u insert mod tako što pritisnete i u komandnom modu. Tada, svaki tekst kojeg ukucate se unosi u
trenutni bafer. Pritiskanje tastera ESCAPE vas vraća u
komandni mod.
Zamena teksta se vrši na nekoliko načina. Iz komandnog moda, pritiskanje
tastera r će vam dopustiti da zamenite jedno slovo pod
kursorom. Samo pritisnite novo slovo i ono će zameniti ono pod kursorom. Odmah posle
toga ćete biti opet stavljeni u komandni mod. Pritiskanje R
vam dozvoljava da zamenite koliko god slova želite. Da biste izašli iz moda za
zamenu, samo pritisnite ESCAPE i vratićete se u komandni
mod.
Postoji još jedan način da se prebacuje između umetanja i zamene.
Pritiskanjem tastera INSERT u komandnom modu će vas staviti u
insert mod. Jednom kada ste u tom modu, taster INSERT služi za
prebacivanje između umetanja i zamene. Kada ga jednom pritisnete, dozvoliće vam
zamenu. Još jednom ga pritisnite i biće vam dozvoljeno da umećete
tekst.
vi vam dozvoljava da otvorite fajlove bilo iz komandnog moda,
ili njihovim naznačivanjem na komandnoj liniji. Da biste otvorili fajl /etc/lilo.conf:
Ako ste napravili promene u trenutnom baferu, bez snimanja, vi će se žaliti. Uvek možete otvoriti fajl bez
snimanja trenutnog bafera kucanjem :e!, pa zatim razmakom i imenom
fajla. Uopšteno, upozorenja programa vi mogu biti
zanemarena dodavanjem uzvičnika komandi.
Ako želite ponovo da otvorite trenutni fajl, to možete uraditi ako samo
otkucate e!. Ovo je posebno korisno ukoliko ste nekako
uništili fajl i želite opet da ga otvorite.
Neki vi klonovi (na primer, vim)
dozvoljavaju da istovremeno bude otvoreno više bafera. Na primer, kako bih otvorio
fajl 09-vi.sgml u mom početnom direktorijumu dok je
otvoren neki drugi fajl, ja ću kucao:
Novi fajl je prikazan na gornjoj polovini ekrana, a stari fajl je prikazan na donjoj
polovini. Postoji mnogo komandi koje manipulišu podeljenim ekranom, a mnoge od ovih
komandi počinju da liče kao da su izašle iz Emacs-a. Najbolje mesto da potražite ove komande je man
stranica vašeg vi klona. Primetite da mnogi klonovi ne podržavaju ideju
podeljenog ekrana, pa je možda nećete moći koristiti.
Postoji nekoliko načina da snimite fajl u uređivaču teksta vi. Ukoliko želite da snimite trenutni bafer u fajl naznake, kucaćete:
Jednom kada snimite fajl, ponovno snimanje se vrši jednostavnim :w. Svaka promena će biti zapisana u fajl. Kada je fajl snimljen,
bačeni ste u komandni mod. Ukoliko želite da snimite fajl i izađete iz
programa vi (vrlo česta operacija), kucaćete :wq. Ovo govori vi programu da snimi trenutni
fajl i izađe nazad u školjku.
Ponekad, želećete da snimite fajl koji je označen da može samo da
se čita. Ovo možete uraditi tako što ćete dodati uzvičnik posle
komande za upis, ovako:
Međutim, i dalje će postojati slučajevi kada ne možete da
upišete u fajl (na primer, pokušavate da uredite fajl čiji je vlasnik
drugi korisnik). Kada se ovo desi vi će vam reći da ne
može snimiti fajl. Ukoliko stvarno želite da uredite taj fajl, moraćete se
vratiti i urediti ga kao root ili (još bolje) kao vlasnik
tog fajla.
Jedan način da se izađe iz programa vi je kroz :wq, što će snimiti trenutni bafer pre izlaska Takođe
možete ugasiti program bez snimanja sa :q ili
(češće) :q!. Poslednja varijanta se koristi kada ste
modifikovali fajl, ali ne želite da snimite te promene.
Poneka, vaša mašina se može srušiti, ili se može srušiti
program vi. Međutim, i elvis i vim će preduzeti korake da se umanji šteta učinjena
nad otvorenim baferima. Oba editora snimaju otvorene bafere u privremeni fajl. Ovaj fajl
je najčešće slično imenovan kao i otvoreni fajl, ali sa tačkom
na početku. To čini da je fajl skriven.
Ovaj privremeni fajl bude uklonjen kada se uređivač ugasi pod normalnim
okolnostima. To znači da će privremena kopija još uvek biti tu ukoliko se
nešto sruši. Kada se vratite opet da uredite fajl, bićete upitani šta
da se učini. U većini slučajeva, veliki deo vašeg nesnimljenog posla
može biti vraćen. elvis će vam takođe
poslati e-poruku (iz Grejslenda, verovali ili ne :) u kojoj će vam javiti da postoji
rezervna kopija.
Vaš izabrani vi klon može biti podešen na
nekoliko načina.
Razne komande mogu biti unešene dok ste u komandnom modu kako bi se vi podesio da bude baš onakav kakvim ga želite. U
zavisnosti od vašeg uređivača teksta, možete uključiti osobine
koje programiranje čine lakšim (kao što su bojenje teksa, automatsko
nazubljivanje i drugo), postaviti makroe za automatske zadatke, uključiti teksutalne
zamene i još dosta toga.
Skoro sve od ovih komandi mogu biti stavljene u fajl za postavke unutar vašeg
početnog direktorijuma. elvis očekuje fajl .exrc dok vim očekuje fajl .vimrc Mnoge od komadni za postavke koje mogu biti unešene u
komandnom modu mogu biti postavljene u fajl za postavke. Ovo uključuje informacije o
podešavanjima, tekstualne zamene, makroe i još toga.
Rasprava o ovim opcijama i razlikama između uređivača teksta je
prilično komplikovana tema. Za više informacija proverite man ili Internet
stranicu vašeg omiljenog vi uređivača teksta.
Neki uređivači (kao što je vim) imaju veliki help
sistem unutar editora koji se može pogledati sa :help
komandom, ili nekom sličnom. Takođe možete pogledati O'Reilly knjigu Učenje vi uređivača teksta
koju su napisali Lamb i Robins.
Mnogo često korišćenih programa u Linuxu će podrazumevano
učitati teksutalni fajl u vi. Na primer, uređivanje
vašeg crontab fajla će podrazumevano pokrenuti vi
Ukoliko ne želite vi i želeli biste neki drugi
uređivač teksta umesto njega, sve što treba da uradite je da postavite
varijablu okruženja VISUAL na uređivač koji vam se
sviđa. Za informacije o postavljanju varijabli okruženja pogledajte sekciju sa
imenom Varijable okruženja u Glavi 8. Ukoliko želite da budete sigurni da
će ovaj uređivač biti podrazumevani svaki put kada se ulogujete, dodajte
VISUAL u vaš .bash_profile ili .bashrc fajl.
Ova sekcija je brza referenca za često korišćene vi komande. Neke od ovih su objašnjene u prethodnim pasusima,
dok neke prvi put srećemo.
Table 16-1. Kretanje
Operacija |
Taster |
levo, dole, gore, desno |
h, j, k, l |
Na kraj linije |
$ |
Na početak linije |
^ |
Na kraj fajla |
G |
Na početak fajla |
:1 |
Na liniju 47 |
:47 |
Table 16-2. Uređivanje
Operacija |
Taster |
Uklanjanje linije |
dd |
Uklanjanje pet linija |
5dd |
Zamena slova |
r |
Uklanjanje slova |
x |
Uklanjanje deset slova |
10x |
Poništi prethodnu akciju |
u |
Spoji trenutnu i sledeće linije |
J |
Zameni staro s novim, globalno |
%s'staro'novo'g |
Table 16-3. Pretraga
Operacija |
Taster |
Traži “asdf” |
/asdf |
Traži unazad “asdf” |
?asdf |
Ponovi poslednju pretragu unapred |
/ |
Ponovi poslednju pretragu unazad |
? |
Ponovi poslednju pretragu u istom smeru |
n |
Ponovi poslednju pretragu u suprotnom smeru |
N |
Table 16-4. Snimanje i izlaženje
Operacija |
Taster |
Izađi |
:q |
Izađi bez snimanja |
:q! |
Snimi i izađi |
:wq |
Snimi, bez izlaženja |
:w |
Ponovo učitaj trenutno otvoren fajl |
:e! |
Snimi bafer u fajl asdf |
:w asdf |
Otvori fajl hejaz |
:e hejaz |
Učitaj fajl asdf u bafer |
:r asdf |
Učitaj izlaz komande ls u bafer |
:r !ls |
Chapter 17 Emacs
Dok je vi (sa svojim klonovima) najprisutniji editor na
juniksolikim sistemima, Emacs se nalazi na dobrom drugom mestu. Umesto
korišćenja različitih “modova”, kao kod vi editora, on koristi Control i Alt kombinacije tastera za unošenje komandi, na prilično
isti način kao što koristite Control i Alt kombinacije tastera u procesoru reči i uistinu u mnogim
drugim aplikacijama koje izvršavaju određene funkcije. (Iako treba naglasiti da
se komande retko kada podudaraju; tako dok mnoge moderne aplikacije koriste Ctrl-C/ X/ V za kopiranje, isecanje i nalepljivanje, Emacs koristi različite
tastere i, u stvari, na neki način različit mehanizam za ovo.)
Takođe, za razliku od vi, koji je (odličan) editor
i ništa više, Emacs je program sa skoro beskrajnim mogućnostima. Emacs je
(u najvećem delu) napisan u Lispu, koji je veoma moćan programski jezik koji
ima posebnu osobinu da svaki program koji je u njemu napisan automatski u isto vreme
predstavlja i Lisp kompajler sam po sebi. Ovo znači da korisnik može
proširiti Emacs, i napisati potpuno nove programe “u Emacsu”.
Kao rezultat, Emacs više nije samo editor. Postoje dostupni mnogi dodatni paketi
za Emacsa (mnogi dolaze sa izvornim kodom programa) koji pružaju razne vrste dodatne
funkcionalnosti. Mnogi od ovih su u vezi sa uređivanje teksta, što je pre svega
osnovni zadatak Emacsa, ali se tu ne zaustavljaju. Na primer, postoji za Emacs nekoliko
programa za tabelarno računanje, postoje baze podataka, igre, programi za poštu
i news poruke (prvi od njih je Gnus), itd.
Postoje sve glavne verzije Emacsa: GNU Emacs (što je verzija koja dolazi sa
Slackware-om) i XEmacs. Poslednji nije verzija Emacsa koja se izvršava pod X-om. U stvari,
obojica i Emacs i XEmacs se izvršavaju na konzoli kao i pod X-om. XEmacs je nekada
započeo kao projekat da se očisti Emacsov kod. Trenutno, obe verzije se aktivno
razvijaju, i postoji mnogo interakcije između dva razvojna tima. Za trenutni
odeljak, nije važno da li koristite Emacs ili XEmacs, razlika među njima je
beznačajna za normalnog korisinika.
Emacs može biti pokrenut iz konzole prostim kucanjem emacs. Kada izvršavate X, Emacs će (normalno) da se
startuje sa svojim X prozorom, obično sa menijem na vrhu, gde možete naći
većinu važnih funkcija. Na početku, Emacs će prvo pokazati poruku
dobodošlice, i onda nakon par sekundi će vas prebaciti u *scratch* bafer.
(Pogledajte Section 17.2.)
Takođe možete startovati Emacs na postojećem fajlu kucajući
Ovo će uzrokovati time što će Emacs učitati zahtevani fajl kada se
pokrene, preskačući poruku dobrodošlice.
Kao što smo gore pomenuli, Emacs koristi Control i Alt kombinacije za komande. Najčešća konvencija je da
se ovi pišu kao C-slovo i M-slovo, respektivno. Pa C-x znači Control+x, i M-x znači Alt+x. (Slovo M se koristi
umesto A zato što originalno to nije bio Alt taster već
Meta taster. Meta taster je nestao sa
računarskih tastatura, i u Emacsu Alt taster je preuzeo
njegovu funkciju.)
Mnoge Emacs komande se sastoje od sekvenci tastera i njihovih kombinacija. Na primer,
C-x C-c (to jest Control-x kojeg
prati Control-c ) gasi Emacs, C-x C-s snima trenutni fajl. Zapamtite da C-x C-b nije isto kao i C-x b. Prvo znači Control-x kojeg prati Control-b, dok drugo znači Control-x praćen samo sa 'b'.
U Emacsu, koncept “bafera” je esencijalan. Svaki fajl koji otvorite bude
učitan u svoj sopstveni bafer. Nadalje, Emacs ima nekoliko specijalnih bafera, koji
ne sadrže fajl nego se koriste za druge stvari. Takvi specijalni baferi obično
imaju ime koje počinje i završava se zvezdicom. Na primer, bafer koji Emacs
prikazuje kada se pokrene, je takozvani *scratch* bafer. U *scratch* bafer možete
kucati tekst na normalan način, ali taj tekst ne bude sačuvan kada se Emacs
ugasi.
Postoji još jedan specijalan bafer za koji trebate da znate, i to je minibafer.
Ovaj se bafer sastoji samo od jedne linije i uvek je na ekranu: on je poslednja linija u
Emacs prozoru, ispod statusne linije za trenutni bafer. Minibafer je mesto gde Emacs
prikazuje poruke za korisnika, i takođe je mesto gde se izvršavaju komande koje
zahtevaju neko unošenje od strane korisnika. Na primer, kada otvarate fajl, Emacs
će upitati ime tog fajla u minibaferu.
Prebacivanje iz jednog bafera u drugi može biti urađeno komandom C-x b. Ovo će vas
upitati za ime bafera (ime bafera je najčešće ime fajla koji
uređujete), i daje vam podrazumevani izbor, koji je podrazumevano bafer u kom ste
bili pre nego što ste se prebacili ili stvorili trenutni bafer. Jednostavno
pritiskajući Enter ćete
se prebaciti u taj podrazumevani bafer.
Ako želite da se prebacite u neki drugi bafer koji nije onaj kojeg podrazumevano
ponudi Emacs, samo ukucajte njegovo ime. Primetite da možete koristiti takozvano Tab-dopunjavanje ovde: ukucajte prvih nekoliko slova imena bafera i
pritisnite Tab; Emacs će tada dopuniti ime bafera. Tab dopunjavanje funkcioniše svuda u Emacs-u gde to ima
smisla.
Možete dobiti listu otvorenih bafera pritiskajući C-x C-b. Ova komanda će
podrazumevano podeliti ekran na dva dela, prikazujući bafer u kom ste radili u
gornjoj polovini, a novi bafer zvani *Buffer List* u donjoj polovini. Ovaj bafer
sadrži listu svih bafera, njihove veličine i modove, i fajlove, ako ih ima,
koje posećuju ti baferi (kako se to kaže u Emacs-u). Možete se otarasiti
ovog podeljenog ekrana kucajući C-x 1.
 |
Pod X-om, lista bafera je takođe dostupna u Buffer meniju.
|
Svaki bafer u Emacsu ima mod koji je povezan s njim. Ovaj mod je veoma različit
od ideje modova u editoru vi: mod vam govori u kakvoj ste vrsti
bafera. Na primer, postoji text-mode za obične tekstualne fajlove, ali takođe
postoje modovi kao što su c-mode za uređivanje C programa, sh-mode za
uređivanje shell skripti, latex-mode za editovanje LaTeX
fajlova, mail-mode za uređivanje e-pošte i poruka, itd. Mod pruža posebna
prilagođavanja i funkcionalnosti koji su korisni za tu vrstu fajla kojeg
uređujete. Čak je moguće da mod promeni tastere i komande preko tastera.
Na primer, u Text modu, Tab taster jednostavno preskače na sledeće mesto
tabulacije, ali u mnogim modovima za progamerske jezike, Tab taster
pomera trenutnu liniju prema dubini bloka u kom se nalazi ta linija.
Modovi koji su gore pomenuti se zovi glavni (major) modovi. Svaki bafer ima tačno
jedan glavni mod. Dodatno, bafer može imati jedan ili više nižih (minor)
modova. Niži mod pruža dodatne osobine koje mogu biti korisne za određene
zadatke. Na primer, ako pritisnete INSERT taster, time pozivate
overwrite-mode, koji radi šta od njega očekujete, tj. prepisuje preko slova,
umesto da ih pomera dok kucate. Takođe postoji i auto-fill-mode, koji dobro
dođe u kombinaciji sa text i latex modovima: on čini da svaka linija koju
ukucate automatski bude prelomljena kada linija dosegne određeni broj slova. Bez
auto-fill moda, morate pritiskati M-q da bi
lepo prelomili svaki pasus. (Što takođe možete iskoristiti da ponovo
formatirate pasus pošto ste promenili neki tekst u njemu i on više nije lepo
prelomljen.)
Da bi otvorili fajl u Emacs-u, pritisnite
Emacs će vas pitati za ime fajla, stavljajući neku podrazumevanu stazu
umesto vas (koja je najčešće ~/). Kada ukucate
ime fajla (možete koristiti Tab dopunjavanje) i pritisnete ENTER, Emacs će otvoriti fajl u novom baferu i prikazati taj
bafer na ekranu.
 |
Emacs će automatski napraviti novi bafer, neće učitati fajl u trenutni
bafer.
|
Kako bi napravili novi fajl u Emacs-u, ne možete prosto odmah početi kucati.
Morate prvo napraviti bafer za njega, i smisliti ime fajla. Ovo radite pritiskajući
C-x C-f i kucajući ime fajla, isto kao što biste uradili za
otvaranje postojećeg fajla. Emacs će primetiti da fajl koji ste ukucali ne
postoji, napraviće novi bafer i prijaviti sa “(New file)” u
minibaferu.
Kada pritisnete C-x C-f i onda unesete ime direktorijuma umesto
imena fajla, Emacs će napraviti novi bafer u kome ćete naći listu svih
fajlova u tom direktorijumu. Možete pomerati kursor do fajla kojeg tražite i
ukucati , i Emacs će ga otvoriti. (U stvari postoji mnogo više akcija koje
možete primeniti ovde, kao što su brisanje, promena imena i pomeranje fajlova,
itd. Emacs je sada u dired modu, koji je u principu prost upravljač fajlovima.)
Kad ste pritisnuli C-x C-f i odjednom promenili svoju nameru,
možete pritisnuti C-g da otkažete
akciju. C-g funkcioniđe skoro svuda gde
hoćete da otkažete akciju ili komandu koju ste započeli ali ne želite
da završite.
Kada ste otvorili fajl, naravno možete se kretati po njemu pomoću kursora.
Kursorski tasteri i PgUp, PgDn rade ono
što očekujete od njih. Home i End
skaču na početak i kraj linije. (U starijim verzijama, ovi tasteri bi
skočili na početak i kraj bafera.) Međutim, takođe postoje Control i Meta (Alt)
kombinacije tastera koje pomeraju kursor. Zato što ne morate da pomerate vaše
ruke na drugi kraj tastature radi njih, oni su mnogo brži jednom kada se na njih
naviknete. Većina takvih važnih komandi je izlistana u Table 17-1.
Table 17-1. Osnovne Emacs komande za uređivanje
Komanda |
Rezultat |
C-b |
idi jedno slovo nazad |
C-f |
idi jedno slovo napred |
C-n |
idi jednu liniju dole |
C-p |
idi jednu liniju gore |
C-a |
idi na početak linije |
C-e |
idi na kraj linije |
M-b |
idi jednu reč nazad |
M-f |
idi jednu reč napred |
M-} |
idi jedan pasus napred |
M-{ |
idi jedan pasus nazad |
M-a |
idi jednu rečenicu nazad |
M-e |
idi jednu rečenicu napred |
C-d |
briši slovo pod kursorom |
M-d |
briši do kraja trenutne reči |
C-v |
idi dole za jedan ekran (tj., PgDn) |
M-v |
idi gore za jedan ekran (tj., PgUp) |
M-< |
idi na početak bafera |
M-> |
idi na kraj bafera |
C-_ |
poništi poslednju promenu (može se ponoviti); primetite da u stvari morate
pritisnuti Shift+Control+hyphen za ovo. |
C-k |
obriši do kraja linije |
C-s |
traži unapred |
C-r |
traži unazad |
Primetite da su mnoge Meta komande paralelne Control komandama osim što rade na većim jedinicama: dok C-f ide napred za jedno slovo, M-f ide napred za celu reču, itd.
Takođe primetite da M-< i M-> zahtevaju od vas da pritisnete Shift+Alt+zarez i Shift+Alt+tačka
respektivno, pošto su < i > na Shift+zarez i Shift+tačka. (Naravno, osim ako nemate različit raspored tastature
od standardnog US rasporeda.)
Primetite da C-k briše (ubija, kako
se to često naziva) sav tekst posle kursora do kraja linije, ali ne briše samu
liniju (tj. ne poslednji znak za novu liniju). On briše liniju samo ako nema teksta
posle kursora. Drugim rečima, da bi obrisali celu liniju, morate staviti kursor na
početak linije i onda pritisnuti C-k
dvaput: jednom da obrišete tekst u linije, jednom da obrišete samu liniju.
Kako bi snimili fajl, pritiskate
Emacs vas neće upitati za ime fajla, bafer će biti jednostavno sačuvan
u fajl iz kojeg je i učitan. Ako želite da sačuvate vaš tekst u neki
drugi fajl, pritisnite
Kada sačuvate fajl po prvi put u ovoj sesiji, Emacs će podrazumevano
sačuvati staru verziju vašeg fajla u rezervni fajl, koji ima isto ime na koje
je dodata tilda: tako da ako uređujete fajl “kola.txt”, Emacs će sačuvati rezervni fajl
“kola.txt~”.
Ovaj rezervni fajl je kopija fajla kojeg ste otvorili. Dok radite, Emacs će
redovno automatski snimati kopiju vašeg rada u fajl imenovan tarabama: #kola.txt#. Ova rezerva se briše kada snimite fajl sa C-x
C-s.
Kada završite uređivanje fajla, možete uništiti bafer koji ga
drži pritiskajući
Emacs će vas onda upitati koji bafer želite da uništite, sa trenutnim
baferom kao podrazumevanim izborom, kojeg možete odabrati pritiskajući ENTER. Ako niste još sačuvali vaš fajl, Emacs će
vas upitati da li zaista želite da uništite bafer.
Kada ste završili u potpunosti sa Emacs-om, možete pritisnuti
Ovo gasi Emacs. Ako imate nesačuvanih fajlova, Emacs će vam to reći, i
pitaće vas da li želite da ih sačuvate jednog po jednog. Ako odgovorite sa
ne za makar jedan od njih, Emacs će zatražiti još jednu finalnu potvrdu i
onda se ugasiti.
Chapter 18 Slackware
menadžer paketa
Paket je kolekcija srodnih programa koji su spremni za instalaciju. Kada imate arhivu
sa izvornim kodom, morate je konfigurisati (configure), kompajlirati (make) i instalirati
ručno (make install). Sa softverskim paketima, ova tri koraka su već
urađena, i sve što treba uraditi je instalirati dotični paket. Još
jedna zgodna mogućnost koju pružaju softverski paketi je ta da ih je veoma lako
ukloniti i nadograditi na noviju verziju, ukoliko to želite. Slackware dolazi sa
svim programima za menadžment paketa. Možete ih lako instalirati, ukloniti,
nadograditi, kreirati, pregletati i ispitati.
Postoji mit još od kako je RedHat predstavio svoj RedHat Package Manager (RPM),
da Slackware nema svoj menadžer paketa. Što jednostavno nije tačno.
Slackware je uvek uključivao i menadžer paketa, čak i pre nego što je
RedHat postojao. Iako nema mogućnosti i nije svuda prisutan kao rpm (ili još
bolje deb), pkgtool i njegovi sastavni programi su isto tako
dobri za instaliranje paketa. Istina je da komanda pkgtool
postoji, ali i da neradi proveravanje zavisnosti, što rade predhodna dva.
Očigledno mnogo ljudi u Linux zajednici misli da menadžer paketa mora po
definiciji uključivati i proveru zavisnosti. Pa to prosto nije tako, bar ne kod
Slackware distribucije. Ne treba zaključiti da Slackware paketi nemaju zavisnosti,
već da ih njegov menadžer paketa ne proverava. Mendžment zavisnosti je
ostavljen sistemskim administratorima, kao što bi to i trebalo biti.
Pre nego što naučimo programe, upoznaćemo se sa formatom Slackware
paketa. U Slackware distribuciji, paket je prosto tar arhiva kompresovana sa gzip komandom. Paketi su tako napravljeni da budu otpakovani u
korenskom direktorijumu.
Evo primera jednog izmišljenog programa i njegovog paketa:
./
usr/
usr/bin/
usr/bin/makehejaz
usr/doc/
usr/doc/makehejaz-1.0/
usr/doc/makehejaz-1.0/COPYING
usr/doc/makehejaz-1.0/README
usr/man/
usr/man/man1
usr/man/man1/makehejaz.1.gz
install/
install/doinst.sh
|
Sistem paketa će otpakovati ovu arhivu u korenski direktorijum i instalirati ga.
Takođe i unos u bazu podataka paketa će biti napravljen i sadržaće
podatke o paketu, tako da će kasnije biti lako nadograditi ili ukloniti dotični
paket.
Primetite install/ poddirektorijum. Ovo je poseban
direktorijum koji može da sadrži postinstalacioni skript doinst.sh. Ako sistem paketa pronađe ovaj fajl, on će
biti izvršen posle instalacije samog paketa.
I druge skripte mogu biti uključene u paket, ali o ovome se diskutuje sa malo
više detalja u Section 18.3.2 dole
ispod.
Postoje četiri glavna programa za menadžment paketa. Oni izvršavaju
instalaciju, uklanjanje i nadogradnju paketa.
pkgtool(8) je program sa opcijama koje omogućavaju
instalaciju i uklanjanje paketa. Glavni meni je prikazan na Figure 18-1.
Instalacija je ponuđena iz trenutnog direktorijuma, nekog drugog direktorijuma,
ili sa flopi diskete. Treba prosto odabrati mod instalacije koji vam odgovara i pkgtool
će pretražiti tu lokaciju i, ako pronađe validne Slackware pakete,
ponudiće vam instalaciju.
Takođe kroz ovaj program možete videti listu instalirani paketa, kao
što je pokazano na Figure 18-2.
Ako želite da uklonite pakete, izaberite 'remove' opciju i pred vama će se
pojaviti lista svih instaliranih paketa. Ozančite one koje želite da uklonite i
izaberite OK. I pkgtool će ih ukloniti.
Neki korisnici više vole ovaj program, a ne neke druge alate iz komandne linije.
Pa ipak, treba primetiti da programi iz komandne linije nude mnogo više opcija.
Takođe i mogućnost nadogradnje paketa je moguća samo kroz alate iz
komandne linije.
installpkg(8) komanda instalira nove pakete na vaš
sistem. Sintaksa je sledeća:
# installpkg opcije ime_paketa
|
Tri opcije su moguće sa installpkg komandom, ali se samo
jedna se može koristiti u isto vreme.
Table 18-1. installpkg opcije
Opcija |
Efekat |
-m |
Izvršava makepkg komandu u trenutnom direktorijumu. |
-warn |
Pokazuje šta bi se dogodilo ako instalirate dotični paket. Ovo je korisno
za neke sisteme tako da možete da vidite šta bi se dogodilo pre nego što
instalirate sam paket. |
-r |
Rekurzivno instalira sve pakete u trenutnom direktorijum pa nadole. Ime paketa
može sadžati i džokere. |
Ako zadate ROOT promenljivu okruženja pre installpkg, komande, ta putanja će biti upotrebljena za
instalaciju umesto korenskog direktorijuma. Ovo je korisno ako želite da nova
putanja, particija, itd, bude vaš korenski direktorijum. Oni su tipično
povezani na /mnt ili nešto drugo a ne na sam korenski
direktorijum /.
Baza podataka svih instaliranih paketa je smeštena u /var/log/packages. Unos je samo običan tekst fajl, po jedan za
svaki paket. Ako paket ima postinstalacioni skript, on je zapisan u /var/log/scripts/.
Možete zadati i više paketa ili koristiti džokere. Budite oprezni jer
installpkg komanda vam neće reći ako prepisujete preko
vać instaliranog paketa. Ona će prosto instalirati novi paket preko već
postojećeg starog paketa. Ako želite da se osigurate da do toga nedođe i
da su fajlovi starog paketa bezbedno obrisani, koristite komandu upgradepkg.
removepkg(8) komanda uklanja instalirani paket sa sistema.
Sintaksa je sledeća:
# removepkg opcija ime_paketa
|
Četiri opcije su moguće za komandu removepkg, ali
samo jedna se može koristiti u isto vreme.
Table 18-2. removepkg opcije
Opcija |
Efekat |
-copy |
Paket je kopiran i sačuvan u direktorijum za pakete. Ova opcija kreira stablo
orginalnog paketa bez uklanjanja. |
-keep |
Zadržava privremene fajlove kreirane tokom uklanjanja. Ovo se samo koristi u
svrhe traženja greške. |
-preserve |
Paket je uklonjen, ali i kopiran u direktorijum za pakete. |
-warn |
Pokazuje šta bi se dogodilo ako biste uklonili dotični paket. |
Ako zadate ROOT promenljivu okruženja pre removepkg komande, ta putanja će biti upotrebljena za
instalaciju umesto korenskog direktorijuma. Ovo je korisno ako želite da nova
putanja, particija, itd, bude vaš korenski direktorijum . Oni su tipično
povezani na /mnt ili nešto drugo a ne na sam korenski
direktorijum /.
removepkg komanda ne pretražuje i druge instalirane
pakete i uklanja fajlove samo iz paketa koji ste naveli. Takođe će skenirati
postinstalacioni skript navedenog paketa i ukloniti svaki simbolički link koji je
napravila ta skripta.
Tokom samog procesa uklanjanja, prikazan je izveštaj. Posle uklanjanja, unos iz
baze podataka je premešten u /var/log/removed_packages a
postinstalacioni skript je premešten u /var/log/removed_scripts.
Kao i kod komande installpkg, možete uneti imena
više paketa ili koristiti džokere.
upgradepkg(8) komanda će nadograditi na noviju verziju
već instalirani Slackware paket. Sintaksa je sledeća:
ili
# upgradepkg ime_starog_paketa%ime_novog_paketa
|
upgradepkg komanda, radi tako što prvo instalira novi
paket i onda ukloni stari paket nakon čega se stari fajlovi više ne nalaze na
sistemu. Ako se ime novog paketa razlikuje od starog, koristite oznaku za procenat (%) da
biste eksplicitno naveli ime starog paketa (onog koji je već instaliran) kao i ime
novog paketa (onog na koji nadograđujete).
Ako zadate ROOT promenljivu okruženja pre upgradepkg komande, ta putanja će biti upotrebljena za
instalaciju umesto korenskog direktorijuma. Ovo je korisno ako želite da nova
putanja, particija, itd, bude vaš korenski direktorijum. Oni su tipično
povezani na /mnt ili nešto drugo, a ne na sam korenski
direktorijum /.
upgradepkg komandu treba oprezno koristiti. Pre svega treba
sačuvati sve konfiguracione fajlove, ako se desi da budu obrisani ili prepisani,
trebaće vam kopija za vraćanje u prethodno stanje.
Kao i sa komandama installpkg i removepkg i ovde možete zadati više paketa ili koristiti
džokere.
Red Hat-ov menadžer paketa (RPM) je veoma popularan i raširen sistem paketa.
Mnoge distribucije, pa čak i poneko parče softvera, se mogu pronaći samo u
ovom formatu. Pošto ovo nije Slack-ov prirodni format paketa, oni se ne
preporučuju kao pouzdani. Pa ipak, kao što sam napisao, neke stvari su dostupne
samo preko RPM (pa čak i izvorni kod?!).
Slackware dolazi sa programom koji će konvertovati RPM pakete u .tgz pakete. Ovo će vam omogućiti da otpakujete paket (to
možete sa komandom explodepkg) u privremeni direktorijum i
ispitate njegov sadržaj.
Komanda rpm2tgz će napraviti Slackware paket sa
ekstenzijom .tgz dok će komanda rpm2targz napraviti arhivu sa ekstenzijom .tar.gz
Pravljenje Slackware paketa može biti lako ali i teško. Ne postoji
specifični metod za pravljenje paketa. Jedino što je potrebno je da paket bude
tar arhiva kompresovana programom gzip i, ako postoji postinstalacioni skript, on mora
biti /install/doinst.sh.
Ako vas zanima pravljenje paketa za vaš sistem ili za mrežu koju
održavate, trebate pogledati u različite skripte za pravljenje paketa koje se
nalaze u Slackware izvornom stablu. Postoji nekoliko načina na osnovu kojih se prave
paketi.
explodepkg(8) komanda će uraditi isto što i komanda
installpkg, odnosno otpakovati paket, ali ga neće
instalirati i neće ga uneti u bazu instaliranih paketa. Ona će ga prosto
otpakovati u trenutni radni direktorijum.
Ako pogledate u Slackware izvorno stablo, videćete kako se ova komanda koristi za
“osnovne (framework)” pakete. Ovi paketi čine skelet finalnih paketa, i
sadrže sve neophodne datoteke i ovlašćenja. Skripta za pravljanje paketa
će povezati sve potrebne datoteke iz direktorijuma sa izvornim kodom u direktorijum
u kome se paket pravi.
makepkg(8) će spakovati u Slackware paket u trenutni
radni direktorijum. Ona će pretražiti stablo i pronaći svaki
simbolički link i uneti ga u postinstalacioni skript da bi ih napravio tokom
instalacije paketa. Takođe će upozoriti ako nađe prazne datoteke u stablu
paketa.
Ova komanda se obično poziva nakon pravljenja stabla paketa.
Slackware paketi se prave na mnogo različitih načina po potrebi. Nisu svi
softverski paketi napravljeni od strane programera koji su ih napisali da bi bili
kompajlirani na isti način. Mnogi imaju opcije prilikom kompajliranja, a te opcije
ne moraju biti uključene u pakete koje Slackware koristi. Možda vam zatrebaju
baš neke od tih opcija i funkcionalnosti, tada morate kompajlirati svoj paket. Na
sreću, Slackware paketi sadrže SlackBuild skriptu u izvornom kodu paketa.
Dakle, šta je onda SlackBuild skripta? SlackBuild skripta je izvršna skripta
školjke koju pokrećete kao root da biste
konfigurisali, kompajlirali i napravili Slackware paket. Možete slobodno po potrebi
modifikovati ove skripte u direktorijumu sa izvornim kodom paketa i pokrenuti ih da bi
kreirali svoju verziju Slackware paketa.
Program za instalaciju (setup) Slackware-a upravlja i instalacijom softverskih paketa
na vašem sistemu. Postoje fajlovi koje govore setup programu koje pakete mora da
instalira, koji su opcionalni, a koje ste izabrali prilikom instalacije.
Fajl sa etiketama (tagfile) nalazi se u direktorijumu sa prvom serijom softvera. On
služi za izlistavanje paketa u tom određenom disk setu kao i njihovih statusa.
Status može biti:
Table 18-3. Tagfile status opcije
Opcija |
Značenje |
ADD |
Paket je neophodan za pravilno funkcionisanje sistema |
SKP |
Paket će automatski biti preskočen (neće biti instaliran) |
REC |
Paket nije neophodan, ali se preporučuje njegova instalacija |
OPT |
Paket je opcionalan |
Format je prost:
Jedan paket po liniji. Orginalan fajl sa etiketama (tagfiles) za svaku seriju softvera
se naziva tagfile.org. Tako da, ako menjanjem upropastite svoju, možete lako vratiti
orginalnu verziju.
Mnogi agdministratori više vole da pišu svoje fajlove sa etiketama (jel se
neko ovde prepoznaje :) ), i prilikom pokretanja instalera izaberu “full”
opciju. Program za instalaciju će pročitati fajlove sa etiketama i
izvršiti instalaciju prema njihovom sadržaju. Ako koristite REC ili OPT opcije,
instaler će pitati korisnika da li želi da instalira svaki pojedinačni
paket. Dakle, preporučljivo je držati se ADD i SKP opcija prilikom pisanja
sopstvenih fajlova sa etiketama (tagfile) za automatske instalacije.
Samo, osigurajte da vaši fajlovi sa etiketama (tagfiles) budu zapisani na istim
lokacijama kao i orginalni. Ili još bolje, možete odrediti putanju za svoje
fajlove sa etiketama.
Chapter 19 ZipSlack
ZipSlack je sprecijalna verzija Slackware Linuxa. To je već instalirana kopija
Slackware-a koja je spremna da se izvrši sa vaše DOS ili Windows particije. To
je osnovna instalacija, ne dobijete sve što dolazi u Slackware distribuciji.
ZipSlack duguje svoje ime formi u kojoj se distribuira, u obliku velikog .ZIP fajla.
Korisnici DOS-a ili Windows-a su verovatno upoznati sa ovakvim fajlovima. Oni su
kompresovane arhive. ZipSlack arhiva sadrži sve što vam je potrebno da
podignete i pokrenete Slackware.
Važno je primetiti da je ZipSlack značajno različit od regularne
instalacije. Iako oni funkcionišu isto i sadrže iste programe, njihova
namenjena publika i funkcija se razlikuju. Nekoliko prednosti i nedostataka koje ima
ZipSlack su prodiskutovani ispod.
Jedna poslednja stvar, trebali bi uvek pregledati dokumentaciju koja je uključena
u aktuelni ZipSlack direktorijum. Ona sadrži poslednje informacije koje se tiču
instaliranja, pokretanja i opšteg korišćenja proizvoda.
-
Koristi DOS sistem fajlova, koji je sporiji od prirodnog Linux sistema fajlova.
-
Neće raditi sa u sistemu Windows NT.
Dolaženje do ZipSlack-a je lako. Ako ste naručili oficijelni CD set
Slackware Linuxa, onda već imate ZipSlack. Samo pronađite CD koji sadrži
zipslack direktorijum i stavite ga u vaš CD-ROM
uređaj. Obično je to treći ili četvrti disk, ali uvek više
verujete nalepnicama pre nego ovoj dokumentaciji, pošto disk na kome se nalazi
može biti promenjen.
Ako želite da skinete ZipSlack sa Interneta, prvo treba da obiđete našu
“Get Slack” Internet stranicu radi poslednjih informacija za skidanje:
http://www.slackware.com/getslack/
ZipSlack je deo svakog Slackware izdanja. Locirajte izdanje koje želite, pa onda
idite u taj direktorijum na FTP serveru. Direktorijum sa poslednjim izdanjem može
biti pronađen na ovoj lokaciji:
ftp://ftp.slackware.com/pub/slackware/slackware/
Naćićete ZipSlack u /zipslack poddirektorijumu.
ZipSlack je ponuđen kao jedan veliki .ZIP fajl ili u
delovima veličine jednog flopija. Delovi su u /zipslack/split direktorijumu.
Nemojte se zaustaviti samo kod .ZIP fajlova. Takođe bi
trebali skinuti fajlove sa dokumentacijom i bilo koje slike za boot koji se pojavljuju u
direktorijumu.
Jednom kada ste skinuli sve neophodne komponente, trebaćete da raspakujete .ZIP fajl. Potvrdite da koristite 32-bitni program za raspakivanje.
Veličine i imena fajlova u arhivi su preveliki za 16-bitni program. Primeri
32-bitnih programa za raspakivanje su WinZip i PKZIP za Windows.
ZipSlack je napravljen da bude raspakovan direktno u koreni direktorijum diska (kao
što su C: ili D:). \LINUX direktorijum će biti napravljen i sadržaće
aktuelnu Slackware instalaciju. Takođe, tu ćete naći i fajlove koji su
potrebni za pokretanje sistema.
Nakon što ste raspakoval fajlove, trebali biste da imate \LINUX direktorijum na disku koji ste izabrali (mi ćemo
korisiti C: nadalje).
Postoji nekoliko načina da se pokrene ZipSlack. Najčeće se koristi
uključeni LINUX.BAT za pokretanje sistema iz DOS-a (ili DOS moda pod Windows-om 9x).
Ovaj fajl mora biti promenjen kako bi odgovarao vašem sistemu pre nego što bude
proradio.
Počnite otvarajući C:\LINUX\LINUX.BAT fajl u
vašem omiljenom uređivaču teksta. Na vrhu fajla ćete primetiti veliki
komentar. On objašnjava šta je potrebno da promenite u ovom fajlu (takođe
i šta da uradite ako pokrećete sistem sa spoljašnjeg Zip uređaja). Ne
brinite ako ne razumete root= postavku. Postoji nekoliko
primera, pa slobodno izaberite jedan i pokušajte s njim. Ako ne radi, možete
opet promeniti fajl, zakomentaristi liniju koju ste odkomentarisali, i izabrati
drugu.
Nakon što ste odkomentarisali liniju uklanjajući “rem” na
početku linije, sačuvajte fajl i izađite iz uređivača. Prebacite
vašu mašinu u DOS mod.
Prozor sa DOS promptom u Windows-u 9x NEĆE raditi.
Kucajte C:\LINUX\LINUX.BAT pokrenete sistem. Ako sve
prođe u redu, trebalo bi da vas dočeka login prompt.
Prijavite se kao root, bez lozinke. Verovatno ćete
želeti da postavite lozinku za root-a, takođe i da dodate nalog za vas. U ovom
trenutku možete pogledati druge odeljke ove knjiga za opšte
korišćenje sistema.
Ako korišćenje fajla LINUX.BAT za pokretanje
sistema nije radilo za vas, pogledajte uključeni fajl C:\LINUX\README.1ST za druge načine pokretanja.
Glossary
- Bibilioteka
-
Kolekcija funkcija koje se dele između programa.
- Boot disk
-
Flopi disk koji sadrži operativni sistem (u našem slučaju, Linux
kernel) sa koga se računar podiže.
- Čvor uređaja
-
Specifični tip datoteke u /dev datotečnom sistemu
koja pretstavlja hardversku komponentu operatvnom sisemu.
- Darkstar
-
Podrazumevano ime hosta (hostname) na Slackware sistemu; vaš računar će
da se zove darkstar ako niste odredili neko drugo ime.
Jedna od Patrikovih mašina za razvoj je tako nazvana zahvaljujući pesmi
“Dark Star” od Grateful Dead-a.
- Datotečni sistem
-
Pretstavljanje skaldištenih podataka u kome su “datoteke”
organizovane u “direktorijume”. Datotečni sistem je skoro univerzalna
forma pretstavljanja podatake koji su smešteni na diskovima (i za fiksne i
izmenjive).
- Datoteka tačka (dot)
-
U Linuxu, datoteke čija imena počinju sa ('.') tretiraju se kao
skrivene.
- Demon
-
Program koji je dizajniran da se izvršava u pozadini bez intervencije korisnika,
i koji izvršava specifični zadatak (uglavnom obezbeđuje neki servis).
- Dinanamički punilac
-
Kada se program kompajlira pod Linuxom, on obično koristi deo koda (funkcije) iz
eksternih biblioteka. Kada se porgram pokrene, te biblioteke moraju da se pronađu i
zahtevane funkcije da se učitaju u memeoriju. To je posao dinamičkog
punioca.
- DNS
-
Domain Name Service. Sistem pomoću koga se umreženim računarima daju
imana i prevode u numeričke adrese.
- Dopunski disk
-
U Slackware-u, flopi disk koji se koristi u toku instalacije, a koji nije kernel (koji
je na boot disku) ni root datotečni sistem (koji je na root disku), već na kome
se nalaze dodatne datoteke, kao na primer PCMCIA podrška.
- Dotted quad (Četvorka tački)
-
Format IP adresa, tako nazvan pošto se sastoji od četiri broje (celi brojevi
od 0 do 255)odvojenih tačkama.
- Epoha
-
Period istorije; u Unix-u, “Epoha” počinje od 1. Januara, 1970. god
(00:00:00 UTC). To je početak vremena za Unix i Unix-olike operativne sesteme, i sva
druga vremena se računaju u odnosu na taj datum.
- Framebuffer
-
Tip grafičkog uređaja; u Linux-u, to se uglavnom odnosi na softverski
framebuffer, koji obezbeđuje standardni framebuffer interfejs programima i na taj
način skriva programe od odgovarajućih drajvera. Ovaj apstraktni sloj
oslobađa programe od komunikacije sa različitim hardverskim uređajama.
- FTP
-
Protokol za prenos daototeka (File Transfer Protocol). FTP je veoma popularan metod za
transfer podataka između računara.
- GID
-
Identifikator grupe (Group Identifier). GID jedinstveni broj koji se na grupu
korisnika.
- Grupa
-
Korisnici u Unix-u pripadaju “grupama”, koje mogu da sadrže mnogo
korisnika i koje se koriste za opštiju kontrolu pristupa nego što se to
čini sa samim korisnicima.
- GUI
-
Graphical User Interface. Softverski interfejs koji se koristi za rendeerovanje
grafičkih elemenata kao što su dugmad, klizači, prozori itd. Suprotan od
njega je na tekstu baziran (text-based) ulazno izlazni interfejs.
- HOWTO
-
Dokumenat koji opisuje kako da (“how to”) se nešto uradi, kao na
primer konfigurisanje firewall-a ili upravljenje korisnicima i grupama. Postoji velika
kolekcija takvih dokumenata na Linux Documentation Project-u.
- HTTP
-
Hypertext Transfer Protocol. HTTP je glavni protocol po kome World Wide Web
funkcioniše.
- ICMP
-
Internet Control Message Protocol. Veoma bitan mrežni protokol, uglavnom se
koristi za pingovanje.
- Izvorni kod
-
Manje više čoveku razumljiv kod u kome je većina programa napisana.
Izvorni kod se kompajlira u “binarni” kod.
- Ime domana
-
DNS ime računara, neračunajući njegovo ime hosta.
- Kernel
-
Srce operativnog sistema. Kernel je deo koji obezbeđuje osnovu kontrolu procesa i
interfejs ka hardveru računara.
- Kernel modul
-
Deo kernelovog koda, uglavnom neka vrsta drajvera, koji može biti učitavan i
isčitavan iz memorije odvojeno od glavne mase kernela. Moduli su od koristi kada se
vrši nadogradnja drajvera ili testiranje podešavanja kernela, pošto se
mogu učitavati i isčitavati bez ponovnog butovanja.
- Kompajliranje
-
Konvertovanje koda u “binarni” kod koji mašina može da
čita.
- Lični direktorijum
-
Korisnički “lični direktorijum” je mesto gde se kerisnici odmah
nalaze posle logovanja (neko ga zove i početnti /en. Home/ ). Korisnici imaju
potpune dozvole i veću-manju slobodu u okviru svojih korisničkih
direktorijuma.
- LILO
-
The LInux LOader. LILO je najkorišćeniji Linux boot menadžer.
- LOADLIN
-
LOADLIN je program koji se pokreće pod MS DOS li Windows sistemu, a butuje Linux
sistem. Uglavnom se koristi na računarima sa više operativnih sistema
(uključujući naravno Linux i DOS/Windows).
- Ljuska
-
Ljuska omogućava korisnicima interfejs preko komadne linije. Kada vidite
tekstualni prompt, tada ste u ljusci.
- Ljuskine ugrađene komande
-
Ugrađene komande u ljusku, suprotno od komandi koje su eksterni programi. Na
primer, bash ima ugrađenu komandu cd.
- Man odeljci
-
Strane u standardnom Unix online priručniku ("man") su grupisane u odeljke radi
lakšeg refefenciranja. Sve strane vezane za C jezik su u 3. strani, strane namenjene
administraciji sistma su petom odeljku, itd.
- MBR
-
Glavni Boot zapis (Master Boot Record). Rezervisan prostor na hard disku, koji je
namenjen da sadrži informacije koje trebaju da govore šta treba da se radi kada
se butuje. Tu se zapisuje LILO ili neki drugi boot menadžer.
- MOTD
-
Poruka dana (Message of the Day). motd (u Linux-u pretstavlja /etc/motd datoteku) je tekstualna datoteka koje se prikazuje svim
korisnicima koji su logovani. Tradicionalno je koristi administrator sistema kao vrstu
“oglasne table” za komunikaciju sa korisnicima.
- Motif
-
Popularni toolkit za programiranje koji se koristi za mnoge starije X programe.
- Mrežni interfejs
-
Virtualno pretstavljanje mrežnog uređaja od starane kernela. Mrežni
interfejs omogućava korisnicima i programima da razgovaraju sa mrežnim
uređajima.
- Nalog
-
Sve informacije o korisnicima, u šta spada: korisničko ime, lozinka, finger
informacije, UID i GID, i početni direktorijum. U toku kreiranje naloga dodaje se i
definiše korisnik.
- NFS
-
Network Filesystem. NFS omogućava montiranje udaljenog datotečnog sistema
tako da on izgleda kao da je lokalno na vašem računaru, ili transparenti model
za deljenje datoteka.
- Oktalno
-
Brojni sistem sa bazom 8, sa ciframa 0-7.
- Pager
-
X program koji omogućava korisniku da vidi i prelazi između višestrukih
“desktopa”.
- Particija
-
Deo hard diska. Datotečni sistemi su na vrhu particija.
- Podmreža
-
Opseg IP addresa koji je deo većeg opsega. Na primer, 192.168.1.0 je
podmreže 192.168.0.0 (gde 0 is a mask meaning “undefined”); it is, in
fact, the “.1” subnet.
- Pozadina
-
Za neki pokrenut proces koji ne prihvata kontrolu sa ulaza terminala kažemo da je
pokentut u pozadini.
- PPP
-
Point-to-Point Protocol. PPP se uglavnom koristi za povezivanje na ISP preko
modema.
- Prvi plan (Foreground)
-
Za program koji prihvata kontrolu sa ulaza terminala kažemo da je pokrenut u
prvom planu.
- Promenjive okruženja (Environment variable)
-
Skup promenjivih u korisničkoj ljusci koje se odnose na korisnika i programe koji
se uzvršavaju. Promenjive okruženja se uglavnom koriste za smeštanje
podrazumevanih karakteristika i parametara.
- Proces
-
Pokrenut program.
- Prolaz (Gateway)
-
Računar kod koga se podaci sa jedne mreže prenose na drugu.
- Radni direktorijum
-
Direktorijum u kome se nalazi program koji je pokrenut.
- Radno okruženje
-
Grafički korisnički interfejs (A graphical user interface /GUI/) koji se
izvršava na vrhu X Window sistema i koji nudi pogodnosti kakva je integracija
aplikacija, kohezivan look-and-feel među programima i komponentama, sposobnost
upravljanja datotekama i prozorima, itd. Korak iznad jednostavnog window
menadžera.
- Root direktorijum
-
Obeležava se sa “/”, i nalazi se na vrhu datotečnog sistema
zajedno sa svim direktorijumima ispod njega.
- Root disk
-
Disk (uglavnom fiksni) na kome je root direktorijum smešten.
- Runlevel
-
Celokupno stanje sistema definisano preko init programa. Runlevel 6 je ributovanje,
runlevel 1 je “jednokorisnički mod”, runlevel 4 je X logovanje, itd.
Postoji 6 runlevel-a u Slackware sistemu.
- Serije softvera
-
Kolekcija srodnih softverskih paketa u Slackware-u. Svi KDE paketi su u
“kde” seriji, paketi vezanu za mrežu su u “n” seriji,
itd.
- Server imena
-
Server DNS informacija. Server imena prevodi DNS imena u numeričke IP adrese.
- Servis
-
Deli informacije i/ili podatke između programa i računara sa jednog
“servera” ka više “klijenata”. HTTP, FTP, NFS, itd. su
servisi.
- Shadow password suite
-
Shadow password suite omogućava da se enkriptovane lozinke sakriju od korisnika,
dok bi ostale informacije u /etc/passwd datoteci bile vidljive
za sve. Ova pomoć onemogućava brutalni napad i krekovanje lozinki.
- Signal
-
Unix programi mogu međusobno da komuniciraju korišćenjem jednostavnih
“signala”, koji su numerisani i obično imaju specifično
značenje. Komandakill -l će izlistati sve
postojeće signale.
- Sigurosna ljuska
-
Metod enkriptovanog (zato sigurni) logovanja na udaljen računar. Postoji mnogo
programa koji koriste sigurnosnu ljusku; i serveri i klijenti.
- Simbolički link
-
Specijalna datoteka koje jednostavno vodi ka lokaciji druge datoteke. Simbolički
linkovi se koriste da bi se izbeglo dupliranje podataka kada je potrebano postajanje
datoteke na više mesta.
- SLIP
-
Serial Line Interface Protocol. SLIP je sličan kao PPP protokol, koristi se za
povezivanje dve mešine preko serijskog interfejsa.
- Softverski paketi
-
Program i njegove pripadajuće datoteka, koje su arhivirane i kompresovane u samo
jednu datoteku, zajedno sa neophodnim skrptovima i informacijama koje pomažu u radu
sa instalacijom, nadogradnjom, i uklanjanjem tih datoteka.
- Standarna greška (stderr)
-
Srandardni Unix-ov izlazni tok za greške. Svaka greška programa se
šalje u stderr, tako da se na taj način odvaja od normalnog izlaza.
- Standardni izlaz (stdout)
-
Standardni Unix-ov izlazni tok. Uobičajni tekstualni izlaz iz programa se
piše u stdout, koji odvaja poruke o greškama koje se predaju stderr-u, i koji
se može preko cevovoda preusmeriti ka stidn-u drugih programa ili u dateku.
- Standardni ulaz (stdin)
-
Standardni Unix-ov tok za ulaz. Podaci se mogu preusmeriti ili provući kroz
cevovod iz bilo kog izvora ka stdin-u programa.
- Superblok
-
U Linux-u, particija se tretira kao niz blokova. Blok je veličine od 512 bajtova.
Superblok su prvih 512 bajtova particije.
- Suspendovani procesi
-
Proces koji je zamrzut dok se ne ubije ili obnovi.
- Swap prostor
-
Disk prostor koji kernel koristi kao “virtualni” RAM. Sporiji je nego RAM,
ali pošto je disk prostor jefitiniji, swap je uglavnom više ekonomičniji.
Swap prostor je koristan kernelu za skladištenje manje korišćenih podataka
kao i podatka kada se RAM prepuni.
- Tabela rutiranja
-
Skup informacija koje kernel koristi u “rutiranju” podataka kroz
mrežu. Sadrži takve stvari kao što su podrazumevani gateway, koji je
mrežni interfejs povezan na koju mrežu, itd.
- Tačka montiranja
-
Prazni direktorijum u datotečnom sistemu gde se drugi datotečni sistem
“mountira”, ili kalemi.
- Tagfile
-
Datoteka koju koristi Slackware-ov setup program u toku
instalacije. Opisuje skup paketa koji trebaju da se instaliraju.
- Terminal
-
Interfejs između čoveka i računara koji se sastoji iz najmanje jednog
ekrana (ili virtualnog ekrana) i nekog načina za unos (uglavnom najmanje jedne
tastature).
- Toolkit, GUI
-
GUI toolkit je kolekcija biblioteka koje se nude programeru sa kodom koji
obezbeđuje crtanje “widget-a” kao što su klizači,
kvadratići za potvrdu, itd. i konstrukciju grafičkog interfejsa. GUI toolkit
koji koristi program često definiše njegov “look and feel”.
- UID
-
Korisnički identifikator. Jedinstveni broj koji idenrifikuje korisnike na
sistemu. UID koristi većina programa umesto stvarnog imena korisnika zbog
lakšega rada; imena korisnika se uglavnom koriste kada treba korisnik da vidi
nešto što se desilo.
- Upravljač uređaja
-
Deo koda u kernelu koji neposredno kontroliše komad hardvera.
- VESA
-
Video Electronics Standards Association. Termin “VESA” se često
koristi za označavanje standarda koji je izdala Asocijacija. Svi moderni video
adapteri su VESA kompatibilni.
- Virtualni terminali
-
Korišćenje softvera u simulaciji višestrukih terminala
korišćenjem samo jedog seta ulazno/izlaznih uređaja (tastatura, monitor,
miš). Specijalna kombinacija tastera pomoći, pomoću koje se prebacuje
između virtualnih i fizičkih terminala.
- Window manager
-
X program čija je uloga da obezbeđuje grafički interfejs preko
jednostavnih kvadrata koje nudi X Window System. Window manadžeri generalno
omogućavaju naslovnu liniju, menije za poketanje programa, itd.
- Wrapper program
-
Program čija je jedina uloga da pokreće druge programe, ali menjanjem
ponašanja programa na isti načina kao izmenom okruženja ili filtriranjem
njihovog ulaza.
- X server
-
Program u X Window Sistemu koji je interfejs ka grafičkom hardveru i koji rukuje
trenutnim, pokrenutim X programima.
- X Window System
-
Mrežni grafički interfejs koji se koristi na većini Unix-olikih
sistema, uključujući i Linux.
Appendix A. GNU opšta javna licenca
Pošto prevodici ove knjige nisu pravnici, i smatraju da svojim prevodom mogu
načiniti štetu, znajući kako pravnici umeju da naprave velike razlike na
osnovu malih detalja, GNU opšta javna licenca je ostavljena u originalu. Takođe
savetujemo da je prenosite u originalu primenjujući je na svoje programe, sve dok
njen prevod ne bude odbranjen na sudu Srbije i Crne Gore.
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Everyone is permitted to copy and distribute verbatim copies of this
license document, but changing it is not allowed.
The licenses for most software are designed to take away your freedom to share and
change it. By contrast, the GNU General Public License is intended to guarantee your
freedom to share and change free software--to make sure the software is free for all its
users. This General Public License applies to most of the Free Software Foundation's
software and to any other program whose authors commit to using it. (Some other Free
Software Foundation software is covered by the GNU Library General Public License
instead.) You can apply it to your programs, too.
When we speak of free software, we are referring to freedom, not price. Our General
Public Licenses are designed to make sure that you have the freedom to distribute copies
of free software (and charge for this service if you wish), that you receive source code
or can get it if you want it, that you can change the software or use pieces of it in new
free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid anyone to deny you
these rights or to ask you to surrender the rights. These restrictions translate to
certain responsibilities for you if you distribute copies of the software, or if you
modify it.
For example, if you distribute copies of such a program, whether gratis or for a fee,
you must give the recipients all the rights that you have. You must make sure that they,
too, receive or can get the source code. And you must show them these terms so they know
their rights.
We protect your rights with two steps: (1) copyright the software, and (2) offer you
this license which gives you legal permission to copy, distribute and/or modify the
software.
Also, for each author's protection and ours, we want to make certain that everyone
understands that there is no warranty for this free software. If the software is modified
by someone else and passed on, we want its recipients to know that what they have is not
the original, so that any problems introduced by others will not reflect on the original
authors' reputations.
Finally, any free program is threatened constantly by software patents. We wish to
avoid the danger that redistributors of a free program will individually obtain patent
licenses, in effect making the program proprietary. To prevent this, we have made it
clear that any patent must be licensed for everyone's free use or not licensed at
all.
The precise terms and conditions for copying, distribution and modification
follow.
TERMS AND CONDITIONS FOR COPYING,
DISTRIBUTION AND MODIFICATION
-
This License applies to any program or other work which contains a notice placed by
the copyright holder saying it may be distributed under the terms of this General Public
License. The “Program”, below, refers to any such program or work, and a
“work based on the Program” means either the Program or any derivative work
under copyright law: that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another language.
(Hereinafter, translation is included without limitation in the term
“modification”.) Each licensee is addressed as “you”.
Activities other than copying, distribution and modification are not covered by this
License; they are outside its scope. The act of running the Program is not restricted,
and the output from the Program is covered only if its contents constitute a work based
on the Program (independent of having been made by running the Program). Whether that is
true depends on what the Program does.
-
You may copy and distribute verbatim copies of the Program's source code as you
receive it, in any medium, provided that you conspicuously and appropriately publish on
each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty; and give any other
recipients of the Program a copy of this License along with the Program.
You may charge a fee for the physical act of transferring a copy, and you may at your
option offer warranty protection in exchange for a fee.
-
You may modify your copy or copies of the Program or any portion of it, thus forming a
work based on the Program, and copy and distribute such modifications or work under the
terms of Section 1 above, provided that you also meet all of these conditions:
-
You must cause the modified files to carry prominent notices stating that you changed
the files and the date of any change.
-
You must cause any work that you distribute or publish, that in whole or in part
contains or is derived from the Program or any part thereof, to be licensed as a whole at
no charge to all third parties under the terms of this License.
-
If the modified program normally reads commands interactively when run, you must cause
it, when started running for such interactive use in the most ordinary way, to print or
display an announcement including an appropriate copyright notice and a notice that there
is no warranty (or else, saying that you provide a warranty) and that users may
redistribute the program under these conditions, and telling the user how to view a copy
of this License. (Exception: if the Program itself is interactive but does not normally
print such an announcement, your work based on the Program is not required to print an
announcement.)
These requirements apply to the modified work as a whole. If identifiable sections of
that work are not derived from the Program, and can be reasonably considered independent
and separate works in themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you distribute the same
sections as part of a whole which is a work based on the Program, the distribution of the
whole must be on the terms of this License, whose permissions for other licensees extend
to the entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest your rights to
work written entirely by you; rather, the intent is to exercise the right to control the
distribution of derivative or collective works based on the Program.
In addition, mere aggregation of another work not based on the Program with the
Program (or with a work based on the Program) on a volume of a storage or distribution
medium does not bring the other work under the scope of this License.
-
You may copy and distribute the Program (or a work based on it, under Section 2) in
object code or executable form under the terms of Sections 1 and 2 above provided that
you also do one of the following:
-
Accompany it with the complete corresponding machine-readable source code, which must
be distributed under the terms of Sections 1 and 2 above on a medium customarily used for
software interchange; or,
-
Accompany it with a written offer, valid for at least three years, to give any third
party, for a charge no more than your cost of physically performing source distribution,
a complete machine-readable copy of the corresponding source code, to be distributed
under the terms of Sections 1 and 2 above on a medium customarily used for software
interchange; or,
-
Accompany it with the information you received as to the offer to distribute
corresponding source code. (This alternative is allowed only for noncommercial
distribution and only if you received the program in object code or executable form with
such an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for making
modifications to it. For an executable work, complete source code means all the source
code for all modules it contains, plus any associated interface definition files, plus
the scripts used to control compilation and installation of the executable. However, as a
special exception, the source code distributed need not include anything that is normally
distributed (in either source or binary form) with the major components (compiler,
kernel, and so on) of the operating system on which the executable runs, unless that
component itself accompanies the executable.
If distribution of executable or object code is made by offering access to copy from a
designated place, then offering equivalent access to copy the source code from the same
place counts as distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
-
You may not copy, modify, sublicense, or distribute the Program except as expressly
provided under this License. Any attempt otherwise to copy, modify, sublicense or
distribute the Program is void, and will automatically terminate your rights under this
License. However, parties who have received copies, or rights, from you under this
License will not have their licenses terminated so long as such parties remain in full
compliance.
-
You are not required to accept this License, since you have not signed it. However,
nothing else grants you permission to modify or distribute the Program or its derivative
works. These actions are prohibited by law if you do not accept this License. Therefore,
by modifying or distributing the Program (or any work based on the Program), you indicate
your acceptance of this License to do so, and all its terms and conditions for copying,
distributing or modifying the Program or works based on it.
-
Each time you redistribute the Program (or any work based on the Program), the
recipient automatically receives a license from the original licensor to copy, distribute
or modify the Program subject to these terms and conditions. You may not impose any
further restrictions on the recipients' exercise of the rights granted herein. You are
not responsible for enforcing compliance by third parties to this License.
-
If, as a consequence of a court judgment or allegation of patent infringement or for
any other reason (not limited to patent issues), conditions are imposed on you (whether
by court order, agreement or otherwise) that contradict the conditions of this License,
they do not excuse you from the conditions of this License. If you cannot distribute so
as to satisfy simultaneously your obligations under this License and any other pertinent
obligations, then as a consequence you may not distribute the Program at all. For
example, if a patent license would not permit royalty-free redistribution of the Program
by all those who receive copies directly or indirectly through you, then the only way you
could satisfy both it and this License would be to refrain entirely from distribution of
the Program.
If any portion of this section is held invalid or unenforceable under any particular
circumstance, the balance of the section is intended to apply and the section as a whole
is intended to apply in other circumstances.
It is not the purpose of this section to induce you to infringe any patents or other
property right claims or to contest validity of any such claims; this section has the
sole purpose of protecting the integrity of the free software distribution system, which
is implemented by public license practices. Many people have made generous contributions
to the wide range of software distributed through that system in reliance on consistent
application of that system; it is up to the author/donor to decide if he or she is
willing to distribute software through any other system and a licensee cannot impose that
choice.
This section is intended to make thoroughly clear what is believed to be a consequence
of the rest of this License.
-
If the distribution and/or use of the Program is restricted in certain countries
either by patents or by copyrighted interfaces, the original copyright holder who places
the Program under this License may add an explicit geographical distribution limitation
excluding those countries, so that distribution is permitted only in or among countries
not thus excluded. In such case, this License incorporates the limitation as if written
in the body of this License.
-
The Free Software Foundation may publish revised and/or new versions of the General
Public License from time to time. Such new versions will be similar in spirit to the
present version, but may differ in detail to address new problems or concerns.
Each version is given a distinguishing version number. If the Program specifies a
version number of this License which applies to it and “any later version”,
you have the option of following the terms and conditions either of that version or of
any later version published by the Free Software Foundation. If the Program does not
specify a version number of this License, you may choose any version ever published by
the Free Software Foundation.
-
If you wish to incorporate parts of the Program into other free programs whose
distribution conditions are different, write to the author to ask for permission. For
software which is copyrighted by the Free Software Foundation, write to the Free Software
Foundation; we sometimes make exceptions for this. Our decision will be guided by the two
goals of preserving the free status of all derivatives of our free software and of
promoting the sharing and reuse of software generally.
-
NO WARRANTY
BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM,
TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE
COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM “AS IS” WITHOUT
WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE
RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM
PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR
CORRECTION.
-
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY
COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS
PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL
OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM
(INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES
SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
DAMAGES.
END OF TERMS AND CONDITIONS
If you develop a new program, and you want it to be of the greatest possible use to
the public, the best way to achieve this is to make it free software which everyone can
redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest to attach them to
the start of each source file to most effectively convey the exclusion of warranty; and
each file should have at least the “copyright” line and a pointer to where
the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this when it starts
in an interactive mode:
Gnomovision version 69, Copyright (C) year name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
|
The hypothetical commands `show w' and `show c' should show the appropriate parts of
the General Public License. Of course, the commands you use may be called something other
than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits
your program.
You should also get your employer (if you work as a programmer) or your school, if
any, to sign a “copyright disclaimer” for the program, if necessary. Here is
a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
`Gnomovision' (which makes passes at compilers) written by James Hacker.
<signature of Ty Coon>, 1 April 1989
Ty Coon, President of Vice
|
This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may consider it more
useful to permit linking proprietary applications with the library. If this is what you
want to do, use the GNU Library General Public License instead of this License.
|
| |
|