Download as pdf or txt
Download as pdf or txt
You are on page 1of 85

Predrag Raki

Osnove administracije GNU/Linux sistema


v1.0

Novi Sad, 2003

Copyright (c) 2003 Predrag Raki

Permission is granted to copy, distribute and/or modify this document

under the terms of the GNU Free Documentation License, Version 1.2
or any later version published by the Free Software Foundation;

with Invariant Sections being "Slobodni programi - ta je to i zato?",

no Front-Cover Texts, and no Back-Cover Texts. A copy of the license


is included in the section entitled "GNU Free Documentation License".
Copyright (c) 2003 Predrag Raki

Dozvoljeno je kopiranje, distribuiranje i/ili modifikovanje ovog dokumenta

u skladu sa uslovima GNU Free Documentation License, Verzija 1.2 ili bilo
koje kasnije verzije objavljene od strane Free Software Foundation;

sa Nepromenljivim Poglavljem "Slobodni programi - ta je to i zato?", bez

obaveznog Teksta na Naslovnoj Strani i bez obaveznog Teksta na Poslednjoj

Strani. Kopija licence se nalazi u poglavlju "GNU Free Documentation License".

Sadraj
Predgovor.................................................................................................................................iii
Uvod..........................................................................................................................................1
ta je u opte distribucija?..............................................................................................1
Zato ba Mandrake?......................................................................................................1

O grafikom okruenju..............................................................................................................2
X.......................................................................................................................................2
Upravlja prikaza (Display Manager - DM).....................................................................2

KDE .................................................................................................................................3
Radna povrina (desktop)...............................................................................................3
Poetni meni....................................................................................................................4

Struktura direktorijuma i take montiranja (mount points)........................................................7


mount i umount................................................................................................................8
supermount......................................................................................................................9

Konzola - Shell (omota) - tekstualno okruenje....................................................................10


Osnovne naredbe:.........................................................................................................10
Globbing........................................................................................................................11

Atributi datoteke, vrste i meke veze............................................................................13

vim - Vi IMproved....................................................................................................................16
Administracija korisnika i grupa..............................................................................................18
Identitet..........................................................................................................................18
Korisniki nalog..............................................................................................................18
Dodavanje korisnikog naloga (user account)..............................................................20
Grupe korisnika.............................................................................................................21
Dodavanje grupe ..........................................................................................................22
Identitet - II deo.............................................................................................................22

Brisanje korisnikog naloga (user account)...................................................................23


Brisanje grupe................................................................................................................23
Grafiki alati...................................................................................................................23

Sistem prava nad datotekama ...............................................................................................24


Organizacija FS pod GNU/Linux-om......................................................................................26
Boot loader.............................................................................................................................29
Disketom, bez boot loader-a. .......................................................................................29

Boot loader-om koji podrava Linux kernel ..................................................................30


Boot loader-om koji ne podrava Linux kernel ali podrava chain-loading...................30
Iz DOS/Win95/Win98.....................................................................................................30
LILO (LInux LOader).....................................................................................................31
i

GRUB (GRand Unified Bootloader)..............................................................................35

Osnove umreavanja - TCP/IP...............................................................................................37


'init' proces..............................................................................................................................41

/etc/rc.d/.........................................................................................................................43
shutdown........................................................................................................................43

Demoni....................................................................................................................................45
Servisi.....................................................................................................................................46
'webmin' server ......................................................................................................................47
Dodavanje i uklanjanje programa...........................................................................................48
Upravljanje paketima.....................................................................................................48
Prevoenje programa iz izvornog koda.........................................................................49

Pravljenje tar arhive.......................................................................................................52

Sistem prava nad datotekama - nastavak..............................................................................53


Numerike oznake.........................................................................................................54
umask............................................................................................................................54

ssh (Secure SHell)..................................................................................................................55


Samba.....................................................................................................................................56
Samba Unix server........................................................................................................56
Samba Unix klijent.........................................................................................................57
Grafiki alat....................................................................................................................58

VNC (Virtual Network Computing)..........................................................................................59


Dokumentacija........................................................................................................................60
'man' (manual) strane....................................................................................................60
'info'................................................................................................................................61

Literatura.................................................................................................................................62

Prilog 1: Slobodni programi - ta je to i zato?.......................................................................63


O razlozima za izbor slobodnih programa.....................................................................63
O autoru GNU projekta..................................................................................................63
O "slobodnim programima"............................................................................................65
O "programima otvorenog koda"...................................................................................67
O kategorijama slobodnih i ne-slobodnih programa......................................................68
O pouzdanosti slobodnih i ne-slobodnih programa.......................................................71

Prilog 2: GNU Free Documentation License.........................................................................72

ii

Predgovor
Ova skripta je nastala za potrebe uvodnih predavanja o GNU/Linux

sistemu, koje sam (uglavnom) drao u SMART koli i zato koristim ovu
priliku da se zahvalim SMART-u na saradnji i poverenju.

Ova skripta je namenjena onima koji ele da upoznaju GNU/Linux

operativni sistem, a prethodno nisu imali priliku da se sretnu ni sa jednim

Unix-olikim sistemom. Podrazumeva se da italac poseduje opta znanja


o operativnim sistemima i iskustvo na nekom raunarskom sistemu.

Napomena: Ovo je skripta, ne udbenik. Osnovna namena joj je da bude


pratei dokument predavanjima. Za obraene pojmove data su samo

osnovna objanjenja i reference na kojima zainteresovani mogu da nau


vie informacija.

Ovaj dokument je napisan u nadi da e biti koristan i zbog toga je svima

dozvoljeno da kopiraju i distribuiraju (prodaju ili poklone) ovaj dokument u


bilo kom formatu.

Ispravke i komentari su dobrodoli na adresi:


pec na uns taka ns taka ac taka yu

Najnovija verzija ovog dokumenta se moe nai na adresi:


http://www.predragrakic.com

Autor

iii

Predrag Raki

Osnove administracije GNU/Linux sistema

Uvod
Cilj:

ta je u opte distribucija?

Razumevanje pojmova
Svi smo uli da je otac Linux-a Linus Torvalds. Pa je ono na
Linux kernel,
emu korisnici Linux-a rade verovatno njegovo delo. Nije ba
GNU/Linux, distribucija.
tako. Linus je otac Linux kernela (jezgra operativnog sistema).
Zato Mandrake?
Naalost to je deo operativnog sistema kojeg prosean korisnik
najee nije ni svestan jer ne dolazi u direktan kontakt s njim.
Prosean korisnik koristi veliki broj namenskih aplikacija, koje
mu omoguavaju da obavi razliite poslove (puta muziku,
gleda filmove, prima i alje potu) i grafiko okruenje kojim
upravlja svim tim aplikacijama i samim sistemom. Sve su to
programi razliitih autora.
Distributer je organizacija (ili pojedinac) koji prikupi (po svom
miljenju) sve potrebne programe i pripremi ih za korienje
(prevede, podesi, razrei meuzavisnosti paketa). Na taj nain
organizovana, tj. spremna za korienje, grupa programa se
zove distribucija. U prosenoj distribuciji kernel uestvuje sa
nekoliko promila. Ovim ne mislim da kaem da kernel nije
jedan od znaajnijih delova operativnog sistema, ve da se
operativni sistem sastoji od velikog broja delova koji tek
zajedno ine monu celinu.
Veina tih drugih programa je nastala kao deo jednog drugog
projekta - GNU, zapoetog mnogo pre Linux kernela. GNU je
(verovatno prvi) rekurzivni akronim za 'GNU is Not Unix'.
Njegov otac je Riard Stolman. Zato se sistem koji emo ovde
koristiti ne zove Linux, zove se GNU/Linux.

Zato ba Mandrake?
Na nekoj distribuciji se mora raditi (strogo gledano ne mora,
ali...). Odabran je Mandrake 9.1.
Prvo to je jedna od poznatijih svetskih distribucija. Sama
kompanija se nalazi delom u Francuskoj, a delom u USA. Sam
proces instalacije je kompletno u grafikom okruenju,
lokalizovan na mnoge jezike - izmeu ostalog i srpski. Cela
distribucija je prevashodno okrenuta korienju GNU/Linux-a
na radnoj stanici (a na serveru). Radi se o stabilnoj i zreloj
distribuciji, prilagoenoj poetnicima.
Postoji jo jedan (svakako nezanemarljiv) razlog: meni se
svia.

Predrag Raki

Osnove administracije GNU/Linux sistema

O grafikom okruenju
Cilj:

Razumevanje: X server,
display manager,
window manager, KDE.
Prvi kontakt sa KDE
okruenjem.

X
X server (Xfree86) je grafiki server inicijalno razvijen za unixolike operativne sisteme na Intel x86 platformama. Sada se
izvrava na velikom broju razliitih hardverskih i softverskih
platformi. Postao je stabilan i pouzdan i zato sve vie prisutan
softverski proizvod.
Uloga X servera je da prikazuje izlaze iz aplikacija i prikuplja
dogaaje - pritiske tastature, pomeranja i klikove mia (i
eventualno nekih drugih ureaja: olovka, dojstik,...) i da ih
prosleuje aplikacijama kojima su namenjeni.
Ako postoji server, postoje i klijenti. Ko je ko? Server je onaj ko
prua uslugu, a klijent onaj ko uslugu trai. Korisnik inicira
pokretanje programa kroz X. Tada, praktino, X server trai od
korisnikog programa da ga uslui - da obavi neki posao za
njega. Znai X je klijent, a korisniki program je server. E, nije.
Program koji eli da neto prikae na ekranu trai uslugu od X
servera, a ovaj je prua. Korisniki program jeste startovan kroz
X, ali ga nije startovao X. Startovao ga je neki drugi program
koji najee koristi X za interakciju sa okolnim svetom (mada
je mogue da taj program uopte nema veze sa X serverom
koji e aplikacija koristiti). Po startovanju, X aplikacija trai
server koji e je usluiti. Server deo koji 'crta' po ekranu. Klijenti
su razni programi u ije ime se vri iscrtavanje.

Upravlja prikaza (Display Manager - DM)


Njegova uloga je da utvrdi identitet (authenticate) korisnika
(unoenjem korisnikog imena i lozinke) i da pokrene sesiju.
Sesiju ine svi programi koji se izvre od kad se korisnik prijavi
sistemu (login) pa dok se ne odjavi (logout). Sesija se moe
sastojati od samo jedne aplikacije ili od sloenog okruenje.
Npr. bankarskom slubeniku na alteru, u zavisnosti od
korisnikog imena (poloaja), startuje se samo aplikacija za to
radno mesto. Kad se izae iz aplikacije zavrena je i sesija.
Na kunom raunaru poeljno je imati na raspolaganju
okruenje koje e korisniku omoguiti korienje raunara u
razliite svrhe pokretanje i zaustavljanje programa za
sluanje i obradu zvuka, slike, pristup Internetu, obradu

Predrag Raki

Osnove administracije GNU/Linux sistema

teksta,... Zbog toga se u kunim uslovima obino koristi neko


sloeno grafiko okruenje (npr. KDE ili GNOME).
Kada se sesija zavri DM resetuje X server i oekuje
prijavljivanje sledeeg korisnika.
Ovde e biti korien KDM, DM koji je deo KDE grafikog
okruenja.

KDE
Jedno od dva najee koriena grafika okruenja (window
manager). Drugo, o kojem ovde nee biti rei, je GNOME. To
to e KDE biti obraen a GNOME nee ne znai da je KDE
bolji, ve da za oba nema vremena (jer u principu oba pruaju
iste mogunosti). Izbor jednog od ova dva je stvar linog ukusa
(i jo vie, onog na ta je neko navikao ili s kojim se prvo sreo).
Takoe, postoji jo veliki broj grafikih okruenja od kojih svako
ima svoje prednosti, ali nisu 'udobna' novom korisniku.

Radna povrina (desktop)


Korisnici Windows-a su navikli da imaju jednu radnu povrinu.
Ovde je mogue imati ih vie, inicijalno 4. Poetnik obino ne
zna ta e s njima, ali se brzo navikne i pone da ih efikasno
koristi.
Radne povrine se menjaju Ctrl+Tab ili Ctrl+F1 do Ctrl+F4. Ili
klikom na povrinu pejdera.
Na radnoj povrini se nalaze ikone i panel. Ikone slue za brzo
pokretanje esto korienih program. Panel se (inicijalno)
nalazi na dnu ekrana. Sadri dugmad, pejder, paletu poslova
(task bar), sistemski deo (system tray), dugmad za odjavljivanje
(dugme sa nacrtanom '0' i '1') i zakljuavanje konzole (dugme
sa nacrtanim lokotom) i sat.
Klikom na prvo dugme na panelu, sa stilizovanim slovom 'K',
dobija se poetni meni. Ostala dugmad slue za pokretanje
aplikacija.
Pejder slui za grub prikaz sadraja radnih povrina. Aktivna
radna povrina se moe menjati klikom na odgovarajui deo
pejdera.
Na paleti poslova se nalaze ikone aktivnih programa. Mogu se
nalaziti ikone svih aktivnih poslova ili samo onih koji pripadaju
tekuoj radnoj povrini. Ako su prikazani svi programi, oni mogu

Predrag Raki

Osnove administracije GNU/Linux sistema

biti sloeni hronoloki ili po radnim povrinama kojim pripadaju.


Sva ova podeavanja se vre u KDE kontrolnom centru.
U sistemskom delu panela se nalaze programi startovani kao
sistemski servisi npr program za kontrolu tampaa (ikona
tampaa se pojavljuje samo dok je tampa u toku), program
za izmenu rasporeda tastature,...
Sesija se zavrava korisnik se odjavljuje tako to u poetnom
meniju klikne na poslednju stavku 'Odjava (Logout)' ili na
dugme 'Odjava' na panelu.

Podeavanje radne povrine


KDE Kontrolni centar (u daljem tekstu samo kontrolni centar)
se koristi kao alat za podeavanje celog KDE okruenja (ne
Mandrak kontrolni centar to su razliite stvari). Podeavanje
radne povrine se vri u delu 'Izgled i postavke'. Tu je mogue
postaviti zatitu ekrana (screensaver), broj radnih povrina,
ponaanje panela, ponaanje prozora,...
Mogue je odabrati vie rasporeda tastature. To se radi iz dela
'Pristupanost->Raspored tastature'. Obelei se 'Ukljui
rasporede tastature (Enable keyboard layouts)' i zatim odabere
primarni raspored onaj koji e biti aktivan kad se raunar
ukljui i dodatni rasporedi. Kad se klikne 'Primeni (apply)' u
sistemskom delu panela e se pojaviti oznaka rasporeda
tastature koji se trenutno koristi. Raspored se moe menjati
klikom na oznaku rasporeda. Ima i drugih naina, ali o tome
kasnije.

Poetni meni
Zabava (amusement)
U podmeniju poetnog menija 'zabava' se mogu nai igre koje
dolaze u distribuciji, rasporeene po kategorijama
U podmeniju 'Multimedija' se nalaze tri kategorije: Grafika,
Video i Zvuk. Za prikazivanje slika poznavaocima Windows-a bi
se mogao dopasti 'gqview' donekle lii na ACDSee. Za
elementarnu obradu i organizovanje fotografija moe se koristiti
'flphoto', a za ozbiljniju obradu bit-mapiranih slika se koristi
'gimp'. Gimp je (prilino) mlai brat Adobe Photoshop-a.
Za putanje muzike moe se koristit 'xmms' oigledni klon
Winamp-a. Kad smo kod muzike treba spomenuti 'aumix'

Predrag Raki

Osnove administracije GNU/Linux sistema

audio mikser i 'grip' alat za ''ripovanje'' pretvaranje audio cd-a


u wav ili neki kompresovani format muzike datoteke.
NAPOMENA:

Zbog problema oko autorskih prava uz GPL distribucije ne


dolazi mp3 koder (ali se moe nai na Internetu). Dolazi ogg
koder. Isto to, samo malo bolje - GPL licenca, vei stepen
kompresije.
Za putanje filmova koristi se 'mplayer' ili 'gmplayer' za grafiki
korisniki interfejs.

Kancelarijski alati (Office)


Daleko najznaajni paket kancelarijskih alata je 'Open Office'.
On se sastoji od programa za:
obradu teksta (writer)
tabelarna izraunavanja (calc)
obradu i prikaz prezentacija (present)
vektorsku grafiku (draw)

i nekih dodatnih alata: program za obradu matematikih


formula, deo za pristupanje bazama podataka,
Tu su jo neki korisni alati:
digitroni (xcalc i kcalc)
alat za upravljanje projektima
adresari
organizatori

Mree (Networking)
Pod ovom opcijom postoji vie kategorija:
internet
kmail
konqueror
izvui preicu iz menija na radnu povrinu
buttons (home, ...)

Upravljanje datotekama
Za upravljanje datotekama takoe je mogue koristiti
konqueror - lii na Windows explorer. Za ljubitelje tastature tu je

Predrag Raki

Osnove administracije GNU/Linux sistema

klon Norton Comander-a pod imenom 'mc' (Midnight


Commander).

Organizator (korganizer)
Startuje se klikom na ikonu u sistemskom prostoru. Ovo je
prilino moan, a istovremeno dovoljno jednostavan program.
Ako elite da on sauva raspored vaih obaveza, morate mu
rei u kojoj datoteci da ih sauva (to je logino). Ako elite i da
vas obavesti kad je vreme za neki dogaaj, morate tu datoteku
uiniti aktivnom (to je takoe logino , ako znate kako
'korganizer' radi). Datoteka se aktivira sa 'File->Make Active'.
Datoteku je potrebno aktivirati samo jednom.
Promena grafikog okruenja se lako izvodi. Odjavite se. Zatim
se DM-u u polju 'Session type' navede grafiko okruenje u
kojem elite da radite.

Predrag Raki

Osnove administracije GNU/Linux sistema

Struktura direktorijuma i take montiranja (mount


points)

Windows sistem za rukovanje datotekama, koji je svoju


Sticanje osnovnih znanja nesrenu organizaciju datotekog sistema nasledio od DOS-a,
podrazumeva da svaki ureaj (drive) fiziki (disketa) ili virtuelni
o sistemu datoteka pod
Unix-olikim sistemima. (particija na disku) ima pridrueno mu slovo engleske abecede.
Znai oznaka ureaja je latinino slovo i dvotaka (a: ili c:).
Razlike organizacije
Prva dva slova A i B su rezervisani za dva disketna ureaja, a
Win/dos i unix FS.
ostali se dodeljuju lokalnim diskovima, cd ureajima, kroz
mreu deljenim diskovima,... Promenjljivi medijum (disketa ili
Naredbe:
cd) moe u bilo kom trenutku biti uklonjen iz sistema datoteka
mount i umount.
bez prethodne najave sistemu i bez obzira da li i ta sistem sa
njima trenutno radi.
Cilj:

GNU/Linux sistem za upravljanje datotekama (file system) je


organizovan na potpuno drugi nain. GNU/Linux ima jedinstven
sistem datoteka (stablo direktorijuma) koji poinje korenim
direktorijumom (root directory). Oznaava se kosom crtom '/'
(ne obrnutom kosom crtom kao kod DOS/Win sistema).
Takoe, kosa crta je separator u putanji direktorijuma.

Slika: Struktura direktorijuma GNU/Linux sistema


Jedan ureaj (obino jedna particija diska) se postavi za koreni
sistem datoteka (root file system). Njegov sadraj se nalazi u '/'
(korenom - root) direktorijumu. Ostali ureaji se montiraju na
postojee direktorijume.
Na bilo koji postojei direktorijum se moe dodati novi FS
(mount). Taj direktorijum se zove taka montiranja (mount
point) za novi FS. Struktura direktorijuma novog FS e se
pojaviti ispod tog direktorijuma. Sadraj koji je prethodno

Predrag Raki

Osnove administracije GNU/Linux sistema

eventualno postojao ispod tog direktorijuma je skriven dok se


novi FS ne ukloni (umount).
Sa slike se vidi da su ureaji disketna jedinica, particije hard
diskova i cd/dvd kojima je pod Win dodeljena posebna slova, u
GNU/Linux sistemu integrisani u jedinstveno stablo
direktorijuma.

mount i umount
Za montiranje ureaja se koristi naredba mount. Npr:
# mount -t iso9660 /dev/cdrom /mnt/cdrom

Argumenti su joj (minimalno) ureaj koji treba montirati ili


direktorijum u koji dati ureaj treba montirati. Npr:
# mount /mnt/cdrom

Da bi mount mogao da radi ovako, potrebno je da odnekle


uzme ostale parametre. To odnekle je konfiguraciona
datoteka /etc/fstab.
U toj datoteci svaka linija opisuje jedan FS. Prazne linije i linije
koje poinju znakom # se zanemaruju. Polja su razdvojena
belinama i ima ih est:
1. blok ureaj (block device) - specijalni fajl iz /dev/
direktorijuma
2. taka montiranja (mount point) - apsolutna putanja do
direktorijuma u koji treba montirati fs
3. tip FS - ext2, vfat, iso9660, auto
4. opcije koje se prenose naredbi mount u trenutku
izvravanja. To je zarezima razdvojena lista opcija (bez
praznih mesta). Npr: user
5. 0 ili 1. Ako je nula nee biti dampovan - ako je 1 hoe.
Vidi: dump(8). Jedan od naina pravljenja rezervne kopije
(backup)
6. 0,1 ili vei broj. Koristi fsck da odredi u kom redosledu e
biti proveravani FS. Ako je 0 nee biti proveravan. Koreni
(root) FS treba da ima 1. Ostali FS treba da imaju 2.
Demontiranje se vri naredbom umount:
# umount /mnt/cdrom

Za montiranje i demontiranje ureaja su potrebna


administratorska prava, sem ako je fstab datoteci dati FS
opisan sa opcijom user. Tada svaki korisnik moe da montira
ovaj FS. esto se koristi za cd i floppy.

Predrag Raki

Osnove administracije GNU/Linux sistema

Montiranje i demontiranje se mogu obaviti iz KDE-a. Desnim


klikom na radnu povrinu-> Create New ... mogue je napraviti
preice za ureaje (cd, floppy)
Dvoklik na ikonu CD/DVD device (ili floppy ili harddisk) montira
FS i otvara konqueror u odgovarajuem direktorijumu.
Desnim klikom na ikonu-> Unmount, vri demontiranje FS.
Vidi: mount(8), fstab(5)

supermount
Program zamiljen kao pomo Win korisnicima naviknutim na
slobodno menjanje disketa i cd diskova, bez prethodnog
prijavljivanja i odjavljivanja fajl sistemu.
Ideja odlina, realizacija ne tako sjajna. Ume da pravi
probleme: da ne proita sadraj medijuma korektno svaki put
(samo po nekad), da nee da pusti cd i sl. Iskljuuje se
kucanjem (kao root):
# supermount -i disable

I zatim demontiranjem (umount) svih ureaja na kojima je


supermount montiran. Koji su to ureaji vidi se u /etc/mtab ili
kucanjem
# mount

Rezultat bude ovako neto:


/dev/hda1 on /mnt/windows type ntfs (ro,iocharset=utf8,umask=0)
none on /mnt/cdrom type supermount (ro,nosuid,nodev,fs=iso9660,dev=/dev/scd0,--,
iocharset=utf8,umask=0)
none on /mnt/floppy type supermount (rw,nosuid,nodev,fs=vfat,dev=/dev/fd0,--,
iocharset=utf8,umask=0,unhide)

Pa za svaki ureaj na koji je montiran tip (type) supermount


treba otkucati naredbu oblika: umount xxxx, ovde:
# umount /mnt/cdrom
# umount /mnt/floppy

Predrag Raki

Osnove administracije GNU/Linux sistema

Konzola - Shell (omota) - tekstualno okruenje


U raunarstvu generalno, poeljno je razdvojiti politiku i mehanizme.
Mehanizmi su resursi koji omoguavaju da se neto uradi. Politika
Upoznavanje sa
odreuje nain i svrhu u koju e mehanizmi biti upotrebljeni. U tekstu
komandnom linijom. (B)
su navedeni mehanizmi, a politika Unix like sistema e biti predoena
ourne (A)gain
kroz komentare i primere.
(SH)ell.
Shell (koljka ili omota) obuhvata (obavija) neto. To neto je
Osnovne naredbe.
jezgro operativnog sistema (kernel core) zadueno za
Globbing.
upravljanje harware-skim i software-skim resursima. Shell je
Pretraivanje FS.
zaduen za interakciju sa korisnikom.
Cilj:

Naredbe:

ls, cd, rm, cat, less, find,


kfind

Najee korieni shell na GNU/Linux-u je bash - GNU (B)


ourne (A)gain (SH)ell. Bash je interpreter komandnog jezika
(command language interpreter). Moe biti interaktivan i
neinteraktivan (batch).
Ako je startovan kao interaktivni login shell (prvi shell posle
identifikacije) prvo izvrava /etc/profile, ako postoji, a zatim
~/.bash_profile, ako postoji i tek zatim daje prompt. Ove dve
datoteke daju mogunost globalnog (za sve korisnike) i
pojedinanog (za svakog korisnika posebno) podeavanja.
Kada se izae iz interaktivnog login shell-a (logout, exit, ^d)
izvrava se ~/.bash_logout, ako postoji - akcije koje treba
obaviti po zavretku sesije.
Ako je startovan interaktivni shell koji nije login shell, izvrava
se ~/.bashrc, pa se tek zatim pojavljuje prompt.
Vidi: bash(1) INVOCATION

Osnovne naredbe:
ls

- prikazivanje sadraj direktorijuma (DOS dir)

cat

- prikazivanje sadraja datoteke (DOS type)

alias

- alternativno ime

mkdir

- napravi direktorijum (DOS md, mkdir)

less

- prikazivanje sadraja datoteke (stranienje,


pretraivanje)

pwd
cd
touch

- aktivni direktorijum
- promeni aktivni direktorijum (DOS cd)

- modifikuj mtime i atime datoteke (ako ne


postoji, napravi praznu datoteku)

rm
rmdir

- obrii datoteku (DOS del)


- obrii direktorijum (DOS rmdir)

10

Predrag Raki

$ ls
$ ls -1
$ ls -l

Osnove administracije GNU/Linux sistema

# u jednom redu
# long

objasni svih 9

Kada se ls pozove sa opcijom -l (long listing format) za svaku


datoteku se dobija 9 polja: permisions, linkcount, user, group,
size, month, day, time/year, file name.
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$

ll
# otkud ovde
alias
# bash builtin
less /etc/profile /etc/profile.d/alias.sh
# pager - suprotno od more
pwd
# aktivni direktorijum
mkdir probni
ll
cd probni
mkdir pera mika zika
# moe vie argumenata
ll
mkdir prvi/drugi/treci
mkdir -p prvi/drugi/treci
ls -R
touch prvi/1 2 3
# Osiguraj postojanje datoteka
ls -R
touch f1 f2 f3 f4 f5 f6 f7 f8 f11 f12
ls

Vidi: ls(1), bash(1) SHELL BUILTIN COMMANDS

Globbing
Da bi primeri radili: touch f1 f2 f3 f4 f5 f6 f7 f8 f11 f12
Wildcard patterns (globbing) slue za referenciranje datoteka
sa slinim imenima. Ova funkcionalnost je ugraena u shell
(shell built-in).
Vrlo slino DOS-u. Specijalni znaci (znaci sa posebnim
znaenjem) su:
'*', '?', '[', ']',

'!' i '-' (ako se nalazi u uglastim zagradama)

- * predstavlja bilo koji niz karaktera (ukljuuju i prazan niz)


$ ls *
$ ls *1

- ? predstavlja bilo koji pojedinani karakter


$ ls f?
$ ls f??

Bilo koji pojedinani karakter - ne i nijedan karakter!


- izraz [...] predstavlja jedan karakter. Ako ne poinje znakom
'!', to moe biti jedan od karaktera nabrojanih u uglastim

11

Predrag Raki

Osnove administracije GNU/Linux sistema

zagradama. Ako poinje sa '!' bilo koji znak koji nije naveden u
uglastim zagradama iza znaka '!'.
Znak '-' kada se nalazi u uglastim zagradama predstavlja opseg
(npr: [A-E] je isto to i [ABCDE]).
$
$
$
$
$
$
$
$
$

ls
ls
ls
ls
ls
ls
ls
ls
ls

f[123]
f[1-3]
f[1-37]
f[1-370]
f[1-3]*
f[1-3]?
f[!1-3]
f[!1-3]*
f[!1-3]?

Ako ne nae ni jedno ime datoteke koje odgovara izrazu, shell


izraz prosleuje naredbi onako kako je otkucan.
$
$
$
$
$
$
$
$
$
$

ll
touch f[1-9]
ll
rm *
alias
unalias rm
touch f[1-9]
ll
touch f*
ll

# Obrisi sve

U shell-u postoji escape character '\'. Kada se on nae pre bilo


kog specijalnog znaka, znak gubi svoje specijalno znaenje i
biva tumaen kao obian karakter.
$
$
$
$
$
$

touch f\*
ll
touch jedna datoteka
ll
touch jedna\ datoteka
ll

Vidi: glob(7)

Preusmeravanje (redirection) i nadovezivanje


(pipelines)
Za svaku konzolnu aplikaciju automatski se otvaraju tri
datoteke:

$ ls > p
$ cat p
$ ls -l > p

standardni ulaz (0)

- tastatura

standardni izlaz (1)

- monitor

standardni izlaz za greke(2)

- monitor

12

Predrag Raki

Osnove administracije GNU/Linux sistema

$ cat p
$ ls >> p
$ cat p

Standardni izlaz jednog programa moe da se preusmeri u


standardni ulaz drugog, standardni izlaz drugog u standardni
ulaz treeg i tako proizvoljan broj programa.
$ ls -1 | sort | less

find
Zadatak:
Nai sve u /etc to poinje se 'rc'.
Nai sve regularne datoteke u /etc koje poinju se 'rc'.
Nai sve direktorijume u /etc koje poinju se 'rc'.

find /etc -name 'rc*'


find /etc -name 'rc*' -type f
find /etc -name 'rc*' -type d

Da prikaz ne bi bio optereen porukama o grekama:


find /etc -name 'rc*' -type d

2>>/dev/null

Postoji i grafiki interfejs za ovaj program 'kfind'

Atributi datoteke, vrste i meke veze


U Unix-olikim FS sadraj datoteke je odvojen od njenog
deskriptora. Deskriptor ima mesto u strukturi direktorijuma i
sadri ime deskriptora (korisnici ga doivljavaju kao ime
sadraja). Sadraj je jedinstveno odreen brojem koji se zove
inode (index node). Deskriptor se nalazi potpuno nezavisno od
sadraja. Zbog toga je mogue da vie deskriptora istovremeno
pokazuje na isti sadraj. To znai da ista datoteka (isti sadraj)
moe da se pojavi na vie mesta u strukturi direktorijuma (u
razliitim direktorijumima pod razliitim imenima).
Za svaki sadraj je vezan ukupan broj deskriptora (link count)
koji trenutno na njega pokazuju. Kada se brie datoteka, brie
se samo deskriptor a broj deskriptora koji na sadraj pokazuju
se smanji za jedan. Kada broj deskriptora padne na nulu, brie
se i sadraj.
Veza izmeu deskriptora i sadraja se zove vrsta veza (hard
link). Ni za jednu vrstu vezu se ne moe rei da je primarna
(da je bitnija od drugih) jer su sve one potpuno ravnopravne,
bez obzira na hronologiju pojavljivanja.

13

Predrag Raki

Osnove administracije GNU/Linux sistema

Postoje i meke veze. To je posebno oznaena tekstualna


datoteka koja u svom sadraju ima putanju do datoteke na koju
pokazuje. Ako iz stabla direktorijuma nestane datoteka (tj.
deskriptor) na koju meka veza pokazuje, meka veza postaje
neispravna (pokazuje na nepostojei deskriptor).
vrste veze je mogue praviti samo u okviru jednog FS. Meke
veze mogu da se prostiru preko granica FS.
Atribute datoteke zajedno ine atributi deskriptora i atributi
sadraja. Atributi datoteke (bez obzira kakva ona bila regularna, direktorijum, neto tree) mogu se videti naredbom
'stat'.
$ touch aaa
$ stat aaa
File: `aaa'
Size: 0
Blocks: 0
IO Block: 4096
Regular File
Device: 305h/773d
Inode: 294201
Links: 1
Access: (0644/-rw-r--r--) Uid: ( 501/
pec)
Gid: ( 501/
pec)
Access: 2003-10-15 00:28:48.000000000 +0200
Modify: 2003-10-15 00:28:48.000000000 +0200
Change: 2003-10-15 00:28:48.000000000 +0200

File: aaa

- Ime datoteke

Blocks: 0

- Koliko je blokova zauzeto. Zauzimanje prostora FS se vri u


koracima od po n blokova. Veliina bloka i korak
zauzimanja zavise od FS. (hd: blok 1K, korak 8 blokova;
floppy: blok 512b, korak 1 blok)

Size: 0

- Veliina u bajtima

IO Block: 4096

Regular File
Device: 305h/773d
Inode: 294201
Links: 1

- Pri prenosu podataka izmeu primarne i sekundarne


memorije (na disk i sa diska) podaci se prenose u grupama
od po n bajta (ovde 4K)
- Tip datoteke: obina. (A moe biti direktorijum, blok ureaj,
karakter ureaj, ...)
- Heksdecimalna i decimalna oznaka ureaja na kojem se
datoteka nalazi (major/minor number)
- Jedinstveni identifikator datoteke u okviru FS (index node)
- Broj deskriptora vezanih za ovu datoteku.

Access: (0644/-rw-r--r--) - Prava - numeriki i tekstualno


Uid: ( 501/

pec)

Gid: ( 501/

pec)

Access:
Modify:
Change:

- Vlasnik datoteke (UID - User IDentification)


numeriki/znakovno
- Grupa kojoj datoteke pripada (GID - Group IDentification)
- Vreme poslednjeg itanja sadraja datoteke npr. cat
- Vreme poslednje promene sadraja datoteke npr. vi
- Vreme poslednje promene deskriptora datoteke npr. mv

14

Predrag Raki

$
$
$
$
$
$

Osnove administracije GNU/Linux sistema

mv aaa bbb
stat bbb
cat bbb
stat bbb
vi bbb
stat bbb

# Promenjen samo Change


# Promenjen samo Access
# Snim izmene
# Promenjeni Access, Modify i Change

Veze se prave naredbom ln. Novi deskriptor ccc koji pokazuje


na isti sadraj kao i deskriptor bbb (vrsta veza) se pravi:
$ ln bbb ccc
$ stat bbb ccc

# Oba deskriptora pokazuju na isti inode!!!

Meka veza se pravi:


$ ln -s bbb ddd
$ ls -l ddd
$ stat bbb ddd

ili

$ ln -s ccc ddd

#daje isti rezultat

Veliina datoteke je 3 bajta jer je tolika duina imena


deskriptora na koji meka veza pokazuje!!
$ rm bbb
$ ls -l ddd

ili

$ rm ccc

Meka veza je neispravna!


Vidi: stat(1), ln(1)

15

Predrag Raki

Osnove administracije GNU/Linux sistema

vim - Vi IMproved
Cilj:

Upoznavanje sa tekst
editorom namenjenim
obradi konfiguracionih
datoteka.
Naredbe:

vi, vim, gvim

Tekst editor. Prilino neobian, ali obavezno prisutan na


bukvalno svim Unix-olikim platformama i ne samo Unix-olikim.
Ovo mu je najvea (zlobnici bi rekli i jedina) prednost. alu na
stranu, specifian ali izuzetno moan alat.
Za razliku od editora na koje je prosean Win korisnik navikao
u kojem postoji samo jedan reim, vim razlikuje dva osnovna
reima: komandni i reim za unoenje teksta.
Editor se po startovanju nalazi u komandnom reimu raspoznaje se po tome to u statusnoj liniji (poslednja linija
ekrana) ne pie nita. U ovom reimu je mogue kretanje kroz
tekst, obeleavanje, kopiranje i brisanje, ali nije mogue
unoenje teksta.
Kretanje kroz tekst se vri strelicama i tasterima Home, End,
PgUp,... ako je terminal emulator takav da prepoznaje te
nealfanumerike tastere. Ali ako nije:
h - karakter u levo
j - red dole
k - red gore
l - karakter u desno

w - prvo slovo sledee rei


b - prvo slovo prethodne rei

U insert mod (u statusnoj liniji pie INSERT) se prelazi iz


komandnog pritiskom na jedan od tastera:
i - nov tekst se unosi pre kursora
a - nov tekst se unosi posle kursora
o - napravi nov prazan red ispod reda u kojem je kursor i

poni unoenje u njemu

O - napravi nov prazan red iznad reda u kojem je kursor i

poni unoenje u njemu

Vraanje u komandi reim se vri pritiskom na taster Esc. Za


izlaz iz nekih reima je potrebno dva puta pritisnuti Esc.
:w - snimi datoteku pod njenim sadanjim imenom (File ->

Save)

ZZ - snimi datoteku pod njenim sadanjim imenom (File ->

Save) i izai iz programa

:w novo_ime - snimi datoteku pod novim imenom (File ->

Save As)

16

Predrag Raki

Osnove administracije GNU/Linux sistema


:q - napusti editor

:q! - ako su napravljene izmene u datoteci izai iz

programa bez snimanja izmena (abandon editing)

:r ime_datoteke - uitaj sadraj datoteke ime_datoteke


yy - obelei liniju - prebaci sadraj linije u bafer za

kopiranje (copy)

p - kopiraj obeleeno - sadraj bafera za kopiranje kopiraj u

tekst (paste)

dd - obrii liniju i njen sadraj prebaci u bafer za kopiranje

(cut)

J - sastavi tekuu liniju sa sledeom linijom.

Modifikacija komandnog reima je vizuelni (VISUAL) reim:


v - VISUAL
V - VISUAL LINE
CTRL-v - VISUAL BLOCK

U ovim reimima je mogue jednostavno obeleavanje delova


teksta pomeranjem kursora. Kada se obelei eljeni deo on se:
y - prebacuje u bafer za kopiranje

d - brie iz teksta i prebacuje u bafer za kopiranje

Postoji i GUI verzija ovog editora. Zove se 'gvim'.

17

Predrag Raki

Osnove administracije GNU/Linux sistema

Administracija korisnika i grupa


Cilj:

Identitet i promena
identiteta. Upoznavanje
sa pojmom korisnika i
korisnike grupe.
Naredbe:

id, su, useradd, userdel,


vipw, groupadd,
groupdel, vigr, gpasswd

Identitet
Kada eli da pone da radi na sistemu, korisnik mora da se
predstavi identifikuje (npr korisniko ime) i da dokae svoj
identitet - da je on ba taj korisnik koji tvrdi da jeste (npr.
lozinka), da bi mu sistem dozvolio pristup. Ovo je neophodno
da bi sistem mogao da vodi evidenciju o tome ko se kada
prijavio i ta je radio tj. kad korisnik zatrai neki resurs od
sistema, da sistem na osnovu identiteta korisnika zna da li je
taj resurs dostupan tom korisniku i ako jeste da mu korienje
tog resursa adekvatno naplati.
Svoj trenutni identit korisnik moe proveriti naredbom 'id':

[pec@localhost pec]$ id
uid=501(pec) gid=501(pec) groups=501(pec),80(cdwriter)

Identitet se moe menjati naredbom 'su'. Ako se pozove bez


parametara menja identitet u korisnika root.
[pec@localhost pec]$ su
Password: ****
[root@localhost pec]#

Ako elite da promenite identitet u nekog drugog korisnika npr.


pera:
[pec@localhost pec]$ su pera
Password: ****
[pera@localhost pec]#

Administraciju korisnika moe da vri samo administrator


sistema tj korisnik root. root je povlaeni korisnik i na njega se
ogranienja (sem fizikih) ne odnose, njemu je uvek, sve
dozvoljeno.
Podaci o korisnicima i grupama korisnika sistema (kada se
nalaze lokalno) se nalaze u 4 datoteke u /etc/ direktorijumu.
Podaci o korisnicima se nalaze u /etc/passwd (podaci o
nalozima - korisnika imena, lini direktorijum,...) i /etc/shadow
(kriptovane lozinke korisnika), a o grupama u /etc/group (podaci
o grupama) i /etc/gshadow (kriptovane lozinke grupa).

Korisniki nalog
Datoteka /etc/passwd:
.....................
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/bin/sh
daemon:x:2:2:daemon:/sbin:/bin/sh

18

Predrag Raki

Osnove administracije GNU/Linux sistema

pec:x:501:501:Predrag Rakic:/home/pec:/bin/bash
inst:x:503:503::/home/inst:/bin/bash
bojan:x:511:511::/home/bojan:/bin/bash
.......................

U svakom redu su podaci o jednom korisniku. Svaki red se


sastoji od 7 polja, meusobno rastavljenih dvotakama (bez
belina), npr. prvi red:
root - korisniko ime

x - lozinka, x ili *. Lozinke se vie na stavljaju ovde

(istorija). Ako se nalazi x - idi u datoteku /etc/shadow i


tamo pronai lozinku. Ako se nalazi * - prijavljivanje ovog
korisnika nije dozvoljeno (ali je dozvoljeno izvravanje
procesa u njegovo ime!!!).

0 - numeriki identifikator korisnika (jedinstven u okviru

sistema). Nula je povlaeni korisnik - root.

0 - numeriki identifikator primarne grupe (jedinstven u

okviru sistema). Nula je povlaena grupa - root.

root - podaci o korisniku (ime, prezime,...)


/root - korisniki direktorijum

/bin/bash - program koji e biti startovan po prijavljivanju

korisnika (obino bash).

Datoteka /etc/shadow:
.....................
root:$1$b87IJ0FI$MmcC89.FJK5/erXZQiUtU1:12340:0:99999:7:::
bin:*:11996:0:99999:7:::
daemon:*:11996:0:99999:7:::
pec:$1$nHbtXDbU$R/G6COdRG6YO2ldbDNps..:12340:0:99999:7:::
inst:$1$HXOKkB5T$t.2ZF5Z.ymF2ScKhIswHU.:12340:0:99999:7:::
bojan::12340:0:99999:7:::
.....................

Za svakog korisnika definisanog u /etc/passwd treba da postoji


red u ovoj datoteci. Svaki red se sastoji od 9 polja, meusobno
rastavljenih dvotakama (bez belina), npr. prvi red:
root - korisniko ime, veza izmeu shadov i passwd

datoteke.

$1$b8.... - kriptovana lozinka. Ako je polje prazno (nema

nita - ni praznog mesta), korisnik se prijavljuje bez lozinke


- ne preporuuje se ak ni u kunim uslovima, ako izlazite
na Internet!!!

12340 - datum poslednje izmene lozinke, od 1.1.1970. u

danima (ne pitajte zato)

19

Predrag Raki

Osnove administracije GNU/Linux sistema


0 - koliko dana mora da proe od izmene lozinke, dok

korisniku ne bude opet dozvoljeno da je promeni.

99999 - posle koliko dana lozinka mora biti promenjena


7 - korisnik e biti upozoren n (ovde 7) dana pre isteka

lozinke

Za editovanje ove dve datoteke postoji naredba 'vipw' (vi


password). Ona startuje vi editor i otvara redom /etc/passwd pa
ako je bilo izmena u njemu i /etc/shadow.

Dodavanje korisnikog naloga (user account)


Da bi korisnik mogao da koristi sistem neophodno je napraviti
mu korisniki nalog. (Ovde se pod korisnikom podrazumeva
pojedinac - korisnik sistema. Kasnije se pod korisnikom
podrazumeva korisnik prijavljen pod odreenim korisnikim
nalogom.)
$
#
#
$

su
useradd korisniccko_ime
passwd korisniccko_ime
exit

# postavljanje lozinke

Poeljno je da lozinka bude bar 6 karaktera dugaka!


Naredba 'useradd' pored kreiranja korisnika kreira i home
direktorijum za korisnika u: /home/korisniccko_ime/ i u njega
smeta osnovne konfiguracione datoteke. U stvari, kopira
sadraj direktorijuma /etc/skel/. Automatska podeavanja novih
korisnika se vre dodavanjem ili izmenom sadraja /etc/skel/.
Napravite korisnika pera sa lozinkom 'arep':
$ su
# useradd pera
# passwd pera
New UNIX password:
BAD PASSWORD: it is too short
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
# exit
$

Prijavite se kao pera, CTRL+ALT+F1 da doete do prve


virtuelne konzole.
$ pwd

Napravite korisnika mika koristei vipw.


Prijavite se kao mika. mika nema poetni direktorijum.
Napravite ga.
#

mkdir /home/mika

20

Predrag Raki

Osnove administracije GNU/Linux sistema

Kopirajte /etc/skel/ u /home /mika/.


# cp /etc/skel/.* /home/mika/

Odjavite se pa se prijavi ponovo kao mika. Nema grupe mika.


NAPOMENA:

KDE konstatuje izmene u konfiguraciji korisnika i grupa tek


posle zapoinjanja nove sesije. Primer: dodajte trenutno
prijavljenog korisnika u novu grupu i kucajte 'id'.

Grupe korisnika
Datoteka /etc/group:
.....................
root:x:0:
bin:x:1:
cdwriter:x:80:gordana,pec,bojan
users:x:100:
pec:x:501:
inst:x:503:
bojan:x:511:
.....................

U svakom redu su podaci o jednom korisniku. Svaki red se


sastoji od 4 polja, meusobno rastavljenih dvotakama (bez
belina), npr. grupa cdwriter:
cdwriter - Ime grupe
x - nekad bila lozinka grupe, sad se ne koristi. Lozinka je

u /etc/gshadow.

80 - Numeriki identifikator grupe


gordana,pec,inst,bojan - Lista korisnika, razdvojenih

zarezima. Spisak korisnika koji su lanovi grupe (ovde


cdwriter). Ovde nabrojanim lanovima je ovo sekundarna
grupa (oni ne mogu da koriste 'newgrp' naredbu).

Datoteka /etc/gshadow:
.....................
root:::
bin:::
cdwriter:::
users:::
pec:x::
inst::pec:pec
bojan:!::
.....................

Za svakog korisnika definisanog u /etc/group treba da postoji


red u ovoj datoteci. Svaki red se sastoji od 4 polja, meusobno
rastavljenih dvotakama (bez belina), npr. grupa inst:
inst - Naziv grupe. Veza izmeu gshadov i group datoteke.

21

Predrag Raki

Osnove administracije GNU/Linux sistema


Lozinka. Ako nema nita, nema lozinke ali onda samo

lanovi grupe mogu da promene primarnu grupu koristei


naredbu 'newgrp'.

pec - Administratori grupe (razdvojeni zarezima). Moe da

dodaje i uklanja lanove.

pec - lanovi (razdvojeni zarezima). Samo lanovi ovde

nabrojani mogu da koriste 'newgrp' naredbu.

Za administraciju grupa moe se koristiti i naredba 'vigr' (vi


groups). Ona startuje vi editor i otvara redom /etc/groups pa
ako je bilo izmena u njemu i /etc/gshadow.

Dodavanje grupe
Dodajte grupu mika. Neka gid bude jednak uid. Tako e grupa
mika postati primarna grupa korisnika mika.
# vigr

Prijavi se kao mika. Sad je ok samo jo da mika moe da pie u


svom poetnom direktorijumu. Promenite vlasnika direktorijuma
/home/mika/.
# cd /home
# chown -R mika.mika mika

Sada direktorijum mika (i sve u njemu) pripada korisniku mika i


grupi mika.
Koristi program 'userdrake'. Dodaj grupu radnici. lanovi ove
grupe su pera i mika.
Dodavanje (i uklanjanje) korisnika u grupu se vri naredbom
'gpasswd'
Vidi: chown(1), gpasswd(1)

Identitet - II deo
Promena primarne grupe se vri korienjem naredbe 'newgrp'.
Ova naredba pokree novi shell, sa novom primarnom grupom.
Po sadraju group i gshadow datoteka, vidi se da na primer
korisnik pec moe da promeni primarnu grupu u inst (kad na
primer hoe da instalira neke programe iz izvornog kod - vidi:
'Prevoenje programa iz izvornog koda').
[pec@localhost tmp]$ id
uid=501(pec) gid=501(pec) groups=501(pec),80(cdwriter)
[pec@localhost tmp]$ newgrp root
Password:
Sorry.
[pec@localhost tmp]$ newgrp inst
[pec@localhost tmp]$ id

22

Predrag Raki

Osnove administracije GNU/Linux sistema

uid=501(pec) gid=503(inst) groups=501(pec),80(cdwriter),503(inst)

Brisanje korisnikog naloga (user account)

# userdel -r korisniccko_ime

# obrisi i home dir

Opcija -r brie i korisniki home direktorijum (obino /


home/korisniccko_ime). Korisnik u trenutku brisanja korisnikog
naloga ne sme biti prijavljen na sistem (not loged in).
Kako sitem zna gde je home korisnika, ako nije /
home/korisniccko_ime/?

# groupdel ime_grupe

Brisanje grupe
Naredba menja konfiguracione datoteke i brie sve podatke o
toj grupi. Korisnik sam mora da proe kroz FS i da obrie
reference na grupu!

Grafiki alati
Postoji nekoliko grafikih alata za administraciju korisnika.
Upoznaemo se sa:
drakconf tj. userdrake i
paketom webmin

23

Predrag Raki

Osnove administracije GNU/Linux sistema

Sistem prava nad datotekama


Cilj:

Razumevanje osnovnih
mogunosti sistema,
prava nad datotekama,
izvrne datoteke.
Naredbe:
chmod

U raunarskim sistemima postoje objekti - pasivni elementi nad


kojima se vre radnje (datoteke, tampai, skeneri,...) i subjekti
- aktivni elementi koji vre radnju (korisnici, grupe korisnika).
Postoje dva pristupa za odreivanje prava subjekata nad
objektima (koji subjekt, ta moe da radi i nad kojim objektom):
"sposobnosti" (capabilities) i "liste za kontrolu pristupa" (Access
Control List - ACL). Razlikuju se po tome kome su prava
pridruena.
Ako uz svaki subjekt postoji lista objekata nad kojima ovaj ima
neka prava i ta prava, to se zovu "sposobnosti" (capabilities the subject is capable of doing something on object).
Ako su takve liste pridruene objektima i sadre nabrojane
subjekte i prava koja oni imaju nad tim objektima, onda se
takve liste zovu "liste za kontrolu pristupa" (ACL).
U GNU/Linux sistemima se (uglavnom) koristi primitivna
varijanta ACL.

$ ls -l
-rw-r--r--rw-r--r-drwxr-xr-x

1 pec
1 pec
2 pec

pec
pec
pec

0 okt
0 okt
4.0K okt

8 18:58 aaa.avi
9 01:55 aaa.sub
9 21:10 dunav-c.3/

ta predstavlja prvo polje?


Prvo polje ima deset elemenata, podeljenih u etiri grupe.
Prva grupa je jednolana i ini je prvi karakter. U gornjem
primeru on je '-' ili 'd' (Prvi karakter moe imate jo neke
vrednosti, o tom - potom). Ako je '-' Znai da je u pitanju
regularna (obina) datoteka. Ako je 'd', u pitanju je direktorijum.
Sa take gledita datoteke u Unix FS, korisnici su podeljeni u 3
kategorije: vlasnik datoteke, pripadnici grupe kojoj pripada
datoteka, i svi ostali (koji nisu vlasnik i ne pripadaju
odgovarajuoj grupi).
Ostalih devet slova je podeljeno u tri grupe po tri slova, redom.
Prva grupa govori o pravima koja nad datotekom ima vlasnik,
druga o pravima pripadnika grupe i trea o ostalima.
Prvo slovo (u trolanoj grupi) moe biti '-' ili 'r'. Ako je 'r',
kategorija korisnika na koju se grupa karaktera odnosi ima
pravo itanja. Ako je '-', nema pravo itanja.

24

Predrag Raki

Osnove administracije GNU/Linux sistema

Drugo slovo moe biti '-' ili 'w'. Ako je 'w', kategorija korisnika na
koju se grupa karaktera odnosi ima pravo pisanja. Ako je '-',
nema pravo itanja.
Tree slovo moe biti '-' ili 'x'. Ako je 'x', kategorija korisnika na
koju se grupa karaktera odnosi ima pravo izvravanja . Ako je
'-', nema pravo izvravanja.
Ako je u pitanju regularna datoteka, jasno je ta znae prava
itanja i pisanja. Pravo izvravanja znai da je datoteka izvrna
- da se moe izvriti kucanjem:
$ ./ime_datoteke

Ako je u pitanju direktorijum, pravo itanja znai da


odgovarajua grupa korisnika ima pravo da vidi sadraj
direktorijuma. Pravo pisanja znai da se u direktorijum moe
pisati. Pravo izvravanja, za direktorijume je u stvari pravo
pristupa sadraju direktorijuma.
Prava nad datotekom moe da menja vlasnik datoteke i root.
Naredba kojom se menjaju prava nad datotekama je chmod.
$ chmod nova_prava ime_datoteke1 ime_datoteke2 ...

Gde su nova_prava oblika:


[ugoa][+-][rwx]
Prava se takoe mogu menjati iz KDE-a, desnim klikom na
'fajl->properties'.

25

Predrag Raki

Osnove administracije GNU/Linux sistema

Organizacija FS pod GNU/Linux-om.


Cilj:

Razumevanje
organizacije i tipova FS.
ta je i emu slui swap.
Semantika strukture
direktorijuma, FHS.
Naredbe:

swapon, swapoff, free,


chmod

Kao to je ve reeno, nema logikih ureaja (C:, D:) kao u


DOS/WIN varijanti. Postoji jedinstveno stablo direktorijuma,
koje poinje sa korenom / (kao i svako stablo :) ).

Koji FS i zato?
Na GNU/Linux-u je sve fajl (tj. ima index node - skraeno inode;
inode je jedinstveni identifikator u okviru sistema datoteka): i
obina datoteka i direktorijum i ostale vrste datoteke (device,
socket, FIFO). Mnoge sistemske operacije su vezane za
datoteke.
GNU/Linux root FS (file system) moe da bude bilo koji FS za
koji postoji GNU/Linux drajver (rw). Ovo su prilino labavi uslovi
i postoji dosta FS koji ih zadovoljavaju (tu spada i FAT).
GNU/Linux native FS (sada) je ext2 (oznaka particije 0x83). To
je vrlo brz i pouzdan FS opte namene. ext2 je poboljana
verzija ext FS-a, koji je izbaen iz jo u verziji 2.1.
U novijim verzijama ext2 je postao jurnaling FS i to se esto
naziva ext3. Interna struktura je i dalje slina i zato je
ukljuivanje i iskljuivanje urnala je lako i brzo.

ta je swap?
Kada nema dosta radne memorije za sve aktivne procese OS
poinje da izbacuje delove programa koji se retko koriste.
Iskustvo je pokazalo da se oko 10% programa izvrava 90%
vremena. Samo tih 10% je dovoljno imati u radnoj memoriji bez
znaajnijih gubitaka u performansama. Mesto na kojem se
nalaze delovi programa za koje nema mesta u radnoj memoriji
se zove swap. U sluaju GNU/Linux-a to moe biti specijalno
napravljena datoteka, ali je bolje (bre) ako je za to namenjena
posebna particija (oznaka particije 0x82).

Koliko treba swap-a?


Zavisi od vie uslova. Koja verzija kernela se koristi: v2.4 je
mnogo agresivnija prema radnoj memoriji i samim tim potrebno
joj je vie swap prostora nego v2.2 .
Zatim kakvi programi e biti izvravani na sistemu: da li e to
biti obini korisniki programi - office, internet ili neto izrazitio
zahtevno - programi za obradu grafike visoke rezolucije ili

26

Predrag Raki

Osnove administracije GNU/Linux sistema

server baze podataka. Za prvi sluaj postoji efikasna empirijska


(odokativna) metoda: bar 120MiB swap-a ili duplo vie nego
RAM-a ako RAM-a ima vie od 64MiB. Za drugi sluaj treba
konsultovati dokumentaciju koja dolazi uz dotini program.
U svakom sluaju viak nee smetati, a manjak hoe i to jako.
Ako u sistemu postoji vie od jednog diska poeljno je imati
swap particiju na svakom disku jer to znaajno ubrzava rad.
swap paricije imaju prioritete. Tek kad se particija sa veim
prioritetom napuni koristi se sledea. Da bi GNU/Linux koristio
vie swap particija istovremeno, potrebno im je dodeliti iste
prioritete.
$ /sbin/swapon -s
$ free

Vidi: swapon(8) i swapoff(8)

Koje particije?
Znai da bi instalirali GNU/Linux poeljno je imati bar jednu
particiju sa ext2 FS i bar jednu swap particiju. Ali za ozbiljan
sistem to nije dovoljno.
Poeljno je root FS drati malim i na njemu samo retko
promenljive (konfiguracione) datoteke. U sluaju pada sistema
svi rw montirani FS ostaju u nekonzistentnom stanju, pa ih je
sve potrebno oporaviti. Koristi se alat 'fsck' (File System ChecK
and repair). Kada je FS mali, oporavak ide bre, a kada se
sadraj retko menja manja je i verovatnoa gubitka podataka to je u sluaju root FS posebno bitno.
Mali root FS se dobija tako to se na kljunim mestima u
strukturi direktorijuma montiraju drugi FS. U zavisnosti od
namene sistema potrebno je (ili nije) napraviti posebne particije
za:
/home - korisniki direktorijumi
/var - esto promenljive datoteke
/usr - sekundarna hierarhija sa korisnikim programima i

bibliotekama

/boot - kernel i boot loader (ovo zavisi od od BIOS-a)


/tmp - privremene datoteke

Kako proveriti koliko koji direktorijum zauzima prostora na


radnoj stanici opte namene:
# du -hs /usr /home /boot /var
# df -h

27

Predrag Raki

Osnove administracije GNU/Linux sistema

Vidi: FHS (Filesystem Hierarchy Standard - trenutno aktuelna


verzija 2.2).

Gde ih smestiti?
U particionoj tabeli ima mesta za samo 4 zapisa. to znai da
disk moe imati maksimalno 4 primarne particije! Zato postoji
Extended tip particije (oznaka particije 0xf) u koju se moe
smestiti proizvoljan broj logikih particija.
Ako je potrebno imati jo neki OS na disku sem GNU/Linux-a
zahtevi postaju sve otriji.
Pogledajte raspored particija na IDE primarnom masteru:
# fdisk -l /dev/hda

Scenario: Potrebno je imati multi-boot sistem sa Win98, WinXP,


GNU/Linux OS. U pitanju je stari BIOS koji ne podrava
Extended INT13.
Poto BIOS podrava samo 3d adresiranje, adresa cilindra
mora stati u 10 bita i zato se kernel image mora nalaziti pre
1024. cilindra.
Vidi: Large-Disk-HOWTO.

28

Predrag Raki

Osnove administracije GNU/Linux sistema

Boot loader
Cilj:

Pokretanje sistema MBR.


Vie OS na jednom
disku.
Naredbe:
lilo, grub

Bootstrap je (po Bensonu) petlja za obuvanje izama, pa bi


"bootstrap procedure" verovatno bila procedura obuvanja
(nazuvanja) operativnog sistema na raunar tj. procedura
pokretanja raunara.
Kada se raunar ukljui, posle stabilizacije napajanja,
mikroprocesor poinje izvravanje od naredbe koje se nalaze
na unapred odreenoj, u procesoru definisanoj lokaciji (za Ix86
procesore: 0xFFFF0).
Na proizvoau osnovne ploe je da obezbedi da se poev od
te lokacije nae program koji e prvo istestirati komponente
sistema, a zatim obaviti elementarnu inicijalizacuju fizike
arhitekture (hardware). Ovaj program se zove firmware - u
plou ga ugrauje "firma" koja pravi plou i korisnik ne moe da
ga bira.
Firmware pokree prvi program koji korisnik moe da bira
(software), to je obino "boot loader". To je relativno mali
program, iji je jedini zadatak da uita i pokrene operativni
sistem.

Slika: Procedura pokretanja sistema


Kako pokrenuti sistem (bootstrap procedure)?

Disketom, bez boot loader-a.


Na disketu(e) snimiti kernel i image root FS (da li root FS ide na
posebnu disketu zavisi od veliine image-a). Ovo je prilino
primitiivan nain. Ima velikih nedostataka:
kernelu se ne mogu zadati parametri
sam proces je dugotrajan jer su diskete spore
osim to su spore diskete su i nepouzdane pa treba imati

vie kopija.

29

Predrag Raki

Osnove administracije GNU/Linux sistema

Ovaj nain je pogodan kada ne elimo da diramo MBR ili za


rescue image.
Vidi: Bootdisk-HOWTO

Boot loader-om koji podrava Linux kernel


Boot loader je program koji uitava OS. On korisniku prua
mogunost izbora izmeu vie razliitih verzija kernela ili
izmeu vie razliitih OS. On takoe korisniku prua
mogunost da kernelu prosledi parametre zadate u vreme
podizanja sistema. Podizanje sistema boot loader-om je
preporueni nain. Dva najee koriena loader-a LILO i
GRUB i o njima e biti vie rei kasnije.

Boot loader-om koji ne podrava Linux kernel ali


podrava chain-loading.
Chain-loading je mehanizam za startovanje nepodranih
operativnih sistema tako to se uita drugi boot loader koji
podrava dotini OS.
To je sluaj sa loaderon WinNT/Win2K/WinXP. Konfiguraciona
datoteka se zove C:\boot.ini. Sistemska je i skrivena.
Ovo je sluaj kada je Win boot loader u MBR-u i nipoemu se
ne razlikuje od prethodnog, samo ima jedan korak vie.
Kada se odabere Linux, startuje se Linux-ov boot loader, kao
da prethodnog nije ni bilo.
Vidi: Linux+NT-Loader-mini-HOWTO

Iz DOS/Win95/Win98.
Ovo je neuobiajen nain podizanja GNU/Linux-a i opravdan je
samo kad postoji egzotian hardver koji je potrebno programski
inicijalizovati pri svakom ukljuivanju napajanja, a
inicijalizacioni program postoji samo za DOS/Win.
Primer su neki SCSI host adapteri bez ROM-a na sebi.
Za to se koristi program loadlin.exe koji dolazi na prvom
instalacionom disku u direktorijumu dosutils skoro svake
GNU/Linuux distribucije.
Negde na C: disk (na primer u \) iskopirati loadlin.exe i kernel
image koji elimo podii iz Win (obino: /boot/vmlinuz-x.y.z-r)
Config.sys :

30

Predrag Raki

Osnove administracije GNU/Linux sistema

.....................
[menu]
menuitem=Linux, RHL 7.1
menuitem=Win98, Windows 98
menucolor=15,1
menudefault=Win98, 10
[linux]
[win98]
DEVICE=D:\WINDOWS\setver.exe
.....................

Autoexec.bat :
.....................
goto %config%
:linux
hdini.exe
rem Inicijalizuje neki hardver.
c:\loadlin c:\vmlinuz root=/dev/hda1 ro rem Prvi parametar ime kernela, a
rem ostali su parametri kernelu
:win98
.....................

Scenario: redovno kree pokretanje DOS/Win, uitava se


command.com, izvrava config.sys. Tu se pojavljuje boot meni.
Ako se odabere Win - podie se regularno Win, a ako se
izabere 'linux' - autoexec.bat se izvrava, inicijalizuje dotini
hardver (hwini.exe) i pokree loadlin.exe kojem se kao prvi
parametar zadaje ime Linux kernel image-a, a ostali su boot
parametri kernela (isto kao da su zadati iz linije LILO-a ili
GRUB-a).
Kad se ve govori o boot procesu, vidi Multiboot-with-GRUB
mini-HOWTO za uputstvo kako podii DOS, Win95, NT i
GNU/Linux sve iz jednog menija (bez podmenija).

LILO (LInux LOader)


Defakto standardni loader za Linux kernel. Ako je prisutan na
poetku podizanja sistema ispisuje LILO. Nekad je za dobijanje
prompta potrebno pritisnut Shift taster.
LILO se na sistem instalira pokretanjem programa /sbin/lilo.
Posle bilo kakve promene u konfiguracionoj datoteci ili u
poloaju ili sadraju neke od datoteka ukljuenih u proces
podizanja sistema potrebno je reinstalirati bootloader.
Konfiguraciona datoteka /etc/lilo.conf . Na primer:
.....................
boot=/dev/hda
map=/boot/map

31

Predrag Raki

Osnove administracije GNU/Linux sistema

default=linux
prompt
timeout=100
message=/boot/message
image=/boot/vmlinuz
label=linux
root=/dev/hdb2
initrd=/boot/initrd.img
append="devfs=mount hdd=ide-scsi"
read-only
other=/dev/hda1
label=win
table=/dev/hda
other=/dev/fd0
label=floppy
.....................

Globalne opcije - odnose se na sve imide:


boot - Gde e se loader smestiti (MBR ili BR particije)

map - lokacija map datoteke - potrebne za startovanje

sistema. Potrebna je map datoteka jer lilo ne razume FS.

default - Imid koji e biti startovan ako korisnik u toku

startovanje ne kae drugaije

prompt - Omogui korisniku da u vreme startovanje izabere

imd koji e biti startovan (prikai prompt ili meni).

timeout - odreuje vreme (u desetinama sekunde) koje e

prompt ekati da korisnik izabere. Ako korisnik za timeout


vreme ne dodirne tastaturu startovae se default imid.
Ima smisla samo ako je navedena opcija prompt.

delay - Vreme (u desetinama sekunde) izmeu dva pritiska

tastature. Ako vreme protekne, startuje se default imid (u


grafikoj varijanti imid koji je trenutno izabran). Ako stigne
pritisak sa tastature, a nema prompt opcije, ipak ide u
interaktivni mod.

Opis pojedinanih imda poinje sa image ili other:


image - Pozicije Linux kernela.
other - Ureaj na kojem se nalazi neki drugi sistem.
labela - Proizvoljno ime imida. Koristi ga default.
root - Ovde se postavlja particija koja e biti montirana kao

root direktorijum.

Initrd - Imid koji sadri privremeni root FS, sa koga e biti

uitani drajveri potrebni sistemu pre montiranja pravog root


FS, koji nisu ugraeni u kernel (npr podrka za ext3).

append - Dodatne opcije.

32

Predrag Raki

Osnove administracije GNU/Linux sistema


read-only - Kae montiraj root FS samo za itanje (ro),

proveri njegovu ispravnost, pa tek ako je sve ok ponovo ga


montiraj i za pisanje (rw).

table - Ureaj na kojem se nalazi particiona tabela (vie

diskova).

LILO omoguava zadavanje parametara kernel-u u trenutku


boot-ovanja, to je u raznim ne tipinim situacijama izuzetno
korisno. esto se koriste:
root= za zadavanje particije koja sadri root FS

init= za zadavanje programa koji e biti izvren posle

startovanja kernela, umesto /sbin/init.

Zadatak: Postavi da se automatski startuje GNU/Linux.


Za odravanje sistema predvien je poseban jednokorisniki
reim. Kada je sistem u njemu, administrator je siguran, da je
on jedini korisnik sistema (da niko drugi istovremeno ne 'prka'
po FS) i da su pokrenuti samo neophodni demoni.
Jedan od naina da se u taj reim ue je da se boot promptu
odgovori:
lilo: linux single

Sistem e se relativno brzo startovati, otvorie samo jednu


konzolu sa shell-om.
Zadatak: Vidi da nema drugih konzola.
#id
# touch ppp
# ls -l ppp

Primetite da ste root bez password-a. Kucaj exit ili ^d da pree


u reim naveden u inittab-u.
Vlasnik sesije e biti root. Korisnik za konzolom, ko god on bio,
vie nema ogranienja!!!
Zadatak: Postavi da nema prompta (zakomentariite #).
Korisnik ima 5 sekundi vremena da pritisne SHIFT, da dobije
prompt.
Zadatak: Postavi da se automatski startuje windows. Nema
prompta i nema ekanja. GNU/Linux moe startovati samo ko
zna da je tu.
Da sistem ne bi mogao da kompromituje ko god sedne za
konzolu (mada, ako napada ima fiziki pristup raunaru i
dovoljno vremena, ne postoji adekvatna zatita), mogue je
postaviti lozinke u lilo.conf datoteci.

33

Predrag Raki

Osnove administracije GNU/Linux sistema

Lozinka se postavlja opcijom 'password'. Ako se ova opcija


nae u globalnom delu, odnosi se na sve imide. Ako se nae
u opisu pojedinih imida, odnosi se na te imide - razliiti imidi
mogu imati razliite lozinke.
Postoje tri modifikatora opcije password - oni utiu na
interpretaciju opcije. Mogu se nai u globalnom delu ili
pojedinanim opisima imida. U svakom delu se moe pojaviti
samo jedna od njih. To su:
mandatory - Lozinka je obavezna (default).
restricted - Lozinka je potrebna samo ako korisnik eli da

zada parametre kernelu.

bypass - Lozinka nije potrebna.

Ako se neka od ovih opcija nalazi u globalnom delu, odnosi se


na sve imide, sem sem za imide u okviru opisa kojih je
drugaije zadato.
Lozinka se moe zadati u /etc/lilo.conf kao:
password="lozinka"

to je nebezbedno jer /etc/lilo.conf mogu svi da itaju, a lozinka


je upisana kao obian tekst. Bezbednija varijanta je da se zada:
password=""

a program lilo e pitati za lozinku. Ako se lilo pozove sa


prekidaem '-p', lozinka e biti upisana i u datoteku /
etc/lilo.conf.shs (koju moe da ita samo vlasnik) u
kriptovanom obliku. U dokumentaciji pie da se datoteka zaove
/etc/lilo.conf.crc. Dok ova datoteka postoji lilo pri ponovnim
pozivima ne pita za lozinku, ve je ita te datoteke.
Zadatak: Automatski startuje windows. eka 10 sekundi.
Postavi jedinstvenu lozinku za ceo sistem - ne u lilo.conf.
Windows moe da startuje ko hoe. GNU/Linux moe da se
startuje bez lozinke bez parametara, a ko hoe da zada
parametre mora da zna lozinku. Dodaj startovanje sa diskete samo uz lozinku.
Vidi: lilo(8), lilo.conf(5)
ta da radim ako sitem nee da se startuje?
Prvi instalacioni disk (cd 1) sadri rescue image. To je
minimalni imid namenjen ba takvim situacijama. Koristi se
tako to se raunar startuje sa Mandrake instalacionog cd-a,
pritisne F1 i otkuca 'rescue'. Za root FS se postavlja neki
minimalni sa cd-a, a odatle se uitavaju i konfiguracione

34

Predrag Raki

Osnove administracije GNU/Linux sistema

datoteke. Potom je mogue montirati particuju na kojoj je pravi


root FS i obaviti potrebne ispravke.
Takoe mogue je napraviti rescue disketu.
# mkrescue

pravi rescue disketu na osnovu trenutno aktivnog imida i za


root FS postavlja onaj koji je trenutno root FS.

GRUB (GRand Unified Bootloader)


GRUB je bootloader naredne generacije u odnosu na LILO.
Oigledne razlike su to to GRUB podrava vie operativnih
sistema i to prua vie mogunosti za administriranje, ali je
istovremeno komplikovaniji za shvatanje.
Home direktorijum GRUB-a (direktorijum u kojem GRUB
oekuje da se nalaze datoteke neophodne za izvravanje) je /
boot/grub/ . Treba imati u vidu da GRUB oekuje da se home
direktorijum nalazi u /boot/grub/ u odnosu na FS na kojem se
nalazi. to znai da ako je na /boot direktorijum montirana
posebna particija, GRUB svoj home oekuje na lokaciji /
boot/boot/grub/ !
Za korienje GRUB-a nije neophodno postojanje datoteke
menija - menu.lst (ali je udobno). GRUB root particija se
postavlja tako to se posle startovanja GRUB shell-a
(/usr/sbin/grub) kuca:
# root (hd0,0)

NAPOMENA:

zadaje GRUB root particiju.


GRUB particije broji od 0!!!
Ovo nije isto to i GNU/Linux root particija. GRUB root particija
je particija na kojoj se nalazi GRUB home direktorijum.
Prethodnom naredbom je za root particiju odabrana hda1.
GRUB se instalira:

# setup (hd0) ili


# setup (hd1,2)

Prva instalira GRUB bootloader u MBR hda, a druga u prvi blok


hdb3 particije.
Ovim je instalacija zavrena. Ako u (hd0,0)/boot/grub/ postoji
datoteka menu.lst pri startovanju sistema pojavie se meni
opisan ovom datotekom, ako ne, pojavie se GRUB prompt.

NAPOMENA:

GRUB nije potrebno ponovo instalirati posle izmene menija


(menu.lst).
Primer menu.lst:

35

Predrag Raki

Osnove administracije GNU/Linux sistema

.....................
timeout 10
default 0
title Mdk9.0
kernel (hd1,1)/boot/vmlinuz root=/dev/hdb2 devfs=mount hdc=ide-scsi
initrd (hd1,1)/boot/initrd.img
title Mdk9.0 single
kernel (hd1,1)/boot/vmlinuz root=/dev/hdb2 devfs=nomount hdc=ide-scsi single
initrd (hd1,1)/boot/initrd.img
title Win
root (hd1,0)
makeactive
chainloader +1
title floppy
root (fd0)
chainloader +1
.....................

36

Predrag Raki

Osnove administracije GNU/Linux sistema

Osnove umreavanja - TCP/IP


Cilj:

Podeavanje mrenog
podsistema.
IP adresa, net maska.
Privatne IP adrese.
Datoteke:

Govorimo o TCP/IP grupi protokola verzija 4 (TCP/IP). Postoji


protokol koji se zove TCP, postoji i protokol koji se zove IP.
Kada se kae TCP/IP ne misli se samo na ta dva, ve na grupu
koja broji nekoliko stotina protokola.
Svaki ureaj koji koristi ovu grupu protokola za komuniciranje,
mora da ima IP adresu. IP adresa (u verziji 4) je dugaka 32
bita i esto se zapisuje kao etiri okteta zapisana dekadno:

/etc/hosts

/etc/sysconfig/network
/etc/resolv.conf
/etc/rc.d/init.d/network
/etc/sysconfig/network

Slika: Predstava IP adrese


Sa trideset dva broja se moe adresirati 2^32 ureaja, to je
priblino 4*10^9, a to je u dananjim dimenzijama Interneta
nedovoljno. Zbog toga se prelazi na verziju 6 koja za
adresiranje koristi 128 bita ~ 10^38 ureaja (to e biti dovoljno
jedno vreme).
U svakoj IP adresi postoji deo adrese koji odreuje mreu i deo
koji odreuje ureaj u okviru te mree. Pa su zbog potrebe za
postojanjem mrea razliitih veliina adrese podeljene u klase.
Neke klase su:
A:

0.x.x.x

- 126.x.x.x

B:

128.0.x.x

- 191.255.x.x

C:

198.0.0.x

- 223.255.255.x

Klasa A je namenjena velikim mreama i moe imati mnogo


raunara, ali takvih mrea moe biti svega stotinak. Mrea
klase A moe imati 2^24 ureaja ~ 10^7 raunara.
Klasa C je namenjena malim mreama. U mrei klase C moe
biti oko 250 ureaja, ali zato moe postojati oko 10^9 takvih
mrea.
Zato 'oko 250' ureaja? Zato to sve adrese iz opsega ureaja
ne mogu koristiti za ureaje. Ako je adresa mree 192.168.1.0,
postoji 256 adesa u opsegu ureaja. Ali... IP adresa u kojoj su
sve 0 u opsegu ureaja predstavlja adresu mree. IP adresa u
kojoj su sve 1 u opsegu ureaja predstavlja brodkast
(broadcast) adresu - kada ureaj eli da poalje poruku svim
ureajima u svojoj mrei koristi ovu adresu.

37

Predrag Raki

Osnove administracije GNU/Linux sistema

"Privatne" IP adrese
U svakoj klasi postoji opseg adresa mrea koje se sigurno
nikada nee pojaviti na Internetu. To su:
A

1.0.0.0

172.16.0.0

192.168.0.0 - 192.168.255.0

- 172.31.0.0

Primetite da opseg u klasi B sadri 16, a u klasi C 256 mrea.


Ove adrese se koriste za mree koje nee biti povezane sa
Internetom, ali se prolaz na Internet moe ostvariti preko
gejtveja (gateway).

Podmree
Podmree (subnets) su logiki delovi vee fizike mree. Ako
postoje grupe korisnika u okviru jedne mree, koje najee
komuniciraju izmeu sebe, to su kandidati za podmree.
Razlog je jednostavan, ako se najvei deo komunikacije odvija
izmeu lanova podgrupe, nema razloga da se i ostali delovi
mree optereuju saobraajem koji im svakako nije namenjen.
Za podelu mree u vie podmrea koriste se mrene maske
(subnet mask). Maska je dugaka 32 bit (kao i adresa) i sadri
sve 1 u delu adrese koji odreuje mreu i sve 0 u delu adrese
koji odreuje ureaj.
Ako mreu u klasi C, sa maskom 255.255.255.0 ili:
mmmmmmmm.mmmmmmmm.mmmmmmmm.uuuuuuuu
treba podeliti u 8 podmrea, to izgleda:
mmmmmmmm.mmmmmmmm.mmmmmmmm.mmmuuuuu
ili decimalno 255.255.255.224.
Ako je adresa mree u C klasi 192.168.5.0 i maska
255.255.255.192, etiri podmree koje postoje su:
192.168.5.0
192.168.5.64
192.168.5.128
192.168.5.192

192.168.5.1
192.168.5.65
192.168.5.129
192.168.5.193

192.168.5.62
192.168.5.126
192.168.5.190
192.168.5.254

192.168.5.63
192.168.5.127
192.168.5.191
192.168.5.255

Komunikacija izmeu (pod)mrea se obavlja preko rutera


(router), mrenih ureaja koji slue za usmeravanje saobraaja.
Konfiguracione datoteke koje se koriste za podeavanje
mrenog okruenje u tipinom GNU/Linux sistemu su:
/etc/hosts - Veza izmeu imena ureaja i njihovih IP adresa

38

Predrag Raki

Osnove administracije GNU/Linux sistema


/etc/networks - Veza izmeu imena domena i mrenih

adresa

/etc/sysconfig/network - Ukljuivanje ili iskljuivanje

mrenih servisa, podeavanje imena raunara i default


putanje (gateway).

/etc/resolv.conf - IP adrese DNS servera

/etc/rc.d/init.d/network - Podeava mrene servise (na

osnovu konfiguracionih datoteka) pri startovanju raunara.

/etc/sysconfig/network-scripts/ - Direktorijum koji sadri

konfiguracione datoteke svih mrenih adaptera.

/etc/hosts
/etc/hosts je obina tekstualna datoteka koja sadri veze
izmeu imena ureaja i njihovih IP adresa. Svaki red sadri IP
adresu i imena ureaja razdvojena belinama:
........................
127.0.0.1
localhost.localdomain
192.168.0.50
m
192.168.0.51
m1
........................

localhost

Vidi: hosts(5)

/etc/sysconfig/network
U ovoj datoteci se nalaze informacije o mrenoj konfiguraciji.
Koristi je nekoliko skriptova pri startovanju sistema. Neke od
opcija koje se u njoj mogu pojaviti su:
NETWORKING=YES|NO ; YES - Treba podesiti mreno

okruenje, NO - ne treba.

HOSTNAME=ime_racunara ; FQDN (fully qualified domain

name) - puno ime raunara ukljuujui sve domene (npr


pipin.tmd.ns.ac.yu)

GATEWAY=ruter-ip ; IP adresa rutera. Svi paketi za koje

ne postoji putanja (sistem ne zna gde da ih usmeri) idu na


ovu adresu.

Npr:
NETWORKING=YES
HOSTNAME=m
GATEWAY=192.168.0.1

39

Predrag Raki

Osnove administracije GNU/Linux sistema

/etc/resolv.conf
Ovo je konfiguraciona datoteka razreavaa (resolver).
Razreava ini grupa primitiva iz biblioteke koje obezbeuju
pristup DNS-u (Domain Name System).
U ovoj datoteci se nalazi IP adresa DNS servera. Moe ih biti
vie. Upit se alje prvom. Ako on ne odgovori, alje se
drugom... Npr:
nameserver=192.168.0.1
nameserver=192.168.0.5

Vidi: resolver(5)

/etc/sysconfig/network-scripts/
U ovom direktorijumu se nalaze skriptovi i konfiguracione
datoteke mrenih adaptera. Nas e interesovati ifcfg-eth0.
Neke od opcija koje se mogu nai u njemu su:
DEVICE="eth0" - ime fizikog ureaja
IPADDR="192.168.3.1"

NETMASK=" 255.255.255.0" - opciono


NETWORK="192.168.3.0" - opciono
BROADCAST="192.168.3.255" - opciono
ONBOOT="yes" - 'yes' pokreni adapter pri pokretanju

sistema ili 'no' nemoj.

BOOTPROTO="none" - Mogui protokoli: 'none', 'bootp' ili

'dhcp'.

40

Predrag Raki

Osnove administracije GNU/Linux sistema

'init' proces
Cilj:

Upoznavanje pojma:
reima (runlevel).
Izbor reima.
Naredbe:

Prvi proces koji se pokree po startovanju sistema je 'init', to je


poslednji korak podizanja (boot) kernela. Njegov PID (process
identification) je 1. On je 'roditelj' svih ostalih procesa. On
startuje sistem u jednom od desetak razliitih reima (runlevel)
u zavisnosti od sadraja njegove konfiguracione datoteke: /
etc/inittab .

init, shutdown, startx

Reim (runlevel) je programska konfiguracija sistema koja


dozvoljava odreenoj grupi procesa da budu zajedno pokrenuti.

Datoteke:

Neki od moguih reima su:

/etc/inittab

/etc/rc.d/

0 - halt

1 - Single user mode

2 - Multiuser, without NFS (The same as 3, if you do not


have networking)
3 - Full multiuser mode
4 - unused
5 - X11

6 - reboot

Deo datoteke /etc/inittab:


...........................
id:5:initdefault:
# System initialization.
si::sysinit:/etc/rc.d/rc.sysinit
l0:0:wait:/etc/rc.d/rc
l1:1:wait:/etc/rc.d/rc
l2:2:wait:/etc/rc.d/rc
l3:3:wait:/etc/rc.d/rc
l4:4:wait:/etc/rc.d/rc
l5:5:wait:/etc/rc.d/rc
l6:6:wait:/etc/rc.d/rc

0
1
2
3
4
5
6

# Trap CTRL-ALT-DELETE
ca::ctrlaltdel:/sbin/shutdown -t3 -r now
# Run gettys in standard runlevels
1:2345:respawn:/sbin/mingetty tty1
2:2345:respawn:/sbin/mingetty tty2
3:2345:respawn:/sbin/mingetty tty3
4:2345:respawn:/sbin/mingetty tty4
5:2345:respawn:/sbin/mingetty tty5
6:2345:respawn:/sbin/mingetty tty6
...........................

Format ove konfiguracione datoteke (Vidi: inittab(5) ):

41

Predrag Raki

Osnove administracije GNU/Linux sistema

id:runlevels:akcija:proces
id - jedinstveni identifikator akcije. 1-4 karaktera.
reimi - reimi u kojima akciju treba izvriti
akcija - nain na koji treba izvriti proces

proces - komandna linija koju treba izvriti

Neke akcije:
initdefault - odreuje reim u koji treba ui posle

inicijalizacije sistema (system boot).

sysinit - proces e biti izvren za vreme inicijalizacije

sistema (system boot). Ovaj proces e biti izvren pre bilo


kojeg procesa sa akcijom boot ili bootwait.

wait - proces e biti startovan jednom po ulasku navedeni

reim i init e ekati na njegov zavretak pre startovanja


bilo kog drugog procesa.

once - proces e biti startovan jednom po ulasku navedeni

reim.

ctrlaltdel - proces e biti izvren kad init primi SIGINT

signal, to znai da je neko pritisnuo CTR-ALT-DEL na


sistemskoj konzoli.

respawn - proces e biti restartovan kad god se zavri. Ako

isti proces bude restartovan vie od 3 puta u 20 sekundi,


init e pretpostaviti da je dolo do sintaksne greke u
inittab-u, prijavie greku na sistemskoj konzoli (i log
datoteci) i prestati da restartuje proces narednih 5 min.

Postoje izvrne datoteke /sbin/init i /sbin/telinit. telinit je meka


veza (softlink) na init. Bez obzira pod kojim imenom je pozvan,
ovaj program proverava svoj PID i ako je on 1, znai da je u
pitanju prvi proces od kojeg se oekuje da izvri inicijalizaciju
sistema. Ako je PID razliit od jedan, korisnik eli da promeni
reim (runlevel).
Vidi: init(8)
Zadatak: Izmenite inittab, da se sistem startuje u reimu 3.
# reboot

Grafiko okruenje se moe startovati naredbom


$ startx

Ako je pozadina crvena znai da ste startovali grafiko


okruenje kao korisnik root, to se ne preporuuje (to se moe
zakljuiti i po boji pozadine). Iz njega se izlazi naputanjem
grafikog okruenja (logout) ili CTRL+ALT+BACKSPACE
(potpuno nasilan metod). Prelazak u reim 5

42

Predrag Raki

Osnove administracije GNU/Linux sistema

# init 5

Kad se startuje grafiko okruenje, vrati inittab u reim 5.


Restartujte sistem naredbom:
# init 6

/etc/rc.d/
Konfiguracioni direktorijum.
$ cd /etc/rc.d
$ ll

U njemu se nalazi datoteka rc.sysinit koja se izvrava u okviru


inicijalizacije sistema. Tu se takoe nalaze datoteka rc koja u
zavisnosti od reima u koji sistem ulazi (pri pokretanju 'id' linija
u /etc/inittab) poziva konfiguracione skriptove iz odgovarajueg
reima.
Ovde su i direktorijumi init.d i rc[0123456].d/. U init.d se nalaze
konfiguracioni skriptovi za sve servise instalirane na sistemu.
Ovi skriptovi prihvataju argumente: 'start', 'stop', 'status',
'restart'...
$ ls rc[016]*

U zavisnosti od toga u koji reim sistem ulazi, izvravaju se


skriptovi navedeni u odgovarajuem rc[n].d/ direktorijumu (n je
reim u koji sistem ulazi). U ovim /etc/rc.d/rc[n].d/
direktorijumima se nalaze meke veze, koje pokazuju na
skriptove u /etc/rc.d/init.d/. Svaka meka veza poinje slovom 'K'
ili 'S'. Sa 'K' (kill) su obeleeni servisi koje treba zaustaviti u
datom reimu. Sa 'S' (start) su obeleeni servisi koje treba
pokrenuti. Ako meka veza poinje sa 'K' skript se poziva sa
argumentom 'stop', a ako poinje sa 'S' poziva se sa
argumentom 'start'.
Iza prvog slova se nalazi dvocifren broj. Poto se datoteke
pronalaze u abecednom redosledu naziva, skriptovi sa manjim
brojem e biti izvreni pre onih sa veim. Time je garantovan
redosled pokretanja/zaustavljanja servisa.

shutdown
Naredba 'shutdown' slui za zaustavljanje i restartovanje
sistema.
# shutdown now

zaustavlja raunar tako to izdaje poruku svim prijavljenim


korisnicima da je zaustavljanje sistema zapoeto, alje svim
aktivnim procesima signal TERM dajui im priliku da elegantno

43

Predrag Raki

Osnove administracije GNU/Linux sistema

zavre svoju aktivnost (npr. snime izmene), i zatim signalizira


init procesu da pree u reim 0.
Postoje naredbe 'halt' i 'reboot' koje rade ba to to im ime
kae.

44

Predrag Raki

Osnove administracije GNU/Linux sistema

Demoni
Cilj:

Upoznavanje pojma:
demon (daemon).
$ ps ax
PID TTY
1 ?
5 ?
12 ?
116 ?
354 ?
839 ?
1715 vc/1
1716 vc/2
2493 ?
3038 pts/3
3207 pts/3

STAT
S
SW
SW
S
SW
S
S
S
S
S
R

Demoni su procesi koji nemaju kontroliui terminal (controlling


terminal) - terminal na koji 'piu' standardni izlazi i sa kojeg
'itaju' standardni ulaz. Komunikacija sa njima se obavlja
korienjem signala. To su uglavnom procesi koji realizuju deo
servisa koje nudi GNU/Linux sistem.
TIME
0:04
0:02
0:00
0:00
0:00
0:00
0:00
0:00
0:00
0:00
0:00

COMMAND
init
[kswapd]
[kjournald]
devfsd /dev
[kjournald]
syslogd -m 0
/sbin/mingetty tty1
/sbin/mingetty tty2
/bin/sh /usr/bin/startkde
bash
ps ax

daje spisak svih procesa u sistemu. Oni koji nemaju pridruen


terminal (u polju TTY stoji '?') su demoni.
Program za praenje stanja sistema:
$ top

Prikazuje procese u sistemu po razliitim kriterijumima


(pritisnite 'h' za uputstvo):

45

Predrag Raki

Osnove administracije GNU/Linux sistema

Servisi
Cilj:

ta su servisi, a ta demoni? Demon je proces koji ne pripada


ni jednom terminalu. Demoni se izvravaju u 'pozadini' kao
sistemski procesi.

Razlika izmeu servisa i


demona.

Servis je usluga koju sistem prua (ftp, http, ssh, rutiranje, ...).
Veliki broj usluga (korisnicima ili sistemu) pruaju sistemski
demoni pokrenut iz rc skriptova, u vreme pokretanja sistema.
Tada su ova dva pojma manje-vie sinonimi - demon prua
servis (uslugu). Meutim postoje servisi koje ne pruaju demoni
npr rutiranje obavlja kernel.

Upoznavanje pojma:
servis.

Naredbe:
service

Datoteke:
/etc/rc.d/

Takoe postoje demoni koji pruaju vie servisa, kao i demoni


koji ne pruaju servise u opte. Npr dugotrajan, neinteraktivan
posao koji rezultate svog rada smeta u datoteku ili ispisuje na
tampau je kandidat za pozadinski proces bez terminala
demon.
Znai, sve servise ne pruaju demoni. Isto tako, svi demoni ne
pruaju servise.
Spisak svih servisa i njihov trenutni status se moe dobiti:

# service -s

Koje naredbe se mogu zadati sktiptu za upravljanje servisima


se moe videti ako se navede ime servisa bez argumenata.
Naredbe ftp servisa:
# service proftp

Trenutni status servisa se moe videti naredbom:


# service proftp status

Servis se moe zaustaviti:


# service proftp stop

Restartovanje servisa je u stvari izdavanje naredbi stop pa start


jedne za drugom. Ovo je esto najjednostavniji nain da se
servisu kae da ponovo proita svoje konfiguracione datoteke.
# service proftp restart

46

Predrag Raki

Osnove administracije GNU/Linux sistema

'webmin' server
Alat za udaljenu administraciju GNU/Linux (i ne samo
GNU/Linux) sistema. Wbmin je server sposoban da obavi razne
Administracija udaljenih
administrativne poslove, koji sa korisnikom komunicira https
sistema
protokolom na portu 10000.
Cilj:

Ovim je omogueno pristupanje ovom servisu iz bilo kog web


pretraivaa (web browser) koji podrava https - to znai sa
svih platformi i iz svakog ozbiljnijeg web alata.
Takoe je odmah reeno i pitanje bezbednosti, jer se
komunikacija odvija kroz bezbedni, https protokol (ono s na
kraju je od secure). Adresa (URL) je:
https://localhost:10000

47

Predrag Raki

Osnove administracije GNU/Linux sistema

Dodavanje i uklanjanje programa


Cilj:

Dodavanje i uklanjanje
programskih paketa.
Baze rpm i urpmi.
Prevoenje izvornog
koda.
Naredbe:

rpm, urpmi, tar, gzip,


bzip2, configure, make
Datoteke:
Makefile

Postoji dva naina za dodavanje nove aplikacije postojeem


sistemu. Jedan je prevesti izvorni kod, a drugi raspakovati
paket predvien za tu distribuciju. Svaki od ovih naina ima
svoje prednosti i mane.
Kada se radi sa izvornim kodom potrebno je imati adekvatan
razvojni sistem (i umeti ga koristiti) i sam proces prevoenja je
dugotrajan, ali za uzvrat, mogue je napraviti aplikaciju
"ukrojenu" po svojoj elji i potrebama. Jo je nezgodno to, dok
ne pone izvravanje programa, ne moete biti sigurni da su
sve komponente potrebne za izvravanje prisutne.
Paketi (npr. rpm) su udobni jer pri instaliranju sam program za
upravljanje paketima proveri da li su sve potrebne komponente
prisutne i ako nisu ne raspakuje paket. Samo raspakivanje
paketa traje znaajno krae od prevoenja. Loa strana paketa
je to su vezani za arhitekturu, distribuciju, verziju kernela ili
sva tri, pa se za svaku novu verziju distribucije/kernela mora
nabaviti i novi paket (nije tako strano jer uz svaku distribuciju
dolaze adekvatni paketi). Pored toga, paketi su prevedeni kako
je tvorac paketa hteo i mislio da treba, a ako vama treba neto
drugo, paket je neupotrebljiv.

Upravljanje paketima
Mandrake distribucija koristi rpm (RedHat Package Manager)
pakete. Instaliranje programa iz paketa se radi naredbom
(samo root):
# rpm -i putanja/ime_paketa.rpm

Rukovanje paketima je donekle udobno jer se paket nee


instalirati ako prethodno nisu instalirani svi paketi potrebni za
njegov ispravan rad - u svakom paketu pie ta mu je potrebno.
Ako ima zavisnosti koje nisu zadovoljene program e vam javiti
ta nedostaje. Isto tako ako pokuate da uklonite paket koji je
potreban programima iz nekog drugog paketa rpm e vam javiti
da ne moe. rpm vodi bazu podataka o trenutno instaliranim
paketima na sistemu i njihovim meuzavisnostima.
Ali ta raditi kad kada probate da instalirate novi paket, a rpm
prijavi da prethodno treba instalirati n paketa i biblioteka. Ispie
on koje su biblioteke (ponekad i koji paket) su u pitanju i znate
(ako se radi o paketima sa instalacionih cd-a distribucije) da se
potrebni paketi nalaze na diskovima, ali na kom? I kako se
zovu?

48

Predrag Raki

Osnove administracije GNU/Linux sistema

Zbog toga je napravljen 'urpmi'. To je paket koji vodi evidenciju


o raspoloivim (ne instaliranim) paketima i njihovim lokacijama.
Paketi se mogu nalaziti na promenljivom medijumu (cd, flopi),
lokalnom disku ili ftp serveru. Kada od njega traite da instalira
neki paket, potrebno je da date samo ime (ili deo imena)
paketa.
# urpmi deo_imena

Ako postoji samo jedan paket (u urpmi bazi) koji u svom nazivu
sadri deo_imena, taj paket e biti instaliran. Ako postoji vie
paketa koji u svom nazivu imaju deo_imena, bie ispisana
imena svih tih paketa, ali nijedan nee biti instaliran.
Kada pone instalacija, urpmi e (koristei rpm) proitati koji
paketi su dotinom potrebni i ako svi ti potrebni paketi nisu ve
instalirani pitae korisnika da li se slae da i njih instalira. Ako
se ovaj sloi, urpmi e sve njih instalirati, ako se korisnik
nesloi nee instalirati nita. Ako je paket na promenljivom
medijumu, rei e koji je to medijum i u koji ureaj ga je
potrebno staviti.
Postoje grafika okruenja za dodavanje i uklanjanja paketa
koja koriste urpmi bazu. Za dodavanje 'rpmdrake', a za
uklanjanje 'rpmdrake-remove'. Do ovih programa se moe doi i
iz 'Mandrak kontrolnog centra (drakconf)', u grupi 'Software
management'.
Za dodavanje/uklanjanje grupa paketa u/iz urpmi bazu/baze
koristi se urpmi.addmedia/urpmi.removemedia. Grupa paketa
(to se urpmi tie) je lokacija direktorijuma u kojem se paketi
nalaze.
Vidi: rpm(8), urpmi(8)

Prevoenje programa iz izvornog koda


NAPOMENA:

Za potrebe administriranja programa iz izvornog koda napraviti


posebnog korisnika npr. inst! Sve operacije vezane za
raspakivanje i prevoenje raditi kao korisnik koji ima prava
potrebna da pie u odgovarajui direktorijum (obino /
usr/local/src), a ne kao root.
Za dobijanje spiska datoteka koje se nalaze u tar arhivi bez
raspakivanja koristi se:

$ tar tf nesto.tar

Izvorni kod najee dolazi u tar arhivama(.tar). Za


raspakivanje takve arhive koristi se:
$ tar xvf nesto.tar

49

Predrag Raki

Osnove administracije GNU/Linux sistema

Gde: x kae raspakuj, v budi reit (ispii na stdout datoteke


koje raspakuje) i f znai da je sledei argument ime arhive.
Arhive sa izvornim kodom najee pri raspakivanju naprave
poddirektorijum u tekuem direktorijumu oblika:
nesto-x.y.z/ , pa u njega raspakuju sve pripadajue datoteke.
Gde je nesto ime projekta, a x.y.z verzija.
Ako su arhive kompresovane (a skoro uvek jesu), mora se
ukljuiti program za dekompresiju. Ako se ime arhiva zavrava
sa: .tar.gz, .tar.z .tar.Z, tgz ili .taz znai da je kompresovana
nekim od metoda koje gzip ume da dekompresuje, pa se to radi
sa (dodaj z):
$ tar xzvf nesto.tgz
ili
^
$ zcat nesto.tgz | tar xvf ili
$ cat nesto.tgz | gunzip | tar xvf $ gunzip -c nesto.tgz | tar xvf -

ili

Ako se arhiva zavrava sa .tar.bz2 znai da je kompresovana


programom bzip2 i treba je raspakovati sa (dodaj: j):
$ tar xjvf nesto.tar.bz2
ili
^
$ zcat nesto.tar.bz2 | tar xvf ili
$ cat nesto.tar.bz2 | bunzip2 | tar xvf $ gunzip -c nesto.tar.bz2 | tar xvf -

ili

Vidi: tar(1) gzip(1) bzip2(1).


Kada se arhiva raspakuje potrebno je ui u novostvoreni
direktorijum i tamo potraiti datoteke README* ili INSTALL* .
Tu su objanjeni poetni koraci za 'pravljenje' programa. Novije
arhive dolaze sa konfiguracionim skriptom koji se obino zove
'configure' i prima parametar --help. Pa tako:
$ ./configure --help

daje spisak svih parametara koje configure prihvata. Ovaj skript


proverava prisustvo i lokaciju svih komponenti potrebnih za
prevoenje. Rezultat rada skripta je datoteka 'Makefile',
"ukrojena" prema potrebama korisnika i konfiguraciji sistema.
Pozivanje skripta configure bez parametara obino daje
razumnu podrazumevanu konfiguraciju.
Sledei korak je pozivanje programa make:
$ make

koji e na osnovu sadraja datoteke Makefile prevesti program.


Ovaj korak ume da potraje. Posle toga potrebno je prebaciti
izvrne datoteke, biblioteke, konfiguracione datoteke na
odgovarajua mesta. To se radi:

50

Predrag Raki

$ su
# make install
$ logout

Osnove administracije GNU/Linux sistema

Jo jednom: prethodne operacije raditi kao obian korisnik, a


NE kao root! Kao root radi se samo make install i to ako je
neophodno. Obiaj je, a i FHS (File system Hierarchy Standard)
preporuka, da se programi koji nisu deo distribuciju instaliraju
u /usr/local/ podhierarhiju. Dobra praksa je za svaki program
napraviti poddirektorijum u /usr/local/src/ i u njemu upisati
osnovne podatke o programu: naziv i verzija, datum i nain
nabavke, kratak opis funkcionalnosti, od koga ili po ijoj
preporuci je dobijen/kupljen. U taj poddirektorijum raspakovati
arhivu i prevesti program. Ako je kasnije potrebno (zbog
prostora) moe se izvorni kod izbrisati, ali ostaju podaci
potrebni za administriranje (nabavljanje patch-eva, novih
verzija,...).

Neto nije u redu.


Ako postoji konfiguracioni skript configure mala je verovatnoa
da e se desiti neka neobjanjena greka. Najei izvori
problema su: nepostojanje razvojnog sistema (gcc i prijatelji) ili
neke od potrebnih biblioteka.

Primer: mplayer - program za putanje filmova


Za rad mplayer programa potrebno je:
- MPlayer
- bitmapirani fontovi
- codec
- skin

da bi mplayer radio u GUI okruenju

Promeniti identitet u korisnika install


$ su install

Prekopirati .tar arhive u /usr/local/src

$ cp xxx /usr/local/src

Prei u direktorijum /usr/local/src

$ cd /usr/local/src

Instalirati divx codec

$ tar xzvf divx4linux<TAB>


$ cd divx4linux<TAB>

(Proitati README)

$ su
$ ./install.sh

51

Predrag Raki

$ exit
$ cd ..

Osnove administracije GNU/Linux sistema

Instalirati mplayer

$ tar xjvf MPlayer<TAB>


$ cd MPlayer

(Proitati README)
$ ./configure --enable-gui
$ make
$ su
$ make install
$ exit
$ cd ..
Instalirati fontove
$ tar xjvf font<TAB>
$ su
$ mv font /usr/local/share/mplayer/
$ exit

Instalirati skin-ove
$
$
$
$
$
$

tar xjvf Skin<TAB>


su
mv Skin /usr/local/share/mplayer/
exit
exit
gmplayer

Klik desnim tasterom na novootvoreni prozor...

Pravljenje tar arhive


Tar arhiva se pravi naredbom:
$ tar cvf ime_tar_fdatoteke.tar datoteka1 [datoteka2 ...]

Ako je datoteka koju treba smestiti u tar arhivu direktorijum,


podrazumevaju se i svi poddirektorijumi i datoteke u njemu.
Jednostavniji nain je koristiti neki interaktivni alat npr.
konqueror ili 'mc'.
Vidi: tar(1)

52

Predrag Raki

Osnove administracije GNU/Linux sistema

Sistem prava nad datotekama - nastavak


Cilj:

Razumevanje naprednih
mogunosti sistema
prava nad datotekama.
Naredbe:

chmod, umask

$ ls -l
drwxr-xr-x

Videli smo da se prava nad datotekama predstavljaju pomou


10 karaktera.
Prvo slovo predstavlja tip datoteke, ostala su prava pristupa
datoteci odreenih kategorija korisnika. Prava mogu biti 'r' za
itanje, 'w 'za pisanje i 'x' za izvravanje ili pristup direktorijumu.
O ovome smo ve govorili. Ali to nije sve.
Pored toga, na mestu gde inae stoji 'x' mogu se pojaviti jo 's',
'S', 't' i 'T'. U poljima koja opisuju prava vlasnika i prava grupe
mogu se pojaviti 's' ili 'S'. U polju koje opisuje prava 'ostalih'
mogu se pojaviti 't' ili 'T'.

2 pec

pec

4.0K okt

9 21:10 dunav-c.3/

Ako je u pitanju datoteka:


Ako se 's' pojavi u grupi prava za korisnika znai da je
postavljen 'setuid' bit. Ovakva datoteka se uvek izvrava sa
pravima koja poseduje njen vlasnik, bez obzira ko ju je
pokrenuo. Ako je vlasnik root, to je nain da se obinim
korisnicima dozvoli da izvravanjem ove datoteke obave akciju
za ije izvrenje su potrebna administratorska prava (npr. /
usr/bin/passwd).
Ako se 's' pojavi u grupi prava za grupu znai da je postavljen
'setgid' bit. Ovakva datoteka se uvek izvrava sa pravima koja
poseduje njena grupa, bez obzira kojim grupama pripada onaj
ko je pokrenuo program.
Na mestu x za 'ostale' moe da se nae 't'. U Linux kernelu se
ne koristi.
Ako je u pitanju direktorijum:
Ako se 's' pojavi u grupi prava za korisnika - nema nikakvog
efekta.
Ako se 's' pojavi u grupi prava za grupu znai da e sve
datoteke napravljene u tom direktorijumu pripadati grupi kojoj
pripada direktorijum, bez obzira ko ih je napravio.
Ako se u grupi prava za 'ostale' nae 't' (restricted deletion flag)
znai da datoteke u tom direktorijumu mogu da briu samo
njihovi vlasnici ili vlasnik direktorijuma.
Razlika izmeu velikih i malih slova ('s' i 'S' odnosno 't' i 'T') je u
tome to ako je slovo malo, znai da na odgovarajuem mestu

53

Predrag Raki

Osnove administracije GNU/Linux sistema

stoji i 'x'. Ako je slovo veliko znai da nema 'x'.

Slika: Oznake prava nad datotekama

Numerike oznake
Prava koja jedna datoteka ima su oznaena sa 12 bita,
raspodeljena u 4 grupe:

Slika: Numerike oznake prava nad datotekama

umask
Naredba komandnog okruenja (bash). Kae okruenju, kada
pravi novu datoteku ili direktorijum, s kojim pravima da ih
napravi.
$ umask
0022
$ umask -S
u=rwx,g=rx,o=rx
$ touch f
$ mkdir d
$ umask 0002
$ umask -S
$ touch ff
$ mkdir dd

54

Predrag Raki

Osnove administracije GNU/Linux sistema

ssh (Secure SHell)


Cilj:

Prijavljivanje i
izvravanje naredbi na
udaljenim raunarima.
Kopiranje datoteke
izmeu lokalnog i
udaljenih raunara.
Naredbe:
ssh, scp

Kako trenutno stvari stoje izgleda da je zaista bezbedan.


Openssh je projekat koji moe da zameni tradicionalne i
(tradicionalno) nebezbedne programe: telnet, rsh, rlogin, rcp i
ftp. Takoe prua i neke nove mogunosti kao to je bezbedna
X konekcija.
Ovaj paket omoguava BEZBEDNU komunikaciju izmeu dva
neproverena host-a (untrusted hosts) preko nebezbednog
komunikacionog kanala (insecure network).
Neproveren host je raunar na mrei koji ne moe da dokae
svoj identitet - ne moe da sagovornika nedvosmisleno ubedi
da je on ba onaj (host) za koga se izdaje, a ne neki zlonamerni
imitator. Nebezbedan komunikacioni kanal je kanal koji neko
moe da prislukuje (da neovlaeno doe u posed
razmenjivanih podataka) ili jo gore da se neovlaeno ukljui u
komunikaciju i da se predstavi kao jedan od ovlaenih
uesnika (man in the middle).
Bezbedna komunikacija je ona u kojoj su oba uesnika sigurna
da komuniciraju ba sa onim sa kim su eleli da uspostave
komunikaciju (ne sa imitatorom) i iji sadraj nee doi do
treeg (neovlaenog) lica.
Ovaj paket se sastoji od sshd demona (servisa) koji se izvrva
na raunaru na koji je mogue konektovati se ovim protokolom
i ssh klijentskog programa, koji pokree korisnik koji eli uslugu
koju nudi neki od prethodno nabrojanih servisa.
Ekvivalent telnet-a tj udaljeni shell se dobija kada se samo
navede ime hosta:

$ ssh m00.smart.edu.yu

prijavljuje korisnika na host m00.smart.edu.yu pod istim


korisnikim imenom pod kojim je prijavljen lokalno. Ako eli
neko drugo ime:
$ ssh korisniccko_ime@m00.smart.edu.yu

Za izvravanje naredbe na udaljenom raunaru:


$ ssh korisniccko_ime@m00.smart.edu.yu naredba

Za prenos datoteka sa udaljenog raunara na lokalni:


$ scp korisniccko_ime@m00.smart.edu.yu:udaljene_datoteke lokalne_datoteke

Za prenos datoteke sa lokalnog na udaljeni raunar:


$ scp lokalne_datoteke korisniccko_ime@m00.smart.edu.yu:udaljene_datoteke

Vidi: ssh(1), sshd(8), ssh-keygen(1)

55

Predrag Raki

Osnove administracije GNU/Linux sistema

Samba
Cilj:

Integrisati GNU/Linux
server sa Win klijentima
Naredbe:

Samba Unix server


SAMBA paket je grupa programa koji implementiraju SMB
protokol za Unix sisteme. Ovaj protokol ima jo nekoliko imena:
CIFS ili NetBIOS.
Ova grupa programa se koristi da bi iz Windows-a moglo da se
pristupi delovima GNU/Linux FS i GNU/Linux tampaima, kao i
da se iz GNU/Linux-a pristupi Win share-ovima i deljenim Win
tampaima.
Ovoj grupi programa pripadaju 2 demona: smbd i nmbd, koji se
startuju skriptom: /etc/rc.d/init.d/smb .
Konfiguracione datoteke za SAMB-u se nalaze u
direktorijumu: /etc/samba/ .
Datoteka /etc/samba/smb.conf je glavna konfiguraciona
datoteka. Ona se sastoji iz vie sekcija. Svaki od njih poinje
redom sa uglastim zagradama [xxx]. Deo (section) global se
odnosi na reim u kojem e server raditi i na sve ostale delove.
Server moe da radi u jednom od 4 bezbednosna (security)
reima:
share
user
server
domain

U share reimu, kada korisnik pristupa share-u, za svaki share


se pojedinano identifikuje i autorizuje.
U user reimu identifikacija i autorizacija se odvijaju na nivou
servera, korisnik se identifikuje serveru i tek zatim mu budu
prikazani share-ovi koje je ima pravo da vidi.
Server reim je isti kao user samo to se autentifikacija odvija
na drugom password serveru.
U domain reimu, server je PDC (primary domain controller).
Svakom share-u na GNU/Linux-u pristupa se u kontekstu (sa
pravima) nekog registrovanog GNU/Linux korisnika! ak i kad
je share-u dozvoljen pristup neautorizovanog korisnika (guest
access), korisnik (koje god ime u Win sistemu on imao) share-u
pristupa kao registrovani GNU/Linux korisnik: nobody .

56

Predrag Raki

Osnove administracije GNU/Linux sistema

Da bi korisnik mogao da pristupi samba share-u pored toga to


mora da ima GNU/Linux nalog, potrebno je da ima i samba
nalog (da bude registrovani samba korisnik). Spisak SAMBA
korisnika se nalazi u datoteci /etc/samba/smbpasswd . Ovim
podacima se moe upravljati iz komandne linije programom /
usr/bin/smbpasswd ili grafikim alatom webmin.

Samba Unix klijent


Grupa programa koji omoguavaju povezivanje Unix raunara
na Win share
$ findsmb

daje spisak svih raunara koji odgovaraju na smb upite u mrei


u kojoj je i lokalni raunar, ili
$ findsmb broadcast_addr

gde je broadcast_addr broadcast adresa mree za koju elimo


spisak smb servera.
ta je broadcast adress?
Direktno povezivanje na Win share - slino ftp-u:
$ smbclient //server/linux

povei se na SMB server po imenu 'server' na kojem postoji


share 'linuix'.
Ako se SMB server ne nalazi u lokalnoj mrei, broadcast do
njega ne dopire i zato se na njega ovako nije mogue
konektovati. Onda se koristi:
$ smbclient //server/linux -I a.b.c.d

gde je a.b.c.d IP adresa hosta.


$ smbclient -L server

daje spisak svih postojeih share-ova na serveru 'server'.


Preciznije, svih share-ova koji su vidljivi tom SMB korisniku. Po
default-u Unix korisniko ime se koristi kao SMB korisniko
ime. Ako je potrebno neko drugo ime:
$ smbclient //server/linux -U pera

povei se kao pera.


Ovom naredbom je mogue poslati WinPopup mesage:
$ smbclient -M server

Poruku je mogue poslati i Unix maini, ali je u /


etc/samba/smb.conf datoteci potrebno dodati red:
message command = xmessage -display :0 %s

57

Predrag Raki

Osnove administracije GNU/Linux sistema

Mogue je SMB share montirati u Unix FS hierarhiju naredbom


smbmount (za ov je neophodno biti root ili imati odgovarajuu
konfiguraciju u /etc/fstab)
# smbmount //server/linux /mnt/server-linux

Na direktorijum /mnt/server-linux je 'nadovezan' SMB share i


mogue mu je normalno pristupati kao bilo kom drugom delu
FS-a. Po defaul-tu, ovaj direktorijum i sve datoteke i
poddirektorijumu u njemu su vlasnitvo korisnika root sa
pravima 0755.
# smbmount //server/linux /home/user/server-linux -o
uid=user,gid=user,ro,fmask=0700,dmask=0750

direktorijum /mnt/server-linux i sve datoteke i poddirektorijumi u


njemu e biti vlasnitvo korisnika user i grupe user. Share e
biti mount-ovan samo za itanje (readonly). Datoteke e imati
prava 0700 (-rwx------) - korisnik e moi da ih ita i pie, a ostali
nita. Direktorijumi e imati prava 0750 (drwxr-x---) - korisnik
moe ui u direktorijum i praviti datoteke u njemu, pripadnici
grupe mogu samo ui u direktorijum (i itati datoteke nad
kojima imaju pravo itanja). Ostali ne mogu ni ui u direktorijum
/mnt/server-linux.
Da bi obian korisnik mogao da montira FS potrebno da je u
datoteci /etc/fstab postoji red koji govori o tom FS i da se meu
parametrima nae parametar user.
Parametri mogu biti isti oni koji se u komandnoj liniji koriste iza
-o prekidaa.
Zapis u /etc/fstab datoteci koji bi dozvolio obinom korisniku da
mount-uje (i umount-uje) //server/linux share sa istim pravima
kao u prethodnom primeru bi glasio:
//server/linux /home/user/server-linux smbfs
user,noauto,uid=user,gid=user,ro,fmask=0700,dmask=0750 0 0

Grafiki alat
Postoje grafiki alati za administraciju samba servera:
webmin

Za administraciju klijentske strane (montiranje samba FS) se


koriste:
drakconf
Linux Neighborhood

58

Predrag Raki

Osnove administracije GNU/Linux sistema

VNC (Virtual Network Computing)


Cilj:

VNC sistem moe biti koristan u raznim situacijama npr. kada


je potrebno pokazati udaljenom korisniku kako se neto radi.
Ne samo uraditi neto (to se moe 'webmin'-om), ve nekom,
fiziki udaljenom, pokazati kako da to sledei put uradi sam.

Naredbe:

Takoe, ovaj sistem moe dobro da poslui kada se tim sastoji


od geografski udaljenih pojedinaca ili grupa, a potrebno je
odrati sastanak i definisati detalje posla.

Pruanje pomoi
udaljenom korisniku.

vncviewer, vncserver

VNC server moe da pokrene obian korisnik (ne mora root),


naredbom vncserver :broj_desktopa:
$ vncserver :1
You will require a password to access your desktops.
Password:
Verify:
New 'X' desktop is localhost:1
Starting applications specified in ~/.vnc/xstartup
Log file is ~/.vnc/localhost:1.log

Sistem vas obavetava da je napravljen novi desktop na


lokalnom sistemu i da je njegov broj 1. Takoe kae da e na
novom desktopu biti startovana aplikacija navedena u datoteci
~/.vnc/xstartup .
Lozinka koju ste uneli je sauvana u datoteci ~/.vnc/passwd,
tako da sledei put kad startujete vncserver neete biti pitani za
lozinku, ve e biti koriena ta koju ste sad uneli.
Ako elite da vncserver bude pokrenut sa drugom pristupnom
lozinkom, pre pokretanja vncservera obriite datoteku ~/.vnc/
passwd
Server se zaustavlja naredbom:
$ vncserver -kill :1

Bilo koji korisnik, prijavljen na lokalnom ili nekom od udaljenih


raunara, moe da se povee na va vncserver ako zna
lozinku:
$ vncviewer :1
VNC server supports protocol version 3.3 (viewer 3.3)
Password:
VNC authentication succeeded
Desktop name "pec's X desktop (localhost:1)"

Ko god se povee na vncserver, dobija identitet onog ko je


vncserver pokrenuo.
Svi korisnici koji se poveu na isti vncserver vide isti desktop i
istovremeno upravljaju istim pokazivaem mia.

59

Predrag Raki

Osnove administracije GNU/Linux sistema

Dokumentacija
Cilj:

Dobijanje pomoi od
sistema. Korienje
dokumentacije.
Naredbe:
man, info

'man' (manual) strane


Na GNU/Linux sistemu postoji nekoliko sistema
dokumentovanja. Hronoloki prvi je 'man'. Za dobijanje
informacija kucate npr:
$ man ls

Informacije u okviru man arhive su rasporeene po stranicama.


Stranice su organizovane u kategorije (sections). Kategorije su
oznaene brojevima od 1 do 9. Znaenja oznaka su:
1. Komande
2. Sistemski pozivi
3. Biblioteki pozivi
4. Specijalne datoteke (datoteke iz /dev/ direktorijuma)
5. Formati datoteka i konvencije (formati ljudima itljivih
datoteka)
6. Igre
7. Makro paketi i konvencije (Opisi mrenih protokola, ASCII i
drugih znakovnih kodova,...)
8. Komande za upravljanje sistemom (veinu njih samo root
moe da izvri)
9. Ne koristi se vie.
Ako postoji stranica pod istim imenom u vie kategorija, npr
passwd(1) i passwd(5), kad god otkucate:

$ man passwd

Dobiete stranicu iz kategorije 1, tj. passwd(1). Da bi dobili


passwd(5), treba kucati:
$ man 5 passwd

Da bi lake pretraivali postojee man strane mogue je


napraviti 'whatis' bazu, naredbom:
# makewhatis

Ova baza sadri imena i kratak opis man stranica. Sada je


mogue traiti sve man strane vezane za naredbu passwd:
$ whatis passwd

Isto tako je mogue traiti sve strane koje u imenu strane ili
negde u kratkom opisu sadre niz karaktera 'passwd':
$ apropos passwd

60

Predrag Raki

Osnove administracije GNU/Linux sistema

Drugi nain da se utvrdi koje su sve man strane, vezane za


neki paket, na raspolaganju, je da se 'zaviri' u sadraj paketa.
Prvo saznate puno ime paketa:
# rpm -qa|grep vnc
tightvnc-1.2.5-2mdk
tightvnc-server-1.2.5-2md

Zatim pregledate njegov sadraj:


# rpm -ql tightvnc-server |grep man
/usr/X11R6/man/man1/Xvnc.1.bz2
/usr/X11R6/man/man1/vncconnect.1.bz2
/usr/X11R6/man/man1/vncpasswd.1.bz2
/usr/X11R6/man/man1/vncserver.1.bz2

Datoteke koje se nalaze u man direktorijumu su man strane.


Uz ovaj paket dolaze 4 man strane i zovu se: 'Xvnc',
'vncconnect', 'vncpasswd' i 'vncserver'. Npr:
$ man Xvnc

'info'
Postoji jo jedan potpuno nezavisan dokumentacioni sistem
'info'. Razvijen u okviru GNU projekta, zamiljen kao sledea
generacija dokumentacionog sistema (u odnosu na man), jer,
na primer, dozvoljava postojanje veza izmeu dokumenata.
Svi dokumenti u okviru info sistema su meusobno povezani i
zato ne postoji potreba za alatima tipa apropos i whatis.
$ info

Ova naredba vas postavlja u koreni direktorijum info sistema i


odatle prostom navigacijom i pretraivanjem moete da
pronaete potrebne podatke.
Uputstva za navigaciju se nalaze u prvih nekoliko redova
poetne strane.

61

Predrag Raki

Osnove administracije GNU/Linux sistema

Literatura
man pages, lokalna dokumentacija
info pages, lokalna dokumentacija
HOWTO documents, http://www.tldp.org/
LDP guides, http://www.tldp.org/
FHS-2.2, http://www.pathname.com/fhs/
Technical FAQ for Linux users,
http://www.programmersheaven.com/search/LinkDetail.asp?Typ=2&ID=6348
Bash by example, http://www-106.ibm.com/developerworks/library/l-bash1.html
Configuring TCP/IP under Linux, http://www-106.ibm.com/developerworks/edu/l-dwlinuxtcpip-i.html

62

Predrag Raki

Osnove administracije GNU/Linux sistema

Prilog 1: Slobodni programi - ta je to i zato?


O razlozima za izbor slobodnih programa
Ljudi esto smatraju kako je niska cena (esto besplatno) jedini
razlog za izbor slobodnih programa. Niska cena je svakako
nezanemarljiv razlog, ali pravi razlozi su u uslovima distribucije.
Korisnik moe da proveri da li program radi ono to pie u
dokumentaciji i samo ono to tamo pie, jer ima na
raspolaganju izvorni kod.
Slobodni programi ukidaju monopolistiki poloaj onoga ko ima
novac. Nisu potrebni milioni dolara i hiljade programer asova,
da bi se napravilo neto korisno. Programi ve postoje.
Potrebno ih je samo upotrebiti ili malo modifikovati. U takvim
uslovima, prednost imaju kvalitetne ideje.
Slobodni programi su programi objavljeni pod odreenim
uslovima distribucije. Veliki deo slobodnih programa je razvijen
kao deo GNU projekta i objavljeni pod GPL (General Public
License), to znai:
Da je dozvoljeno njihovo besplatno korienje i u

komercijalne svrhe.

Da je njihov izvorni kod dostupan i da se do njega moe

lako doi putem Interneta.

Da su dobro dokumentovani iz razliitih izvora, da je

dokumentacija takoe besplatna i da se do nje moe lako


doi (putem Interneta).

Da su programi prihvaeni od strane velikog broja visoko

strunih korisnika, to znai da su intenzivno testirani i da


se od njih sa visokom verovatnoom moe oekivati
pouzdan rad.

O autoru GNU projekta


Osniva GNU projekta je Riard Stolman (Richard Stallman).
GNU projekat je pokrenut 1984. godine s namerom da se
razvije slobodan operativni sistem i korisnicima raunara vrati
sloboda koju je vremenom veina izgubila.
Naziv projekta GNU je verovatno prvi rekurzivni akronim:
"GNU's Not UNIX" (GNU nije UNIX). U svom GNU manifestu
Stolman je GNU opisao kao: "kompletan Unix-kompatibilni
sistem koji piem da bih mogao da ga dam slobodno svima

63

Predrag Raki

Osnove administracije GNU/Linux sistema

kojima moe koristiti... Kada GNU bude napisan, svima e biti


slobodno dostupan dobar operativni sistem, ba kao vazduh."
Stolman je diplomirao na Harvardu 1974. godine. Radio je u
laboratoriji za vetaku inteligenciju na MIT-u (Massachusetts
Institute of Technology), gde se bavio razvojem opercionih
sistema do 1984. kada je napustio MIT i posvetio se GNU
projektu. On je principijelni autor GNU C kompajlera, autor
GNU debugger-a (gdb) i GNU Emacs-a i drugih GNU programa.

Slika: Richard Stallman voli raunare, muziku i leptire


Za GNU projekat je vezana institucija "Free Software
Foundation" (FSF), osnovana 1985. godine u svrhu
promovisanja prava korisnika da koriste, prouavaju, kopiraju,
menjaju i redistribuiraju kompjuterske programe. FSF
promovie razvoj i korienje slobodnih programa - posebno
GNU operativnih sistema (danas u irokoj upotrebi u
GNU/Linux varijanti) - i slobodne dokumentacije. FSF takoe
pomae u irenju svesti o etikom i politikom znaaju slobode
u upotrebi programa.
FSF je koncentrisana na razvoju novih slobodnih programa i
ukljuivanju tih programa u celovit sistem, pojavom kojeg e

64

Predrag Raki

Osnove administracije GNU/Linux sistema

prestati potreba za upotrebom (i postojanjem) ne-slobodnih


sistema esto sumnjivog kvaliteta.
Pored rada na razvoju slobodnih programa, FSF titi, uva i
promovie slobodne programe. FSF distribuira kopije GNU
programa i uputstava.

O "slobodnim programima"
U sintagmi "slobodan program" (free software) postoji problem
oko znaenja rei "slobodan", a posebno je izraen na
engleskom jeziku jer "free" na engleskom znai slobodno ali
znai i besplatno, a ovo drugo (i pogreno) tumaenje ljudima
esto prvo padne na pamet.
Definicija slobodnog programa postoji da bi bilo jasno koje
uslove program mora da ispunjava da bi se mogao smatrati
slobodnim programom.
Slobodan program je stvar slobode u pravom smislu te rei, a
ne cene. Da bi se ispravno shvatio koncept, o slobodi treba
razmiljati kao o slobodi govora, a ne o oslobaanju od
plaanja (think of 'free' as in 'free speech' not as in 'free beer').
Slobodan program je onaj koji korisniku programa daje pravo
da izvrava, kopira, distribuira, prouava, menja i unapreuje
program. Tanije govori se o etiri vrste prava za korisnika
programa:
Pravo da izvrava program u bilo koje svrhe (pravo 0).
Pravo da prouava kako program radi i da ga prilagoava

svojim potrebama (pravo 1). Pristup izvornom kodu


programa je preduslov za ovo.

Pravo da redistribuira kopije programa da bi pomogao

blinjemu svom (pravo 2).

Pravo da unapreuje program i objavljuje svoje ispravke,

tako da cela zajednica ima koristi od njih (pravo 3). Pristup


izvornom kodu programa je preduslov za ovo.

Program je slobodan ako korisnici imaju sva ova prava.


Pravo da koristi program znai slobodu da bilo koji pojedinac ili
organizacija, na bilo kojoj vrsti raunarskog sistema, za bilo
koju vrstu posla koriste program bez obaveze da o tome
obaveste proizvoaa ili bilo koga drugog (da registruju
program).
Korisnik takoe treba da ima pravo da pravi izmene u programu
i koristi ih privatno u svom radu ili igri, bez pominjanja da one

65

Predrag Raki

Osnove administracije GNU/Linux sistema

uopte postoje. Ako korisnik odlui da objavi svoje izmene, ne


bi trebao da bude obavezan da obavesti nikoga posebno i ni na
koji poseban nain.
Znai korisnik bi trebao da bude slobodan da redistribuira
kopije programa sa ili bez izmena, besplatno ili uz novanu
nadoknadu za dostavljanje programa, bilo gde i bilo kome. Ovo
pravo znai (izmeu ostalog) da korisnik ne mora da pita, niti
da plati za dozvolu.
Pravo da se redistribuiraju kopije mora obuhvatati binarne ili
izvrne oblike programa, kao i izvorni kod, modifikovanih i ne
modifikovanih verzija. U redu je ako ne postoji nain da se
proizvede binarni ili izvrni oblik, ali ljudi moraju imati pravo da
redistribuiraju i ove oblike ako nau nain da ih naprave.
Da bi korisnikovo pravo da pravi izmene i da ih objavljuje imalo
smisla, neophodan je pristup izvornom kodu programa. Zato je
dostupnost izvornog koda neophodan preduslov da bi se
program mogao smatrati slobodnim.
Da bi program bio zaista slobodan, ova prava ne mogu biti
oduzeta korisniku bez ikakvog razloga. Ako proizvoa ima
pravo da korisniku oduzme bilo koje od ovih prava bez
ikakavog razloga, program nije slobodan.
Sa druge strane, neka pravila o nainu distribuiranja slobodnih
programa su prihvatljiva, kada nisu u suprotnosti sa osnovnim
pravima. Na primer, "copyleft" (vrlo pojednostavljeno) je pravilo
da korisnik kad redistribuira program ne moe dodati
ogranienja koja drugima uskrauju osnovna prava. Ovo pravilo
nije u suprotnosti sa osnovnim pravima, ve ih titi.
Bez obzira na koji nain je korisnik doao do GNU programa,
da li ga je platio ili ga je dobio besplatno, on uvek ima pravo da
menja i dalje kopira program, ak i da prodaje kopije.
"Slobodan program" ne znai "ne komercijalan". Slobodan
program mora biti slobodan za komercijalnu upotrebu.
Komercijalan razvoj slobodnih programa vie nije neuobiajen.
Takvi programi su "komercijalni slobodni programi".
Pravila o tome kako upakovati modifikovanu verziju programa
su prihvatljiva ako u stvari ne onemoguavaju pravo
objavljivanja modifikovane verzije. Pravila da "ako objavi
program na ovaj nain, mora ga objaviti i na onaj" su takoe
prihvatljiva, pod istim uslovima.
Kao to je ve reeno znaenje termina "slobodan program"
(free software) moe biti tumaeno na vie naina, a ono

66

Predrag Raki

Osnove administracije GNU/Linux sistema

pogreno znaenje "besplatan program" odgovara (engleskom)


nazivu isto tako dobro kao i pravo znaenje "program koji
korisniku garantuje odreene slobode".
Ovaj problem nije tako izraen u srpskom jeziku jer se termin
"slobodan" na srpskom retko koristi u smislu "bez novane
nadoknade" jer postoji drugi termin "besplatan" koji
nedvosmisleno opisuje to znaenje. Na engleskom jeziku je
dvosmislenost znaenja rei "free" zaista izraena bez obzira
na to to postoji re "gratis" po znaenju ekvivalentna naoj rei
"besplatno". Re "free" se u engleskom esto koristi u smislu
"besplatno" i zbog toga sutina pokreta, koja se nagovetava u
njegovom nazivu, na engleskom govornom podruju moe lako
da bude pogreno protumaena. Poto je Engleski dominantan
jezik raunarske zajednice, ovaj problem zasluuje posebnu
panju.
Idealno reenje bi bilo pronai i koristiti nedvosmislenu re
umesto "free". Naalost, sve predloene zamene su imale
sline semantike probleme. Nije pronaena alternativa koja bi
bila tako dobra da bi vredelo promeniti naziv itavog pokreta.

O "programima otvorenog koda"


Neki ljudi iz zajednice slobodnih programa su 1998. godine
poeli, za opisivanje onog to rade, da koriste termin "programi
otvorenog koda" (open source software) ili "otvoreni kod".
Slobodni programi bi davali iste slobode i pod bilo kojim drugim
imenom, ali velika je razlika koje ime koristimo jer razliite rei
prenose razliite ideje. Termin "otvoreni kod" ubrzo je postao
povezan sa drugim pristupom, drugom filosofijom, drugim
vrednostima ak i sa drugim kriterijumima koje su licence
prihvatljive. Pokreti za slobodne programe i za otvoreni kod su
danas odvojeni pokreti iako meusobno sarauju na dosta
projekata.
Oigledno znaenje za programe otvorenog koda je da su to
progami iji je izvorni kod dostupan korisniku. Ovo oigledno
znaenje nije znaenje koje su zastupnici "otvorenog koda"
eleli da daju ovom pokretu. Zvanino znaenje otvorenog
koda je mnogo blie "slobodnom programu" (oni se u najveem
delu preklapaju).
Jo jedan, u stvari najvaniji razlog, za uvoenje termina
"otvoreni kod" je da naziv "slobodan program" ini da se ljudi
oseeju nelagodno. Teme kao to su sloboda, etika i

67

Predrag Raki

Osnove administracije GNU/Linux sistema

odgovornost ine da ljudi ponu da razmiljaju o stvarima koje


bi radije ignorisali. Ove teme esto izazivaju neprijatnost i neki
bi mogli da odbace ideju slobodnog programa samo zbog toga.
Mnoge pristalice slobodnih programa su uoile ovaj problem i
poele da trae nain da ga izbegnu. Shvatili su da ako ne
budu priali o slobodi i etici nego samo o neposrednim
praktinim prednostima slobodnih programa da e biti mnogo
atraktivniji odreenim kategorijama korisnika, naroito
poslovnim sistemima. Termin "otvoreni kod" je ponuen kao
nain da ideja slobode u programiranju bude prihvatljivija
poslovnom svetu.
Ovaj pristup se, na svoj nain, pokazao efikasnim. Sve vie
ljudi poinje da koristi slobodne programe (bez obzira na
licence pod kojima su ti programi objavljeni: slobodni program ili
otvoreni kod) iz isto praktinih razloga. Pre ili kasnije korisnici
e ponovo poeti da koriste ne-slobodne programe jer e
kompanije koje ih prozvode ponuditi neke druge prednosti. I tek
ovde se uoava sutinska razlika izmeu pristalica "slobodnog
programa" i pristalica "otvorenog koda". Pristalice "slobodnog
programa" i slobode u programiranju uopte, rade na
obrazovanju korisnika i irenju shvatanja pojma slobode i
potrebe za njom, tako da se korisnici ne vrate korienju ne
slobodnih programa zbog kratkorone materijalne koristi.

O kategorijama slobodnih i ne-slobodnih programa


Osnovna podela programa (u kontekstu slobode korisnika)
pravi se na osnovu uslova distribucije (distribution terms or
license) pod kojim je program objavljen. Postoje tri grupe:
slobodni programi
polu-slobodni programi
ne-slobodni programi

68

Predrag Raki

Osnove administracije GNU/Linux sistema

Slika: Meusobni odnos razliitih kategorija programa


Pod slobodne programe spadaju:
"slobodni programi" (free software). To su programi za koje

je svima dozvoljeno da ih koriste, kopiraju i distribuiraju u


originalu ili modifikovane, za novanu nadoknadu ili
besplatno. Mogunost modifikovanja podrazumeva
dostupnost izvornog koda. Ovo je pojednostavljena
definicija, za tanu definiciju vidi [1].

"programi otvorenog koda" (open source software). Termin

sa, po formalnoj definiciji, manje-vie istim znaenjem kao


"slobodan program" (vidi [1, 2]).

"public domain software". Ovo je pravni termin i ima

precizno pravno znaenje u SAD i verovatno nekim


zemljama Zapadne Evrope. Predstavlja program bez
kopirajt-a (not copyrighted). To je praktino program bez
vlasnika, s kojim svako moe da radi ta mu je volja, pa
ve u sledeoj verziji moe da se pojavi i kao ne-slobodan
program.

kopileft (copylefted software). Slobodni programi iji uslovi

distribucije ne dozvoljavaju redistributerima da dodaju


nikakva dodatna ogranienja kada redistribuiraju ili izmene
program. Ovo znai da svaka kopija programa, ak iako je
modifikovana, mora biti slobodna. Ako je program
slobodan, ali nema kopileft programerska kua moe da
prevede program sa ili bez modifikacija i distribuira izvrni
kod programa kao program u vlasnitvu (proprietary). Da bi
program imao kopileft neophodno je objaviti ga pod
preciznim uslovima distribucije. Postoji vie naina da se
napiu uslovi distribucije koji garantuju kopileft.

69

Predrag Raki

Osnove administracije GNU/Linux sistema


GPL (General Public License) program (GPL-ed software).

Program objavljen pod grupom precizno definisanih uslova


distribucije, koji programu obezbeuju kopileft. Veina
programa iz GNU projekta je objavljena pod ovom
licencom (grupa distribucionih uslova).

GNU program (GNU software or GNU program) - program

objavljen pod pokroviteljstvom GNU projekta. Veina GNU


programa je sa kopileft-om. Svi GNU programi su slobodni.
Deo GNU programa su napisali zaposleni Free Software
Foundation (FSF), ali veinu su napisali saradnici volonteri.

U kategoriju polu-slobodnih programa spadaju programi koji


nisu slobodni (u smislu "slobodan program"), ali je pojedincima
dozvoljeno da koriste, kopiraju, modifikuju i redistribuiraju
originalne i modifikovane verzije programa u neprofitabilne
svrhe. Ogranienja, u ovoj kategoriji programa, se odnose na
komercijalne organizacije i aktivnosti pojedinaca koje za cilj
imaju zaradu.
Pod ne-slobodne programe spadaju:
Programi u vlasnitvu (proprietary software). Upotreba,

redistribucija ili modifikacija ovih programa je ograniena ili


zabranjena ili zahteva da korisnik trai dozvolu od
vlasnika.

Freeware - nema jasnu, opte prihvaenu definiciju. esto

se upotrebljava za programske pakete koji dozvoljavaju


upotrebu i redistribuciju, ali ne dozvoljavaju modifikaciju
(izvorni kod najee nije dostupan).

Shareware. U ovu grupu spadaju programi koje je

dozvoljeno redistribuirati, ali svako ko nastavi da koristi


program nakon isteka odreenog vremenskog roka duan
je da plati "nadoknadu za korienje programa" (license
fee).

Ovde treba napomenuti jo jednu kategoriju: Komercijalni


programi (commercial software). Ova kategorija ni na koji nain
ne moe da se uvrsti u prethodnu podelu, a ovde je navedena
jer se esto mea sa "programima u vlasnitvu". "Komercijalni
programi" i "programi u vlasnitvu" nisu isto.
Termin "komercijalan" se odnosi na okruenje u kojem je
program proizveden, a ne na uslove distribucije pod kojim je
program objavljen. Tako da postoje komercijalni slobodni
programi - programi proizvedeni u poslovnom sistemu, ali po
uslovima distribucije objavljeni kao slobodni programi. Isto tako
postoje "komercijalni programi u vlasnitvu", to je mnogo ei

70

Predrag Raki

Osnove administracije GNU/Linux sistema

sluaj i to je verovatno uzrok estog poistoveivanja ove dve


kategorije programa.

O pouzdanosti slobodnih i ne-slobodnih programa


Barton P. Miler (Barton P. Miller) i njegove kolege su testirale
pouzdanost alata za Unix sisteme 1990. i 1995. godine. Oba
puta GNU alati su bili znaajno bolji. Testirano je sedam
komercijalnih Unix sistema i GNU. Osnovni alati, testirani
sluajnim ulaznim podacima su se "ruili (sa 'core dump'-om) ili
zaglavljivali (u beskonanoj petlji) u preko 40% sluajeva (u
najgorem sluaju)".
Ovo testiranje je pokazalo da alati komercijalnih Unix sistema
otkazuju u 15% do 43% sluajeva. GNU alati su otkazali u 7%
sluajeva.
Miler je rekao: "pouzdanost tri komercijalna sistema testirana
1990. i 1995. se oigledno popravila, ali i dalje imaju znaajan
procenat otkaza (osnovni alati GNU/Linux sistema su i dalje
oigledno bolji od tih komercijalnih sistema)".

71

Predrag Raki

Osnove administracije GNU/Linux sistema

Prilog 2: GNU Free Documentation License


Version 1.2, November 2002
Copyright (C) 2000,2001,2002 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.
0. PREAMBLE
The purpose of this License is to make a manual, textbook, or other functional
and useful document "free" in the sense of freedom: to assure everyone the effective
freedom to copy and redistribute it, with or without modifying it, either commercially or
noncommercially. Secondarily, this License preserves for the author and publisher a
way to get credit for their work, while not being considered responsible for modifications
made by others.
This License is a kind of "copyleft", which means that derivative works of the
document must themselves be free in the same sense. It complements the GNU
General Public License, which is a copyleft license designed for free software.
We have designed this License in order to use it for manuals for free software,
because free software needs free documentation: a free program should come with
manuals providing the same freedoms that the software does. But this License is not
limited to software manuals; it can be used for any textual work, regardless of subject
matter or whether it is published as a printed book. We recommend this License
principally for works whose purpose is instruction or reference.
1. APPLICABILITY AND DEFINITIONS
This License applies to any manual or other work, in any medium, that contains
a notice placed by the copyright holder saying it can be distributed under the terms of
this License. Such a notice grants a world-wide, royalty-free license, unlimited in
duration, to use that work under the conditions stated herein. The "Document", below,
refers to any such manual or work. Any member of the public is a licensee, and is
addressed as "you". You accept the license if you copy, modify or distribute the work in
a way requiring permission under copyright law.

72

Predrag Raki

Osnove administracije GNU/Linux sistema

A "Modified Version" of the Document means any work containing the Document
or a portion of it, either copied verbatim, or with modifications and/or translated into
another language.
A "Secondary Section" is a named appendix or a front-matter section of the
Document that deals exclusively with the relationship of the publishers or authors of the
Document to the Document's overall subject (or to related matters) and contains
nothing that could fall directly within that overall subject. (Thus, if the Document is in
part a textbook of mathematics, a Secondary Section may not explain any
mathematics.) The relationship could be a matter of historical connection with the
subject or with related matters, or of legal, commercial, philosophical, ethical or political
position regarding them.
The "Invariant Sections" are certain Secondary Sections whose titles are
designated, as being those of Invariant Sections, in the notice that says that the
Document is released under this License. If a section does not fit the above definition of
Secondary then it is not allowed to be designated as Invariant. The Document may
contain zero Invariant Sections. If the Document does not identify any Invariant
Sections then there are none.
The "Cover Texts" are certain short passages of text that are listed, as FrontCover Texts or Back-Cover Texts, in the notice that says that the Document is released
under this License. A Front-Cover Text may be at most 5 words, and a Back-Cover
Text may be at most 25 words.
A "Transparent" copy of the Document means a machine-readable copy,
represented in a format whose specification is available to the general public, that is
suitable for revising the document straightforwardly with generic text editors or (for
images composed of pixels) generic paint programs or (for drawings) some widely
available drawing editor, and that is suitable for input to text formatters or for automatic
translation to a variety of formats suitable for input to text formatters. A copy made in
an otherwise Transparent file format whose markup, or absence of markup, has been
arranged to thwart or discourage subsequent modification by readers is not
Transparent. An image format is not Transparent if used for any substantial amount of
text. A copy that is not "Transparent" is called "Opaque".
Examples of suitable formats for Transparent copies include plain ASCII without
markup, Texinfo input format, LaTeX input format, SGML or XML using a publicly
available DTD, and standard-conforming simple HTML, PostScript or PDF designed for
human modification. Examples of transparent image formats include PNG, XCF and
JPG. Opaque formats include proprietary formats that can be read and edited only by
proprietary word processors, SGML or XML for which the DTD and/or processing tools
are not generally available, and the machine-generated HTML, PostScript or PDF
produced by some word processors for output purposes only.
The "Title Page" means, for a printed book, the title page itself, plus such
following pages as are needed to hold, legibly, the material this License requires to
appear in the title page. For works in formats which do not have any title page as such,

73

Predrag Raki

Osnove administracije GNU/Linux sistema

"Title Page" means the text near the most prominent appearance of the work's title,
preceding the beginning of the body of the text.
A section "Entitled XYZ" means a named subunit of the Document whose title
either is precisely XYZ or contains XYZ in parentheses following text that translates
XYZ in another language. (Here XYZ stands for a specific section name mentioned
below, such as "Acknowledgements", "Dedications", "Endorsements", or "History".) To
"Preserve the Title" of such a section when you modify the Document means that it
remains a section "Entitled XYZ" according to this definition.
The Document may include Warranty Disclaimers next to the notice which states
that this License applies to the Document. These Warranty Disclaimers are considered
to be included by reference in this License, but only as regards disclaiming warranties:
any other implication that these Warranty Disclaimers may have is void and has no
effect on the meaning of this License.
2. VERBATIM COPYING
You may copy and distribute the Document in any medium, either commercially
or noncommercially, provided that this License, the copyright notices, and the license
notice saying this License applies to the Document are reproduced in all copies, and
that you add no other conditions whatsoever to those of this License. You may not use
technical measures to obstruct or control the reading or further copying of the copies
you make or distribute. However, you may accept compensation in exchange for
copies. If you distribute a large enough number of copies you must also follow the
conditions in section 3.
You may also lend copies, under the same conditions stated above, and you
may publicly display copies.
3. COPYING IN QUANTITY
If you publish printed copies (or copies in media that commonly have printed
covers) of the Document, numbering more than 100, and the Document's license notice
requires Cover Texts, you must enclose the copies in covers that carry, clearly and
legibly, all these Cover Texts: Front-Cover Texts on the front cover, and Back-Cover
Texts on the back cover. Both covers must also clearly and legibly identify you as the
publisher of these copies. The front cover must present the full title with all words of the
title equally prominent and visible. You may add other material on the covers in
addition. Copying with changes limited to the covers, as long as they preserve the title
of the Document and satisfy these conditions, can be treated as verbatim copying in
other respects.

74

Predrag Raki

Osnove administracije GNU/Linux sistema

If the required texts for either cover are too voluminous to fit legibly, you should
put the first ones listed (as many as fit reasonably) on the actual cover, and continue
the rest onto adjacent pages.
If you publish or distribute Opaque copies of the Document numbering more
than 100, you must either include a machine-readable Transparent copy along with
each Opaque copy, or state in or with each Opaque copy a computer-network location
from which the general network-using public has access to download using publicstandard network protocols a complete Transparent copy of the Document, free of
added material. If you use the latter option, you must take reasonably prudent steps,
when you begin distribution of Opaque copies in quantity, to ensure that this
Transparent copy will remain thus accessible at the stated location until at least one
year after the last time you distribute an Opaque copy (directly or through your agents
or retailers) of that edition to the public.
It is requested, but not required, that you contact the authors of the Document
well before redistributing any large number of copies, to give them a chance to provide
you with an updated version of the Document.
4. MODIFICATIONS
You may copy and distribute a Modified Version of the Document under the
conditions of sections 2 and 3 above, provided that you release the Modified Version
under precisely this License, with the Modified Version filling the role of the Document,
thus licensing distribution and modification of the Modified Version to whoever
possesses a copy of it. In addition, you must do these things in the Modified Version:

A. Use in the Title Page (and on the covers, if any) a title distinct from that of
the Document, and from those of previous versions (which should, if there
were any, be listed in the History section of the Document). You may use the
same title as a previous version if the original publisher of that version gives
permission.

B. List on the Title Page, as authors, one or more persons or entities


responsible for authorship of the modifications in the Modified Version,
together with at least five of the principal authors of the Document (all of its
principal authors, if it has fewer than five), unless they release you from this
requirement.

C. State on the Title page the name of the publisher of the Modified Version,
as the publisher.

D. Preserve all the copyright notices of the Document.

E. Add an appropriate copyright notice for your modifications adjacent to the


other copyright notices.

75

Predrag Raki

Osnove administracije GNU/Linux sistema

F. Include, immediately after the copyright notices, a license notice giving the
public permission to use the Modified Version under the terms of this License,
in the form shown in the Addendum below.

G. Preserve in that license notice the full lists of Invariant Sections and
required Cover Texts given in the Document's license notice.

H. Include an unaltered copy of this License.

I. Preserve the section Entitled "History", Preserve its Title, and add to it an
item stating at least the title, year, new authors, and publisher of the Modified
Version as given on the Title Page. If there is no section Entitled "History" in
the Document, create one stating the title, year, authors, and publisher of the
Document as given on its Title Page, then add an item describing the Modified
Version as stated in the previous sentence.

J. Preserve the network location, if any, given in the Document for public
access to a Transparent copy of the Document, and likewise the network
locations given in the Document for previous versions it was based on. These
may be placed in the "History" section. You may omit a network location for a
work that was published at least four years before the Document itself, or if the
original publisher of the version it refers to gives permission.

K. For any section Entitled "Acknowledgements" or "Dedications", Preserve


the Title of the section, and preserve in the section all the substance and tone
of each of the contributor acknowledgements and/or dedications given therein.

L. Preserve all the Invariant Sections of the Document, unaltered in their text
and in their titles. Section numbers or the equivalent are not considered part of
the section titles.

M. Delete any section Entitled "Endorsements". Such a section may not be


included in the Modified Version.

N. Do not retitle any existing section to be Entitled "Endorsements" or to


conflict in title with any Invariant Section.

O. Preserve any Warranty Disclaimers.

If the Modified Version includes new front-matter sections or appendices that


qualify as Secondary Sections and contain no material copied from the Document, you
may at your option designate some or all of these sections as invariant. To do this, add
their titles to the list of Invariant Sections in the Modified Version's license notice. These
titles must be distinct from any other section titles.
You may add a section Entitled "Endorsements", provided it contains nothing but
endorsements of your Modified Version by various parties--for example, statements of
peer review or that the text has been approved by an organization as the authoritative
definition of a standard.
You may add a passage of up to five words as a Front-Cover Text, and a
passage of up to 25 words as a Back-Cover Text, to the end of the list of Cover Texts in

76

Predrag Raki

Osnove administracije GNU/Linux sistema

the Modified Version. Only one passage of Front-Cover Text and one of Back-Cover
Text may be added by (or through arrangements made by) any one entity. If the
Document already includes a cover text for the same cover, previously added by you or
by arrangement made by the same entity you are acting on behalf of, you may not add
another; but you may replace the old one, on explicit permission from the previous
publisher that added the old one.
The author(s) and publisher(s) of the Document do not by this License give
permission to use their names for publicity for or to assert or imply endorsement of any
Modified Version.
5. COMBINING DOCUMENTS
You may combine the Document with other documents released under this
License, under the terms defined in section 4 above for modified versions, provided that
you include in the combination all of the Invariant Sections of all of the original
documents, unmodified, and list them all as Invariant Sections of your combined work
in its license notice, and that you preserve all their Warranty Disclaimers.
The combined work need only contain one copy of this License, and multiple
identical Invariant Sections may be replaced with a single copy. If there are multiple
Invariant Sections with the same name but different contents, make the title of each
such section unique by adding at the end of it, in parentheses, the name of the original
author or publisher of that section if known, or else a unique number. Make the same
adjustment to the section titles in the list of Invariant Sections in the license notice of
the combined work.
In the combination, you must combine any sections Entitled "History" in the
various original documents, forming one section Entitled "History"; likewise combine
any sections Entitled "Acknowledgements", and any sections Entitled "Dedications".
You must delete all sections Entitled "Endorsements."
6. COLLECTIONS OF DOCUMENTS
You may make a collection consisting of the Document and other documents
released under this License, and replace the individual copies of this License in the
various documents with a single copy that is included in the collection, provided that
you follow the rules of this License for verbatim copying of each of the documents in all
other respects.
You may extract a single document from such a collection, and distribute it
individually under this License, provided you insert a copy of this License into the
extracted document, and follow this License in all other respects regarding verbatim
copying of that document.

77

Predrag Raki

Osnove administracije GNU/Linux sistema

7. AGGREGATION WITH INDEPENDENT WORKS


A compilation of the Document or its derivatives with other separate and
independent documents or works, in or on a volume of a storage or distribution
medium, is called an "aggregate" if the copyright resulting from the compilation is not
used to limit the legal rights of the compilation's users beyond what the individual works
permit. When the Document is included in an aggregate, this License does not apply to
the other works in the aggregate which are not themselves derivative works of the
Document.
If the Cover Text requirement of section 3 is applicable to these copies of the
Document, then if the Document is less than one half of the entire aggregate, the
Document's Cover Texts may be placed on covers that bracket the Document within the
aggregate, or the electronic equivalent of covers if the Document is in electronic form.
Otherwise they must appear on printed covers that bracket the whole aggregate.
8. TRANSLATION
Translation is considered a kind of modification, so you may distribute
translations of the Document under the terms of section 4. Replacing Invariant Sections
with translations requires special permission from their copyright holders, but you may
include translations of some or all Invariant Sections in addition to the original versions
of these Invariant Sections. You may include a translation of this License, and all the
license notices in the Document, and any Warranty Disclaimers, provided that you also
include the original English version of this License and the original versions of those
notices and disclaimers. In case of a disagreement between the translation and the
original version of this License or a notice or disclaimer, the original version will prevail.
If a section in the Document is Entitled "Acknowledgements", "Dedications", or
"History", the requirement (section 4) to Preserve its Title (section 1) will typically
require changing the actual title.
9. TERMINATION
You may not copy, modify, sublicense, or distribute the Document except as
expressly provided for under this License. Any other attempt to copy, modify,
sublicense or distribute the Document 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.

78

Predrag Raki

Osnove administracije GNU/Linux sistema

10. FUTURE REVISIONS OF THIS LICENSE


The Free Software Foundation may publish new, revised versions of the GNU
Free Documentation 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. See http://www.gnu.org/copyleft/.
Each version of the License is given a distinguishing version number. If the
Document specifies that a particular numbered version of this License "or any later
version" applies to it, you have the option of following the terms and conditions either of
that specified version or of any later version that has been published (not as a draft) by
the Free Software Foundation. If the Document does not specify a version number of
this License, you may choose any version ever published (not as a draft) by the Free
Software Foundation.

79

You might also like