collapse

* Korisnik

 
 
Dobrodošli, Gost. Molim vas prijavite se ili se registrujte. Da niste izgubili svoj aktivacioni mejl?

* Izdvajamo

* Statistika

  • stats Ukupno članova: 13.090
  • stats Ukupno poruka: 151.588
  • stats Ukupno tema: 10.311
  • stats Ukupno kategorija: 6
  • stats Ukupno foruma: 72
  • stats Najviše prisutnih korisnika: 1.211

Autor Tema: Kako da instaliram program na Linuxu? [vodic za pocetnike]  (Pročitano 12217 puta)

0 članova i 1 gost pregledaju ovu temu.

Van mreže sleep`walker

  • Nišlija
  • *****
  • Poruke: 520
  • Pol: Muškarac
  • omasuje edit boxove u koje kuca reci za pretragu.... Stizu me oni Jeleni od malo pre ;) Popravili su to pivo :)
    • Pogledaj profil
Pozdrav drustvance!
Probacu da napravim nekoliko howto dokumenata vezanih za GNU/Linux operativni sistem. Ovo je prvi u nizu. Istina, postao je znatno veci nego sto sam isprva mislio da bude. Cilj ovog pisanija je da Vam razjasni sta je sta, sta znaci instaliranje softvera i kako se to radi na Linuxu. Nemoguce je pokriti sve nacine instaliranja na ralicitim distribucijama. Mislim da je ovo ovde sasvim dovoljno svim korisnicima Debiana, Ubuntua i drugim distribucijama baziranim na ovim. Ja imam najvise iskustva sa ovim distribucijama i zbog toga je tako ispalo. Svejedno, i korisnici drugih distribucija mogu da nadju lepe stvari.
Shvatite da je tekst namenjen apsolutnim pocetnicima. Ostali korisnici nece mnogo nauciti odavde ;)
Sto se tice treminologije, termine sam koristio "ofrlje" ceso proizvoljno. Nemojte opise termina odavde shvatiti kao naucne definicije istih ;) Terminologija vezana za ovu oblast je josuvek na nezavidnom nivou kod nas. Koriste se i engleske i srpske reci, a termini nisu dovoljno uskladjeni. Ipak, nadam se da ce tekst biti razumljiv.
Shvatite da sam ovo pisao nekoliko dana u tekst-editoru i da nisam bas proveravao sta sam napisao :) Vrlo je verovatno da se potkralo nesto gresaka. Oprostite mi, ali ja u svakoj drugoj reci permutujem ili "pojedem" neko slovo pri kucanju.




Predpostavljam da je svako od Vas koristio nekakav operativni sistem i na njega instalirao razno-razne programe. Svrha ovog tutorijala je da apsolutnim pocetnicima koji pokusavaju da instaliraju nesto softvera na svoj GNU/Linux operatvini sistem pojasnim kako se to radi i sta konretno trba da urade da bi ispravno instalirali softver.


1. Kako izgleda jedan program? Gde se cuvaju datoteke programa?

Jedna aplikacija se obicno sastoji iz vise fajlova. Ne ulazeci dublje u problematiku izvrsavanja binarnog programa na racunaru, mozemo da konstatujemo sledece cinjenice.

Program se cuva negde na spoljnjoj memoriji (disk,...). Pri pokretanju programa datoteka u kojoj je on pohranjen se ucitava u RAM. Ova datoteka sadrzi niz instrukcija koje procesor moze da razume (i jos po nesto, ali sada necemo o tome). Program se pokrece tako sto se procesoru salju jedna po jedna od tih instrukcija, a ovaj ih izvrsava. Osim instrukcija, taj fajl sadrzi i osnovne podatke kojima program barata. Sta je sa ostalim stvarima? Npr. pokrenite xmms. On na ekranu prikazuje prozor prekriven slikom (skin). Ta slika mora da bude sacuvana negde na disku. Slicna je stvar i sa drugim vrstama podataka (cujete zuk nakon narezanog diska, ucitavate podatke iz baze, pregledate 'help' fajlove,...) - svi se cuvaju negde na hard disku. Aplikacija mora da zna gde su.

Sta vise, program se, obicno, ne sastoji samo od jednog izvrsnog fajla. Najcesce je za izvrasavanje programa potrebno vise izvrsnih fajlova koji se podizu u memoriju istovremeno. Jedan od tih fajlova shvatimo kao "glavni". Ostale cemo zvati bibliotekama. "Glavni" program po potrebi poziva funkcije implementirane u bibliotekama. Ovakav model se pokazao znatno bolji od 'strpavanja' svega u jedan fajl. Prednosti i mane takvog modela necemo diskutovati, vec cemo se samo zadrzati na konstataciji da je ovakav model prisutan i dominantan u GNU/Linux sistemu.

Dakle, pri instaliranju jedne aplikacije, na nasem disku dobijamo kopije izvrsnog fajla, raznih biblioteka, datoteka u kojima su pohranjeni podaci potrebni za rad aplikacije, datoteke u kojima se cuva dokumentacija za koriscenje aplikacije, datoteke u kojima se cuvaju (inicijalna) podesavanja za aplikaciju, .... Operativni sistem treba da definise gde se i kako cuvaju svi ovi fajlovi. Predpostavljam da je dobar deo vas imao priliku da instalira nku aplikaciju na nekom MS Windows operativnom sistemu. Windows "filozofija" je da se aplikacija instalira u jedan direktorijum (obicno unutar "C:\Program files") osim biblioteka, koje mogu da se instaliraju u isti taj direktorijum ili u neki za to specijalizovani direktorijum (to su obicno C:\Windows i C:\Windows\System32).
GNU/Linux sistem ima nesto drugacije lokacije za ove fajlove. Pogledajmo na cas strukturu direktorijuma /usr. To je jedan od standardnih direktorijuma LSTa.
[/]rile: ls /usr
bin  games  include  lib  local  sbin  share  src  X11R6
Za sad cemo obratiti paznju na direktorijume bin, lib i share unutar /usr direktorijuma. Unutar /usr/bin se nalaze izvrsni fajlovi Unutar /usr/share su podaci koji su potrebni programu za rad. Adresar /usr/lib sadrzi biblioteke programa.
Primetimo neke razlike u odnosu na Windows nacin instaliranja programa. Svi izvrsni programi su unutar istog direktorijuma (kod Windowsa je svaki od njih imao poseban direktorijum). Isto vazi i za biblioteke. Dodatne datoteke (sa podacima) su obicno organizovane tako da za svaku aplikaciju postoji po jedan direktorijum u ./share adresaru.
Uzmimo na primer program xmms. Na mom sistemu ovako izgledaju neki od fajlova ovog programa:
[/]rile: which xmms
/usr/bin/xmms
[/]rile: ls /usr/bin/xmms -l
-rwxr-xr-x 1 root root 1034508 2007-03-28 13:47 /usr/bin/xmms
[/]rile: ls /usr/share/xmms -l
total 16
-rw-r--r-- 1 root root  928 2005-11-14 15:33 infinite_states
drwxr-xr-x 2 root root 4096 2007-05-28 18:26 Skins
-rw-r--r-- 1 root root 7972 2007-03-28 13:47 wmxmms.xpm
[/]rile: ls /usr/lib|grep xmms
libxmms.a
libxmms.la
libxmms.so
libxmms.so.1
libxmms.so.1.3.1
xmms

Nadam se da Vam je ovo pomoglo da shvatite sta je gde. No, tu nije kraj. Porgrami ne moraju da se nalaze u ovom direktorijumu.Pogledajmo sada direktorijum /usr/local:
[/]rile: ls /usr/local
bin  etc  games  include  lib  libexec  man  sbin  share  src
Mozemo uociti da ima strukturu slicnu direktorijumu /usr. Tu se takodje mogu instalirati programi. Naravno, direktorijumi /usr/local/bin, /usr/local/lib  i /usr/local/share su ekvivalentni sa /usr/bin, /usr/lib, /usr/share.
U principu, mozemo koristiti bilo koji direktorijum za instaliranje programa. U nasa dva primera koristili smo direktorijume /usr i /usr/local. Direktorijum u koji instaliramo program zvacemo jos i prefiks. /usr i /usr/local su (koliko se to moze reci za Linux) standardni direktorijumi za instaliranje programa. U zavisnosti od distibucije, mogu biti jos neki. Obraticemo paznju jos i na direktorijum /opt. Njega obiocno koristimo za instaliranje programa na 'Windows' nacin. Znaci, pri instairanju velike aplikacije, ona dobije svoj direktorijum unutar /opt i tu smesti sve potrebne fajlove. Neke distribucije forsiraju ovakav nacin instaliranja. Neke ga isbegavaju.
[/]rile: ls /opt/google/
desktop
[/]rile: ls /opt/google/desktop/
bin  lib  plugin  README  resource  VERSION  xdg

Ostaje nam jos da razjasnimo gde instalirane aplikacije cuvaju svoja podesavanja.
Globalna podesavanja programi obicno cuvaju unutar direktorijuma /etc. Izgled ovog direktorijuma moze znatno da varira od jedne do druge distribucije. Podesavanja za svakog korisnika aplikacija cuva unutar korisnickog direktorijuma ($HOME). Podesavanja su u obliku fajlova (najcesce tekstualnih) i direktorijuma, i njihovi nazivi pocinju tackom (.) Po konvenciji, fajlovi koji pocinju sa tackom se ne izlistavaju u fajl menadzereima (osim ukoliko nije eksplicitno naglaseno), tako da ovakvo imenovanje umanjuje kolicinu fajlova koje korisnik 'vidi' u svom korisnickom direktorijumu.
Evo primera konfiguracionih fajlova za xmms i smbd:
[/]rile: ls $HOME/.xmms
config  menurc  Plugins  Skins  xmms.m3u
[/]rile: ls /etc/samba
gdbcommands  smb.conf  smb.conf~

Nadam se da je posle ovoga jasno gde se koji fajl nalazi i cemu sluzi. Za sve one kojima je rad u Windowsu blizi, primetimo jos da u GNU/Linux sistemu ne postoji nesto sto bi bilo ekvivalent 'registry' bazi Windowsa. Sve sto je potrebno aplikacijama cuva se u vidu regularnih fajlova.

Van mreže sleep`walker

  • Nišlija
  • *****
  • Poruke: 520
  • Pol: Muškarac
  • omasuje edit boxove u koje kuca reci za pretragu.... Stizu me oni Jeleni od malo pre ;) Popravili su to pivo :)
    • Pogledaj profil
Odg: Kako da instaliram program na Linuxu? [vodic za pocetnike]
« Odgovor #1 poslato: 12.07.2007. 23:33 »
2. U kakvom obliku dolaze programi? Sta da radim sa programom koji sam skinuo sa interneta / dobio na disku?

Pre svega, pojasnimo kako izgleda program pri njegovom stvaranju a kako pri radu.
Pri stvaranju programa, programer koristi tekstualne fajlove koji predstavljaju naredbe na nekom od programskih jezika (izvorni kod, source code). Uz njih je potreban i izvestan broj fajlova u kojima se nalaze podaci (slike, zvukovi, ...). Da bi se program izvrsio na konkretnom racunarskom sistemu, mora se prevesti (kompajlirati, kompilirati) u 'binarni oblik'. To je oblik u kom ih racunar moze direktno izvrsiti. (Postoje i programi koji se kompajliraju do nekog medju-oblika (metacode) a zatim se takav kod interpretira odgovarajucim softverom. Postoje i jezici kod kojih se interpretira direkto izvorni kod. Za sad zanemarite programe pisane na ovim jezicima.)
Vi mozete dobiti program u vidu izvornog koda ili u vidu izvrsnog (binarnog) koda. Vecina aplikacija koje se koriste pod GNU/Linux operativnim sistemom su aplikacije otvorenog koda (open source). To znaci da mozete doci (legalno :)) do njihovog izvornog koda i zatim ih prevesti za svoje potrebe. Izvorni kod komercijalnih aplikacija je nedostupan.

Programi obicno dolaze u vidu kompresovanih arhiva. Ukoliko je rec o programu u vidu izvornog koda, potrebno je: otpakovati arhivu, prevesti izvorni u izvrsni kod i zatim prekopirati fajlove na odgovarajuca mesta. Ako se radi o arhivi sa binarnim programom, obico je ta arhiva u nekom specijalizovanom formatu (.deb, .rpm, ...) i moze se na sistem instalirati koriscenjem odgovarajuceg programa. Druga, cesta, varijanta je 'sefl-extracted' arhiva, odnosno arhiva ciji je deo program koji je raspakuje i instalira softver. (Ovo zadje odgovara next-next instalacijama koje su poznata vecini korisnika Windowsa).

Instaliranje programa iz izvornog koda ima svoje prednosti, ali i mane, u odnosu na instaliranje prekompajlirane aplikacije. Evo nekih:
- Instaliranje iz izvornog koda podrazumeva da na racunaru morate imati dodatan softver: kompajler, linker, header-fajlovi...
- Instaliranjem iz izvornog koda mozete prilagoditi aplikaciju svom sistemu: mozete izbaciti delove koje ne koristite, zatim, mozete kompajlirati kod koriscenjem optimizacija kompajlera koje odgovaraju konkretnom sistemu, ...
- Instaliranje iz izvornog koda je znatno sporije od instaliranja binarnog fajla



3. Zavisnosti (dependency)

Pre nego sto predjemo na instaliranje programa, da dodamo jos par recenica o zavisnostima.
Uzmimo za primer Firefox. Pod Linuxom on za prikaz na ekranu koristi GTK2 biblioteku. Ova biblioteka sadrzi brojne funkcije za rad sa grafickim korisnickim interfejsom. Ukoliko na sistemu imamo instaliran Firefox a nemamo ovu biblioteku, Firefox nece moci da radi! Zato kazemo da Firefox zavisi od GTK2.
Uzmimo sada za primer neku drugu GTK2-baziranu aplikaciju, recimo OpenOffice. I ova aplikacija zavisi od GTK2 biblioteke.
Sa druge strane GTK2 biblioteka iscrtava korisnicki interfejs koriscenjem funkcija nekih drugih biblioteka. Recimo, potrebna jeoj je JPEG biblioteka (za slike) i jos mnoge druge. (Sve ovo su samo bezveze primeri, cisto da bi pokazali o cemu se radi.)

Ukoliko bi posmatrali sav softver instaliran na jednom GNU/Linux sistemu, mogli bi smo da napravimo 'stablo zavisnosti'. Zamislite to ovako: Uzmemo poveci list papira, za svko parce softvera nacrtamo po jenu tacku, pa spojimo tacke koje oznacavaju medjusobno zavisne programe. Ovako bi smo dobili graf. Za poznavaoce teorije grafova, ovaj graf je stablo (nema cikluse).

Dakle, vecina programa na Vasem sistemu zavisi od nekih drugih programa (biblioteka, ...). Takodje, vecina instaliranog softvera predstavlja zavisnost nekim drugim programima.
« Poslednja izmena: 12.07.2007. 23:45 sleep`walker »

Van mreže sleep`walker

  • Nišlija
  • *****
  • Poruke: 520
  • Pol: Muškarac
  • omasuje edit boxove u koje kuca reci za pretragu.... Stizu me oni Jeleni od malo pre ;) Popravili su to pivo :)
    • Pogledaj profil
Odg: Kako da instaliram program na Linuxu? [vodic za pocetnike]
« Odgovor #2 poslato: 12.07.2007. 23:36 »
4. Instaliranje programa iz izvornog koda

Postojanje velikog broja kompajlera za razlicite programske jezike na GNU/Linux sistemu uslovljava  postojanje razicitih nacina (komandi shella) na koje se moze da kompajlira neki program. Pre nego sto pocnete prevodjenje nekog programa u binarni oblik, obazvezno pogledajte dokumentaciju koja stize uz program. U arhivi se nalaze INSTALL ili README fajl koji detaljno opisuju kako se vrsi prevodjenje programa. Vecina programa koji se pisu za GNU/Linux su C ili C++ programi koji koriste gcc (odnosno g++) kompajler za prevodjenje. Programeri obicno koriste neke specijalizovane alate za prevodjenje koda koji uveliko olaksavaju posao. Jedan od njih, i verovatno najcesce koriscen, je GNU Automake. Zadrzacemo se na ovom alatu i opisati proces kompajliranja i instaliranja programa iz izvornog koda koji koristi Automake i gcc.
Ovo je ubedljivo najcesca kombinacija.

Jos jednom: *Pre nego sto zapocnete kompajliranje procitajte dokumentaciju koju ste dobili u arhivi sa programom.*

Slede koraci koje trebamo preduzeti radi kompajliranja i instaliranja programa:


4.1 Raspakujte arhivu

Izvorni kod obicno dolazi u kompresovanoj arhivi. To je najcesce .tar.gz ili .tar.bz2 arhiva. Za raspakivanje ovih arhiva koristicemo komandu `tar`. Naravno, arhivu mozete raspoakovati i bilo kojim drugima alatom. Konzolni menadzer fajlova "Midnight Commander" radi vrlo fino sa ovim arhivama i mozete koristiti njega. Takodje, vecina "grafickih" menadzera fajlova dobro integrisu funkcije za rad sa arhivama. Mozte arhivu raspakovati iz Konquerora ili Nautilusa. Osim toga, postoji veliki broj aplikacija za grafickim interfejsom koje sluze za rad sa arhivama. Pomenimo File-Roller i Ark.

Vratimo se na program `tar`. Ovo je klasicna konzolna aplikacija. Ukoliko zelite da vidite kompletnu listu operacija koje moze da izvrsi ovaj program ukucajte `man tar` ili `tar --help`. Lista "sviceva" je pozamasna, a mi cemo se osvrnuti na nekoliko nama ovde bitnih. Evo dela teksta koji stampa `tar --help` i koji ce nama biti potreban:
-x, --extract, --get       extract files from an archive
-v, --verbose              verbosely list files processed
-z, --gzip, --gunzip, --ungzip   filter the archive through gzip
-j, --bzip2                filter the archive through bzip2
-f, --file=ARCHIVE         use archive file or device ARCHIVE
Dakle, -x znaci da zelimo da odpakujemo arhivu, -v znaci da program ispisuje informacije o tome koji fajl obradjuje na standardni izlaz (u terminal). Naziv fajla pisemo iza -f opcije, znaci u formatu -f(razmak)/ime/fajla. U zavisnosi od toga kojim algoritmom je arhiva kompresovana (gz ili bz2), koristicemo opciju -z za gzip, odnisno -j za bzip2. Citava komanda ce imati jedan od ovih formata:
tar -xvzf ime_arhiva.tag.gz
tar -xvjf ime_arhive.tar.bz2
Sta rade ove komande?
Ova komanda uzima arhivu koja je navedena kao argument programa i raspakuje njen sadrzaj u tekuci direktorijum. Znaci, ukoliko hocemo da raspakujemo arhivu u direktorijum /home/username/instalacije a arhiva se zove /home/username/download/kdevelop.tar.gz, uradicemo to sa:
cd /home/username/instalacije
tar -xvzf /home/username/download/kdevelop.tar.gz

Evo kako moze da izgleda deo izlaza komande:
[/mnt/lfs/src.6.0]lfs: tar -xvjf bison-2.0.tar.bz2
bison-2.0/
bison-2.0/m4/
bison-2.0/m4/alloca.m4
bison-2.0/m4/cxx.m4
bison-2.0/m4/dirname.m4
bison-2.0/m4/dmalloc.m4
........
Arhivu smo odpakovali u direktorijumu u kom se nalazila.

Nakon ovoga, podrazumevacu da ste program na neki od nacina raspakovali u zeljeni direktorijum.


4.2 Konfigurisanje izvornog koda programa

Osvrnimo se na nekoliko cinjenica koje smo izneli u prva tri poglavlja.
Vratimo se na zavisnosti: Da bi nas program mogli da pokrenemo (i prevedemo) potrebno je da su na sistemu vec instalirani svi programi od kojih on zavisi. Sada nam je potreban mehanizam koji ce to da ustanovi.
Trebamo izabrati prefiks (direktorijum u koji zelimo da instaliramo program). To, takodje moramo nekako da zadamo.
Osim toga, razlicite distribucije imaju razlicite verzije instaliranih biblioteka, na primer. Takodje, one mogu da se nalaze na razlicitim lokacijama. Za program koji prevodimo su potrebne neke od tih biblioteka, i moramo da ustanovimo gde se one nalaze.
Zatim, mozemo odabrati da neku od funkcionalnosti koje ima program koji zelimo da instaliramo bude ukljucena ili iskljucena iz finalnog programa. Izbacivanjem nepotrebnih stvari se dobija manji i brzi porgram.

Sav ovaj posao odradice jedna skripta koja dolazi uz izvorni kod. Njen naziv je `configure` i mozete je naci u direktorijumu u kom ste raspakovali izvorni kod. Mozete da "udjete" u taj direktorijum i da pokrenete tu skriptu.
cd /gde/je/izvorni/kod
./configure
Ova skripta moze da prihvati neke argumente i na taj nacin prilagodi program Vasim potrebama. Prvo pogledajmo opciju --prefix. Ona se koristi u obliku --prefix=/ime/direktorijuma i, naravno, sluzi za izbor direktorijuma u koji zelimo da instaliramo program.
Ja, obicno, programe iz izvornog koda instaliram u /usr/local. U tom slucaju ce predhodna komanda configure imati sledeci oblik
./configure --prefix=/usr/local
Da bi izbacili, odnosno ubacili, odgovarajuce funkcije programa navedite odgovarajuce argumente skripti configure. Ovi argumenti obicno imaju oblik --enable-ovo --disable-ono. Ponekad ti argumenti traze i neki dodatan parametar. Naravno, spisak ovih argumenata usko zavisi od konkretnog programa koji prevodite i instalirate. Pozovite
./configure --helpako zelite da vidite kompletan spisak podrzanih argumenata. Obicno dokumentacija koja dolazi uz program opisuje svaki od tih argumenata.

Evo jednog primera poduzeg i neobicnog (ali ispravnog) poziva skripte configure za program gcc
./configure --prefix=/tools --with-local-prefix=/tools --disable-nls --enable-shared --enable-languages=cNajcesce necete pisati ovoliko opcija za konfigurisanje.

Sta radi `configure` skripta?
Prvo, ova skripta pretrazuje zavisnosti. Ukoliko pronadje sve sto je potrebno za prevodjenje programa, nastavice svoja rad. Ukoliko ne pronadje neku od potrebni zavisnosti, prekinuce rad i informisati korisnika. Obicno `configure` ispise po jedan red za svaki porgram koji trazi na sistemu. Tako mozete videti sta je instalirano a sta fali.
Zatim, `configure` pravi fajlove Makefile. Postoji po jedan ovakav fajl za svaki od poddirektorijuma u kojima je smesten izvorni kod, kao i za direktorijum iz kog smo pozvali `configure`. Oni sadrze informacije bitne za dalje prevodjenje programa. U ove fajlove su "ugradjeni" parametri koje smo prosledili nasoj `configure` skripti.

Podrazumevacu da je konfiguracija prosla dobro. Ukoliko nije, trebate instalirati potrebne zavisnosti, a zatim ponovo pokrenuti ovu skriptu.
« Poslednja izmena: 13.07.2007. 00:27 sleep`walker »

Van mreže sleep`walker

  • Nišlija
  • *****
  • Poruke: 520
  • Pol: Muškarac
  • omasuje edit boxove u koje kuca reci za pretragu.... Stizu me oni Jeleni od malo pre ;) Popravili su to pivo :)
    • Pogledaj profil
Odg: Kako da instaliram program na Linuxu? [vodic za pocetnike]
« Odgovor #3 poslato: 12.07.2007. 23:51 »
4.3 Prevodjenje programa

Pre nego sto se upustimo u prevodjenje, pojasnimo strukturu fajlova Makefile i komandu `make`.
Osnovna svrha komande `make` je da omoguci lako prevodjenje i povezivanje velikih programa. Medjutim, njena fleksibilnost je omogucila primenu ovog mehanizma i u mnoge druge svrhe.

Kako radi make?
Komanda `make` koristi fajl Makefile za opis akcija koje treba da obavi. Bez ulazenja u sintaksu ovog fajla mozemo reci sledece. Makefile sadrzi nekoliko reci (stringova) koje nazivamo "target" (meta). Uz svaki target se nalazi spisak komandi koje se izvrsavaju pozivom `make ime_targeta`. Dakle, ukoliko u datoteci Makefile postoji target sa imenom install pozivom `make install` izvrsi ce se jedna za drugom komande (misi se na komande shell-a, naravno) koje su dodeljenje ovoj meti. Jedna od meti je podrazumevana. Pozivom sam `make` bez naziva targeta u komandnoj liniji izvrsice se komande koje odgovaraju podrazumevanoj meti (default target).
Obratite paznju na to da make pretrazuje samo direktorijum iz kog je pozvan radi pronalazenja datoteke Makefile. Ako Makefile postoji u tekucem direktorijumu, izvrsi ce se odgovarajuce komande. U suprotnom, make ce prijaviti gresku i prekinuti rad. Takodje, doci ce do greske i prekida programa ukoliko 'target' koji smo naveli kao argument komande `make` ne postoji u Makefile-u tekuceg direktorijuma.

Opisani mehanizam cemo koristiti za prevodjenje programa. Skripta `configure` je u direktorijumu iz kog je pozvana (podrazumevacu da je to i direktorijum u kom je raspakovan program) kreirala Makefile cija podrazumevana meta sluzi za prevodjenje programa. Dakle, sve sto trebamo uraditi je da postavimo direktorijum u kom je raspakovan program (t.j. iz kog je pozvana skripta configure) za radni direktorijum sa `cd /ime/direktorijuma` (ukoliko vec nismo "u" tom direktorijumu), a zatim pozovemo
make
Sta radi ova komanda?
Ova komanda prevodi izvorne kodove programa u binarne. Prevodjenje vecih programa moze znatno da potraje. Brzina procesora i kolicina radne memorije imaju znacajan uticaj na brzinu prevodjenja programa. Ako sve prodje kako treba, dobicete program u binarnom obliku. U suprotnom cete dobiti informaciju o gresci.
Nakon izvrsene komande `make` najveci deo posla je za nama.


4.4 Instaliranje i drugi administrativni zahvati

Nakon sto je program preveden, trebamo fajlove kopirati na odgovarajuce lokacije. Ovo cemo, takodje, izvrsiti upotrebom komande `make`.

Osim podrazumevanog, u Makefile-u koji je dobijen pri konfigurisanju su definisani jos neki targeti. Oni imaju sledeca imena: install, uninstall, clean. Target install sluzi za instaliranje programa na odgovarajucu lokaciju (izabranu pri konfiguraciji). Direktorijumi u koje se ovom prilikom vrsi upis (najcesce unutar /usr ili /opt direktorijuma) su podeseni tako da "obican" korisnik nema privilegije upisa. Upis u te direktorijume mozemo vrsiti kao korisnik root. Naravno, privilegije se mogu promeniti te na taj nacin mozemo dozvoliti i drugim korisnicima upis u ove direktorijume. Ovo je krajnje nepozeljno i savetujm Vam da ne radite to.
Dakle, da bi smo instalirali program na zeljenu lokaciju (izabranu pri konfiguraciji) moramo prvo "postati" root. To cemo postici pozivom komande su i, naravno, unosenjem lozinke. Nakon toga, ukucajmo (podrazumevam da se nalazite u direktorijumu u kom ste raspakovali izvorni kod, odnosno iz kog ste pokrenuli `configure`) make install.
`make install` ce prekopirati fajlove na odgovarajuca mesta, cime je instalacija zavrsena.

Mete `uninstall` sluzi za uklanjanje programa sa sistema. Pokrenite make uninstall kao root i uklonicete program. Primetimo da je potrebno sacuvati izvorni kod (raspakovanu arhivu) ukoliko zelimo da uklonimo program.

Meta `clean` sluzi za uklanjanje binarnih fajlova dobijenih prilikom kompajliranja. Pri prevodjenju izvornog u izvrsni kod u direktorijumu u kom je odpakovana arhiva se generisu binarni fajlovi programa. Ukoliko iz nekog razloga zelite da ih uklonite, pozovite make clean

Van mreže sleep`walker

  • Nišlija
  • *****
  • Poruke: 520
  • Pol: Muškarac
  • omasuje edit boxove u koje kuca reci za pretragu.... Stizu me oni Jeleni od malo pre ;) Popravili su to pivo :)
    • Pogledaj profil
Odg: Kako da instaliram program na Linuxu? [vodic za pocetnike]
« Odgovor #4 poslato: 12.07.2007. 23:52 »
4.5 Instaliranje programa iz izvornog koda - rezime

Da bi instalirali program potrebno je da ga: (1) odpakujemo, (2) konfigurisemo, (3) prevedemo, (4) instaliramo. Prve tri akcije mozemo preduzeti kao bilo koji korisnik. Pozeljno je izbegavati korisnika `root` za ovo. Cetvrtu akciju moramo preduzeti kao korisnik root.
Instaliranje programa iz izvornog koda moze da ima puno konfiguracionih opcija, medjutim najcesce se svodi na sledeci niz komandi:
tar -xvzf /ime/arhive #ili j umesto z
cd /direktorijum/u/kom/je/arhiva/raspakovana
./configure --prefix=/usr/local
make
su
make install
Obavezno pre instaliranja programa procitajte dokumentaciju koja dolazi uz instalaciju!
Obratite paznju na to da je ovo samo jedan od nacina instaliranja programa iz izvornog koda. Mozda program koji zelite da instalirate koristi neku drugu metodu.


4.6 Tips & tricks

(1) Umesto komande `make instrall` mozete koristiti komandu `checkinstall` ili neku slicnu. Svrha ove komande je da od kompajliranog programa napravi binarni paket u nekom od formata (obicno .rpm, .deb, .tgz, ...) koji koristi vasa ditribucija. Zatim mozete instalirati ovaj paket kao svaki drugi paket koji dolazi uz distribuciju. O instaliranju paketa u sledecem poglavlju ;)

(2) Mozete razdvojiti direktorijum u kojem se nalazi izvorni kod od onog u kom se vrzi prevodjenje. Recimo da ste arhivu izvornog koda programa raspakovali u /source/program. Napravite neki diektorijum, recimo /build/program. Uradite `cd /build/program` a zatim `/source/program/configure`. U /build/program cete dobiti Makefile, i u odnosu na ovaj direktorijum dalje prevodite program.
Postoje programi za koje je ovo preporucljivo uraditi. Za vecinu, ovo je nepotrebno.

(3) Mozete testirati prevedeni program u smislu da li je on dobro preveden. Nakon `make` a pre `make install` ukucajte `make check` da bi ste pokrenuli test.

(4) Kompajler moze da optimizuje kod na razlicite nacine. Ukoliko zelite da dobijete brz program naucite kako da optimizujete kompajler za vas sistem. Vodite racuna o tome da preterana optimizacija moze da dovede do lose prevedenog programa.

(5) Da bi C(++) kompajler mogao da prevede i poveze kod, potrebni su mu heder fajlovi za sve biblioteke (preciznije module) koje koristi. Sto se tice instaliranja heder fajlova, distribucije to uglavnom resavaju na dva nacina: (prvi) Ako ste instalirali paket za biblioteku xyz dobicete i heder fajlove ili (drugi) postoje dva paketa, jedan za biblioteku xyz a drugi za njene heder fajlove. Primetite da program moze da radi, ali ne moze da se prevede bez heder fajlva. (Ustvari, moze i da se prevede, ali bi to zahtevalo modifikaciju koda. To se moze uraditi elementarnim znanjem jezika C, ali bi posao bio velik i mukotrpan.) Distribucije koje koriste drugi od ova dva pristupa, za paket koji se zove xyz i uz koji mogu da se instaliraju hederi, sadrzi i paket koji se obicno zove xyz-dev, xyz-devel ili slicno. Ako vasa distribucija koristi ovu filozofiju, instalirajte potrebne -dev pakete pre kompajlira

Van mreže sleep`walker

  • Nišlija
  • *****
  • Poruke: 520
  • Pol: Muškarac
  • omasuje edit boxove u koje kuca reci za pretragu.... Stizu me oni Jeleni od malo pre ;) Popravili su to pivo :)
    • Pogledaj profil
Odg: Kako da instaliram program na Linuxu? [vodic za pocetnike]
« Odgovor #5 poslato: 12.07.2007. 23:52 »
5. Instaliranje programa iz paketa (Package Managment System)


Instaliranje binarnih paketa je daleko lakse i brze od instaliranja programa iz arhive izvornog koda. Jedan od najboljih, i na GNU/Linux sistemima najkoriscenijih, nacina za ovo je sledeci. Program u binarnom formatu spakujemo u jednu arhivu. Uz program, obicno se tu upisu i nekoliko skripti, kao i dodatne informacije o programu (naziv, verzija, ko je prepakovako, za koju arhitekturu je kompajliran,...). Ovakva arhiva se naziva paketom. Paketi imaju standardnu strukturu i njima se moze baratati specijalizovanim softverom. Taj softver omogucuje instaliranje i uklanjanje paketa i jos neke dodatne funkcionalnosti.
Postoji vise tipova paketa, a najrasprostranjeniji su rpm i deb paketi, pa cemo najvise paznjeobratiti na njih.

Kako izgleda implementacija programa za upravljanje paketima?
Na ovo pitanje cemo odgovoriti samo povrsno, ne upustajuci se dublje u to kako ovi programi rade.
Generalno, paket mozemo posmatrati kako kompresovanu arhivu (obicno je to neka posebna arhiva koja se definse pri projektovanju i implementaciji paketa ili je to neka 'standarda' arhiva kao sto su .tar.gz ili .tar.bz2 arhiva). U toj arhivi se, pre svega, nalaze fajlovi koji se prilikom instaliranja kopiraju na sistem. Distributer softvera planira gde ce se instalirati ovi fajlovi. Korisnik moze da promeni lokaciju na kojoj ce se instalirati fajlovi paketa, ali se ovo, obicno, jako retko radi. Osim ovih fajlova, tu se nalazi i nekoliko skripti. Nakon kopiranja fajlova, pokrece se neka od skripti. Njen zadatak je da napravi inicijalna podesavanja za program koji instaliramo.
Zatim, u paketu se nalaze oznake njegovog imena i verzije. Odmah napravite razliku izmedju imena fajla paketa i imena samog paketa! Softver za rad sa paketima ima jednu internu bazu podataka u kojoj cuva podatke o paketima. U toj bazi paketi se referenciraju po njihovim imenima.
Recimo, naziv fajla naseg paketa moze da bude "gnomebaker_0.6.0-1_i386.deb" dok je naziv ovog paketa "gnomebaker". Naziv fajla paketa se obicno pise tako da sadrzi naziv paketa i njegovu verziju. Kada jednom skinemo ovaj paket sa interneta (ili ga dobavimo na neki drugi nacin), mozemo ga instalirati. Softver za upravljanje paketima ce ovaj paket zapisati u svoju bazu pod nazivom 'gnomebaker'. Ukoliko zatim zelimo da preduzmemo neku akciju nad ovim paketom, recimo da ga uklonimo sa sistema, moramo koristiti njegovo ime zapisano u bazi.

Softver za upravljanje paketima ume da prepozna zavisnosti izmedju paketa. Prepostavimo da je sav softver na nasem sistemu instaliran koriscenjem paketa. Uzmimo primer programa Firefox i biblioteke GTK2: Firefox zavisi od ove biblioteke. Neka se firefox nalazi u paketu firefox.deb a GTK2 biblioteka u libgtk2.deb. Dovoljno je nekako objasniti softveru za upravljanje paketima da pri instaliranju paketa firefox.deb treba da instalira i paket libgtk2.deb. Ovo se radi belezenjem zavisnosti uz ostale podatke o paketu. Znaci, u svakom paketu je zapisano od kojih paketa zavisi. Citanjem tih zapisa i uporedjivanjem sa beleskama o instaliranim paketima koje softver za upravljanje paketima cuva u svojoj internoj bazi, ovaj softver moze zakljuciti da li su zadovoljene sve zavisnosti za instaliranje paketa. Najcesce je zavisnost nesto komplikovanija. Obicno jedan paket zavisi od tacno jdne verzije drugog paketa, ili od verzije drugog paketa koja je "veca ili jednaka" nekoj. Evo kako moze da izgleda lista zavisnosti za jedan paket:

Osim zavisnosti, paketi mogu biti i u nekom drugom odnosu. Najbitnije je istaci da paketi mogu biti u konfliktu. To znaci da ne mogu istovremeno biti instalirati na sistem. Informacije o tome sa kojim paketom je konfliktan su, obicno, zapisane u paketu.

Evo kako mogu da izgledaju sve informacije vezane za jedan paket
Package: nano
Priority: important
Section: editors
Installed-Size: 1624
Maintainer: Jordi Mallach <jordi@debian.org>
Architecture: i386
Version: 2.0.2-1
Replaces: pico
Provides: editor
Depends: libc6 (>= 2.3.6-6), libncursesw5 (>= 5.4-5)
Suggests: spell
Conflicts: nano-tiny (<= 1.0.0-1), pico
Size: 546858
Description: free Pico clone with some new features
 GNU nano is a free replacement for Pico, the default Pine editor. Pine is
 copyrighted under a restrictive licence, that makes it unsuitable for
 Debian's main section. GNU nano is an effort to provide a Pico-like
 editor, but also includes some features that were missing in the original,
 such as 'search and replace', 'goto line' or internationalization support.


5.1. Paketi tipa .deb (Debian package)

Razvoj ovih paketa i menadzera za rukovanje njima je poceo kao jedan od pod-projekata Debiana. Kako je veliki broj distribucija zasnovan (posredno ili neposredno) na Debianu, ova vrsta paketa se prosirila i na brojne druge distribucije. Debianovi paketi imaju vrlo dobru strukturu, a menazder paketa ima brojne komande koje mozete upotrebiti za manipulisanje ovim paketima. Nikako necemo preispitivati sve mogucnosti ovog menadzera paketa, vec cemo se zadrzati na najosnovnijim.

Uz distribucije koje koriste ovaj menzadzer paketa (Debian, sve iz Ubuntu familije, SymplyMepis i jos mnoge) dolazi nekoliko alata za rad za .deb paketima. Pogledajmo prvo program koji zauzima "centralno" mesto medju ovim alatima: dpkg.
dpkg je konzolna aplikacija. Kao argumente ovom programu prenosicemo ime paketa ili ime fajla u kom je paket sacuvan i oznaku neke od radnji koje dpkg treba da obavi nad ovim paketom. Za instaliranje paketa koristicemo opciju -i, odnosno u "dugom obliku" --install. Dakle, .deb paket instaliramo na sistem sa
dpkg -i ime_fajla.deb ili sa dpkg --install ime_fajla.debKod ovih komandi je sa ime_fajla.deb oznaceno ime fajla paketa koji zelimo da instaliramo. Ukoliko kmandu ne pozivao iz direktorijuma u kom se ovaj fajl nalazi, moramo navesti potpunu putanju (apsolutnu ili relativnu).

Za uklanjanje paketa sa sistema mozemo koristiti opciju -r, odnosno --remove. Paket sa sistema uklanjamo sa
dpkg -r ime_paketa ili sa dpkg --remove ime_paketaObratite paznju na to da je ovde sa ime_paketa oznacen naziv samog paketa, ne ime fajla iz kog je instaliran.

Informacije o paketu koji je instaliran mozete dobiti koriscenjem opcije -s, odnosno u "dugom formatu" --status. Pri ovome komanda dpkg, naravno, koristi ime paketa a ne ime fajla. Oblik komande je
dpkg -s ime_paketa ili dpkg --status ime_paketa.
Slicno, informacije o .deb fajlu koji ne mora da bude instaliran na sistem dobijamo pomocu opcije --info. Njoj se prosledjuje ime fajla, odnosno putanja do .deb fajla.
dpkg --info ime_fajla.deb
Prilikom instaliranja .deb paketa na sistem pokrecu se izvesne skripte koje imaju za cilj da izvrse odredjene promene na sisemu koje su neophodne, ili bar pozeljne, za rad upravo instaliranog programa. Tako, na primer, ako instliramo X server, logicno je izvrsiti konfiguraciju fajla xorg.conf i prilagoditi ga konkretnom sistemu (hardveru i instaliranom softveru koji je usko vezan za X server).
Ponekad je potrebno pokrenuti takvu skriptu ponovo. To se moze uraditi komandom `dpkg-reconfigure`. Prenosenjem imena paketa kao argumenta ove komande, ponovo se izvrsavaju skripte za njegovo kofigurisanje. Dakle, komandu pozivamo u obliku
dpkg-reconfigure ime_paketa
Lista konzolnih programa koje sluze za rukovanje .deb paketima je pozamasna. Evo, na primer koji su programi instalirani na mom sistemu a pocinju sa dpkg
dpkg                 dpkg-genchanges      dpkg-scanpackages
dpkg-architecture    dpkg-gencontrol      dpkg-scansources
dpkg-buildpackage    dpkg-name            dpkg-shlibdeps
dpkg-checkbuilddeps  dpkg-parsechangelog  dpkg-source
dpkg-deb             dpkg-preconfigure    dpkg-split
dpkg-distaddfile     dpkg-query           dpkg-statoverride
dpkg-divert          dpkg-reconfigure
Vecinu ovih alata necete koristiti u svakodnevnom radu. Narocito ne sve mogucnosti koje oni pruzaju. Instaliranje, uklanjanje i rekonfiguracija paketa su najcesce operacije koje cete obavljati nad .deb paketima, i mislim da je za pocetak sasvim dovoljno znati kako se koriste ovih par komandi koje smo prodiskutovali. Ukoliko imate potrebu da obavite neku drugu (ne tako cestu) operaciju nad .deb paketom, pogledajte `man` stranice gore izlistanih komandi i pretrazite internet.

btw: Primetite da je .deb paket obicna .tar.gz arhiva. Mozete ga otvoriti softverom za rad sa regularnim arhivama. Evo kako izgleda jedan paket u Arku:


Osim konzolnih alata, za rad sa paketima postoje i GUI alati. Ukoliko imate neku distribuciju prilagodjenu desktopu i lakoci koriscenja, verovatno cete dvoklikom na .deb paket iz vaseg menadzera datoteka pokrenuti ovakav softver. Ja nikada nisam koristio ovakve programe, tako da ne mogu reci nesto posebno na tu temu. Umesto reci, pokazacu Vam sliku programa KPackage. To je KDE-orijentisana aplikacija i sluzi za rad sa pakerima (.deb, .rpm, ...).

Ovaj alat je vise nego intuitivan, i mislim da cete se lako snaci bilo u ovom bilo u nekom slicnom programu.



5.2. Paketi tipa RPM (Red Hat Package Mandatory)

RPM pakete i alate za rad sa njima je razvio Red Hat za potrebe svoje distribucije. Veliko broj distribucija je (neposredno ili posredno) zasnvan na Red Hatu, tako da RPM pakete osim Crvenkape koristi jos mnogo distroa (Mandriva, PC Linux OS, Suse, Fedora, CentOS, ...). Ovo je, verovatno, najpopularniji format paketa.

Kao i za .deb pakete, i za .rpm pakete postoje konzolni alati kojima ovi mogu da se instaliraju, uklone, ... Osnovna alatka se zove `rpm`. Izlaz komande `rpm --help` daje kratak opis fantasticno velikog broja akcija koje mozete izvrsiti koriscenjem ovog alata. Zadrzacemo se samo na instaliranju i uklanjanju ovih paketa.

RPM paket mozete instalirati na sistem sa
rpm -i ime_fajla odnosno
rpm --install ime_fajlaOpet Vam skrecem paznju da se navodi ime *fajla* a ne ime paketa. Za ukalanjanje paketa koristi se opcija -e ili u dugom obliku --erase. Paket uklanjamo sa sistema komandom oblika
rpm -e ime_paketa ili u "dugom" obliku
rpm --erase ime_paketaPromenu verzije paketa na noviju ('upgrade') se moze izvrsiti uz upotrebu opcije -U odnosno --update. Ovo je ekvivalentno uklanjanju strijeg paketa i zatim instaliranju novog. Komanda ima oblik
rpm -U ime_fajla odnosno rpm --upgrade ime_fajlaJos jednom: Obratite paznju kada se navodi ime fajla a kada ime paketa kao argument naredbe `rpm`.

RPM pakete koristi mnogo distribucija sto je dovelo do stvaranja razlicitih GUI alata za rad za ovim paketima. Na zalost, ja ne koristim ove distribucije pa nemam takve alate, ali mogu otvoriti RPM paket programom KPackage.

RPM paket se, takodje, moze otvoriti kao obicna arhiva. Evo kako izgleda jedan paket otvoren aplikacijom "File roller":


Ukoliko zelite da saznate vise stvari o RPM paketima i radu sa njima procitajte prirucnik `man rpm` i pretrazite internet.



5.3. Jos nesto o paketima


Prica o paketima je ovim tek naceta. Raznovrsnost distribucija i menadzera paketa koje dolaze uz njih je velika. Naporno bi bilo i pobrojati sve, a kamoli reci po nesto o njima. Sledi par reci o jos nekim formatima i konceptima vezanih za pakete.

Nikako ne smemo zaobici Slackware i njegov menadzer paketa. Ovo je najstarija ziva distribucija i uz nju dolaze paketi koji imaju prilicno primitivan format. Ekstrnzija ovih paketa je .tgz. Ovi paketi nemaju mogucnost pracenja zavisnosti. Osim alata koji dolaze uz instalaciju Slackware-a, postoje i drugi alati koje je razvila zajednica korisnika. Ti programi su nesto bogatiji mogucnostima. Izmedju ostalog, umeju da razresavaju zavisnosti. Meni ovakav menadzer paketa smeta i to je glavni razlog zbog kog sam odustao od Slackware-a pre nekoliko godina. Ipak, mnogi su odusevljeni ovakvim ponasanjem menadzera paketa.
Postoji dosta distribucija koje su zasnovane na Slackwareu. Veliki broj njih je uneo neke promene u menadzer paketa. Primeri su Zenwalk i KateOS.

Jedna, po menadzeru paketa vrlo specificna, distribucija je Arch. Za potrebe ove distribucije je razvijen mali ali mocan menadzer `pacman`. Ovaj menadzer je prihvatilo jos nekoliko distribucija (npr. Frugalware). Za "Pacman" postoji nekoliko GUI aplikacija koje predstavljaju njegov front-end, i ma koliko Pacman bio dobar, ovi programi su prilicno lose odradjeni.

Sve do sada smo precutno prelazili preko jedne stvari. Razmatrali smo pakete koji predstavljaju binarne programe. Medjutim, postoji jos jedan koncept. Ovaj koncept je predstavljen paketima koji sadrze izvorne kodove programa. Prilikom instaliranja ovakvih paketa, oni se kompajliraju "u pozadini". Ideja je napraviti mehanizam koji kombinuje dobre osobine instaliranja programa iz izvornog koda i instaliranja paketa. Ovakva mogucnost je ostavljena kod sistema koji se zasnivaju na deb ili rpm paketima. Postoje arhive izvornih kodova (obicno sa ekstenzijama .debs i .src.rpm) koje se mogu instalirati na sistem jednom komandom, a nadalje ponasati kao da je instliran odgovarajuci binarni paket. Za razliku od ovog pristupa, postoje distribucije koje forsiraju pakete sa izvornim kodom. Daleko najpopularnija medju njima je distribucija Gentoo. Uz Gentoo dolazi izuzetno dobar menadzer paketa "Portage" koji donosi alate za manipulaciju ovim paketima.
Rad sa ovakvim paketima je nesto sto prevazilazi nivo pocetnika, te se necemo zadrzavati na ovoj temi.




5.4. Tips & tricks

(1) Svaka distribucija koristi odredjenu vrstu paketa. Moguce je instalirati i pakete drugog formata, ali je ovo krajnje nepozeljno. Ovim se, na primer, stvaraju problemi pri odredjivanju zavisnosti.
Postoje alati koji mogu da konvertuju pakete iz jednog formata u drugi (npr. alien), ali ovakvi alati obicno ne eliminisu probleme koje donosi instaliranje paketa "stranog" formata.
Instalirajte paket koji nije u formatu "prirodnom" za vasu distribuciju samo ukoliko nemate drugog izbora!

(2) Primetite da se paketi stvaraju za odredjenu distribuciju, cak sta vise za odredjenu verziju te distribucije. Instaliranje paketa koji odgovara drugoj distribuciji (ili drugoj verziji Vase distribucije) moze da se zavrsi neupotrebljivim programom.
« Poslednja izmena: 13.07.2007. 00:09 sleep`walker »

Van mreže sleep`walker

  • Nišlija
  • *****
  • Poruke: 520
  • Pol: Muškarac
  • omasuje edit boxove u koje kuca reci za pretragu.... Stizu me oni Jeleni od malo pre ;) Popravili su to pivo :)
    • Pogledaj profil
Odg: Kako da instaliram program na Linuxu? [vodic za pocetnike]
« Odgovor #6 poslato: 12.07.2007. 23:56 »
6. Repository (riznica)

Za vecinu distribucija menadzer paketa predstavlja jedan od centralnih programa oko kojih se organizuje ostatak distribucije. Prirodan i pozeljan nacin instaliranja softvera je instaliranje koriscenjem menadzera paketa. Da bi korisniku distribucije omogucili lakse instaliranje paketa, obicno te pakete organizujemo u vidu riznica (eng. repository ili skraceno repo). Repo je kolekcija paketa koja se cuva na nekom hostu na mrezi ili na lokalnoj sekundarnoj memoriji (obicno CD ili DVD). Paketi su na odgovarajuci nacin razvrstani, a uz njih se cuvaju i izvesni opisi tih paketa koje koristi softver za rukovanje njima. Sta dobijamo ovakvom organizacijom? Osvrnimo se prvo na zavisnosti. Kada pokusamo da instaliramo jedan paket iz repoa, menazder paketa moze da utvrdi sve njegove zavisnosti. Zatim, ukoliko na sistem nije instaliran neki od paketa koji predstavlja zavisnost, moze istovremeno iz repoa da pribavi i taj dodatni paket. Organizacija u vidu riznice olaksva posao oko instalacije paketa. Bez repoa moramo sami naci paket (na disku ili na internetu), zatim eventualno naci sve zavisnosti koje nam nedostaju, i na posletku instalirati sve te pakete. Sa riznicom je dovoljno uporebiti komandu koja kaze instaliraj taj-i-taj paket i sav posao ce biti obavljen za nas.

Sarenolikost distribucija i paketa je uslovila i veliki broj razlicitih organizacija riznica. Odmah cemo se dotaci Debiana i njegove organizacije. Debian je razvio APT (Advanced Package Tool) koji predstavlja jedan od najboljih alata za rad sa riznicma. Sve Debian-bazirane distribucije su prihvatile ovaj alat, tako da je organizacij apaketa i riznica kod ovih distribucija uniformna. Ovaj alat cemo u nastavku detaljnije razmotriti.
Osim APTa, postoje i drugi alati. Skrenimo odmah paznju na distribucije koje koriste RPM pakete. Vecina njih ima neke sebi svojstvene alate. Pomenimo da postoji i APT koji radi sa .rpm umesto sa .deb paketima (apt4rpm). Ako me secanje dobro sluzi, taj alat je razvila Conectiva. Jedna od distribucija koje koriste apt4rpm je PC Linux OS. Vredan paznje je i yum. Yum je razvijen pod okriljem Red Hata i koristi se u Fedori (mislim i Rad Hatu) i distribucijama baziranih na ovima. Pacman je specifican alat koji istovremeno predstavlja i alatku za rad sa pojedinim paketima i alatku za rad sa riznicama.


6.1. APT - Advanced Package Tool

APT je razvijen pod okriljem Debiana i razvijen je tako da ima sto je moguce vise funkcionalnosti. Distribucije koje koriste APT imaju mogucnost jednako efikasnog instaliranja paketa sa interneta (sa udaljene riznice) ili sa lokalnih diskova. Alati ukljuceni u apt rade vrlo brzo i dobro. Debian, inace, uziva ugled distribucije koja ima najbolje sredjene pakete.

Ovde cemo se osvrnuti na neke osnovne funkcionalnosti APTa.



6.2. Dodavanje repoa

Kao sto smo rekli, repo u aptu predstavlja udaljenu lokaciju na inernetu ili lokalni CD/DVD. Da bi apt znao gde se koji paketi nalaze, moramo mu dati opis lokacije odnosno diska sa paketima. Svoje konfiguracione fajlove apt cuva u /etc/apt direktorijumu. Osvrnimo se prvo na fajl  /etc/apt/sources.list. Evo kako taj fajl izgleda ko mene:
deb cdrom:[Debian GNU/Linux 4.0 r0 _Etch_ - Official i386 DVD Binary-3 20070407-11:40]/ etch contrib main
deb cdrom:[Debian GNU/Linux 4.0 r0 _Etch_ - Official i386 DVD Binary-2 20070407-11:40]/ etch contrib main
deb cdrom:[Debian GNU/Linux 4.0 r0 _Etch_ - Official i386 DVD Binary-1 20070407-11:40]/ etch contrib main

# Line commented out by installer because it failed to verify:
# deb http://security.debian.org/ etch/updates main contrib
# Line commented out by installer because it failed to verify:
# deb-src http://security.debian.org/ etch/updates main contrib


#debian multimedia repo
deb http://www.debian-multimedia.org etch main

#debian beryl repo
deb http://debian.beryl-project.org etch main

#main contrib non-free sa mirora
#deb http://ftp.de.debian.org/debian/ etch main contrib non-free

Linje ovog fajla koje pocinju sa tarabom (#) (eng. sharp) predstavljaju komentare. Iza tarabe mozete pisati bilo sta. To nece uticati na konfiguraciju. Ostale linije predstavljaju opise repoa. Svaka linija koja nije komentar (i nije prazna) predstavlja opis jednog repoa. To moze da bude repo koji sadrzi binarne pakete ili pakete za izvornim kodom. U prvom slucaju linija pocinje odrednicom 'deb' a u drugom recju 'deb-src'. Drugi slucaj necemo razmatrati. Dakle za nas svaka konfiguraciona linija pocinje sa 'deb'. Nakon te linije sledi (odvojena razmakom) adresa repoa. To moze da bude internet adresa ili labela CD/DVD diska. Obratimo paznju na sintaksu adrese. Prvih nekoliko karaktera oznacava da li se radi o optickom disku ili o udaljenom http/ftp serveru. Dakle, adresa pocinje sa cdrom: , http: ili ftp: . Moze da pocne i sa jos nekoliko direktiva (file, rsh, ...) ali se one daleko redje koriste. Iza znaka "dve tacke" (:) sledi labela optickog diska, ukoliko adresa pocinje sa cdrom: odnosno adresa hosta na kom se nalazi repo ukoliko adresa pocinje sa http: ili ftp:.
Nakon adrese sledi naziv distribucije. Na istim serverima se mogu hostovati (a i na istim diskovima nalaziti) paketi za vise verzija Debiana, i za odgovarajucu granu se odlucujemo navodjenjem njenog imena ovde. Nakon naziva distribucije (i razmaka) sledi spisak sekcija (komponenti) odvojenih razmakom. Debian deli pakete koje distribuira prema licenciranju na tri vrste: main, contrib i non-free. Oni se cuvaju kao zasebne sekcije. Korisnik moze da bira da li hoce da ukljuci neku od ovih sekcija ili ne. Kod drugih distribucija koje koriste apt moze da postoji i drugacija organizacija. Procitajte dokumentaciju Vase distribucije, tu je opisan nacin na koji je organizovan apt repo.

Dakle, jedan moguci ulaz u sources.list fajl moze da ima oblik:
deb http://ftp.de.debian.org/debian/ etch        main contrib non-free
 |    |  \                         /   |         \                   /
bin vrsta       adresa_hosta         ime_distroa         sekcije

Za vise detalja o ovom konfiguracionom fajlu pogledajte prirucnik `man sources.list`.

Kako dodati repo?
Ako dodajemo repo hostovan na internetu, prvo trebamo dopisati odgovarajucu liniju u /etc/apt/sources.list. Nakon toga, cemo pozvati komandu
apt-get updateOva komanda za sve repoe opisane u sources.list dovlaci opise paketa i dodaje ih u lokalnu bazu. Naravno, apt je dovoljno "pametan" da preskoci opise koji su vec u lokalnoj bazi u svojoj najnovijoj verziji. Tek nakon sto ova komanda zavrsi posao mozemo koristiti zeljeni repo.
Ukoliko dodajemo CD/DVD mozemo koristiti elegantniji nacin. Ukucajmo u shellu:
apt-cdrom addOvaj program ce zatraziti od nas da ubacimo CD/DVD koji dodajemo i pritisnemo 'enter'.
[/home/rile]root: apt-cdrom add
Using CD-ROM mount point /cdrom/
Unmounting CD-ROM
Waiting for disc...
Please insert a Disc in the drive and press enter
Nakon toga ce sam ubaciti odgovarajucu liniju u sources.list i osveziti intarnu bazu. Nakon ove komande nema potrebe za pozivanjem `apt-get update`.

Obratite paznju: Na vasem sistemu postoji uredjaj /dev/cdrom. To je simbolicki link na neki od cd ili dvd citaca. Apt koristi /dev/cdrom za sve operacije sa optickim diskovima. Dakle, CD onosno DVD morate ubaciti u uredjaj na koji pokazuje link /dev/cdrom.

Unutar direktorijuma /etc/apt se nalazi poddirektorijum sources.list.d.
[/home/rile]root: ls /etc/apt/sources.list.d/
winehq.list
Fajlovi ovog direktorijuma se ponasaju kao da je njihov sadrzaj kopiran u /etc/apt/sources.list prilikom pozivanja komandi APTa. Ovaj direktorijum se moze koristiti za lakse konfigurisanje repoa.



6.3. Instaliranje i uklanjenje paketa

Pre nego sto predjemo na rad sa paketima koriscenjem alata koji donosi APT: Pri bilo kakvom operacijom na d paketima se ovde koristi ime paketa a ne ime fajla! Cak sta vise, obicno .deb fajlove necete ni koristiti direktno.

Centralno mesto medju alatima APTa zauzima konzolna aplikacija `apt-get`. Ona sluzi za instaliranje i uklanjanje paketa, zatim za nadogradjivanje programa na sveziju verziju i nadogradjivanje citave distribucije na novu verziju i za jos neke pomocne operacije.
Sintaksa ove nardbe ima oblik
apt-get (opcije) komanda (lista imena paketa)
Za instaliranje paketa koristi se komanda 'install' programa apt-get. Za njom se navode imena paketa koje zelimo da instaliramo. Dakle citava komanda ima oblik
apt-get install paket1 paket2 ... paketN
Sta radi ova komanda?
Prvo, proverava postojanje navedenih paketa u bazi. Ukoliko neki od paketa ne postoji, prikazace poruku o gresci i zavrsiti izvrsavanje. Ukoliko svi paketei postoje, proverice od kojih paketa oni zavise. Zavisnosti se ovde proveravaju 'rekurzivno'. Ako je potreban neki od paketa kao zavisnost, proverice i njegove zavisnosti. Kada pronadje sve potrebne pakete, apt-get ce izracunati koliko prostora na disku je potrebno za instaliranje i koliko stvari treba da skinete sa interneta. Uz ove informacije, prikazace i koje je pakete preoprucljivo da instalirate uz one koje ste izabrali i jos par korisnih informacija i uctivo Vas pitati da li pod tim okolnostima zelite da nastavite instalaciju.
[/home/rile]root: apt-get install wmaker
Reading package lists... Done
Building dependency tree... Done
The following extra packages will be installed:
  libwraster3
Suggested packages:
  wmaker-data asclock
The following NEW packages will be installed:
  libwraster3 wmaker
0 upgraded, 2 newly installed, 0 to remove and 6 not upgraded.
Need to get 0B/2540kB of archives.
After unpacking 6640kB of additional disk space will be used.
Do you want to continue [Y/n]?
Nakon sta date odobranje za nastavak instalacije, apt-get ce krenuti sa pribavljanjem paketa. Ukoliko su potrebni paketi na nekom od hostova na internetu, apt-get radi sledecu stvar. Prvo, proverava da li paket koji instalira postoji u direktorijumu /var/cache/apt/archives. Ako postoji, koristi paket odatle. U suprotnom skida sa interneta odgovarajuci paket i kopiraga u ovaj direktorijum. Nakon instalacije, paket ostaje u tom direktorijumu. Ukoliko se instalacija paketa vrsi sa CDa/DVDa, zatrazice da ubacite odgovarajuci disk u uredjaj (ne zaboravite na link /dev/cdrom). Ovaj program ne instalira pakete neposredno, vec za svaki od paketa poziva komandu dpkg u pozadini.
Sadrzaj direktorijuma /var/cache/apt/archives moze posluziti za pravljenje rezervnih kopija instaliranih paketa. Ove kopije mogu ustedeti vreme i kolicinu podataka skinutih sa interneta. Takodje mogu postedeti zivce u ne-daj-Boze situacijama ;)

Za uklanjanje paketa sa sistema koristicemo komandu 'remove' programa apt-get. Sintaksa citave naredbe je
apt-get remove paket1 paket2 ... paketN
Sta radi ova komanda?
Ova komanda prvo proverava da li su uneti paketi instalirani. Ukoliko nisu, prijavice gresku i prekinuti rad.
[/home/rile]root: apt-get remove fluxbox
Reading package lists... Done
Building dependency tree... Done
Package fluxbox is not installed, so not removed
0 upgraded, 0 newly installed, 0 to remove and 6 not upgraded.
U suprotnom, proverice koji paketi zavise od paketa koji zelimo da uklonimo. Primeticete da uklanjanjem zeljenog paketa svi ovi paketi ostaju bez svoje zavisnosti. Zato, moramo ukloniti i njih. Nakon sto apt-get proveri kakvo je stanje sa paketima, izdace obavestenje i pitati da li zelite da nastavite.
[/home/rile]root: apt-get remove xmms
Reading package lists... Done
Building dependency tree... Done
The following packages will be REMOVED:
  xmms xmms-cdread xmms-dev xmms-infinity xmms-skins
0 upgraded, 0 newly installed, 5 to remove and 6 not upgraded.
Need to get 0B of archives.
After unpacking 9052kB disk space will be freed.
Do you want to continue [Y/n]

Nadogradjivanje programa na noviju verziju se radi komandom 'upgrade' programa apt-get. Citava komanda ima sintaksu:
apt-get upgrade paket1 paket2 ... paketN

Van mreže sleep`walker

  • Nišlija
  • *****
  • Poruke: 520
  • Pol: Muškarac
  • omasuje edit boxove u koje kuca reci za pretragu.... Stizu me oni Jeleni od malo pre ;) Popravili su to pivo :)
    • Pogledaj profil
Odg: Kako da instaliram program na Linuxu? [vodic za pocetnike]
« Odgovor #7 poslato: 12.07.2007. 23:56 »
6.4. Jos neke funkcionalnosti APTa

Osim navedenih, pomenucemo jos neke komande naredbe apt-get. Komanda 'clean' sluzi za brisanje paketa arhiviranih u /var/cache/apt/archives. Dakle, sve pakete odatle izbrisacemo sa `apt-get clean`.
Komanda 'dist-upgrade' sluzi za upgrade citave distribucije na novu verziju. Komanda 'check' proverava da li negde postoji greska u zavisnostima. Za ove i sve ostale komande pogledajte prirucnik `man apt-get`.

Jedan od oblika apt-get komande koji moze da koristi je
apt-get -f installOvim se proveravaju paketi koji imaju nezadovoljene zavisnosti (broken dependencies) i te zavisnosti se instaliraju ako su dostupne.

Jos jedna korisna komanda iz porodice apt je apt-cache. Ima sintaksu slicnu komandi apt-get. Obraticemo paznju na opciju 'search'. Sa
apt-cache search neki pojam pretrazicete lokalnu bazu podataka i pronaci sve one u cijem se imenu ili opisu nalaze reci zadate iza direktive 'search'.
[/home/rile]root: apt-cache search divx player
libvlc0-dev - development files for VLC
vlc-plugin-arts - aRts audio output plugin for VLC
vlc-plugin-ggi - GGI video output plugin for VLC
vlc-plugin-svgalib - SVGAlib video output plugin for VLC
vlc-plugin-glide - Glide video output plugin for VLC
gaupol - subtitle editor for text-based subtitle files
vlc - multimedia player and streamer
vlc-nox - multimedia player and streamer (without X support)
libvlc0 - multimedia player and streamer library
mozilla-plugin-vlc - multimedia plugin for web browsers based on VLC
vlc-plugin-alsa - dummy transitional package
wxvlc - dummy transitional package
vlc-plugin-esd - Esound audio output plugin for VLC
vlc-plugin-sdl - SDL video and audio output plugin for VLC
3gpwiz - 3gp movie wizard
mencoder - MPlayer's Movie Encoder
mplayer - The Ultimate Movie Player For Linux
mplayer-nogui - The Ultimate Movie Player For Linux
w32codecs - win32 binary codecs

Alata iz APT porodice ima mnogo. Evo nekih od programa na mom sistemu pocinju sa apt
apt-cdrom             apt-extracttemplates  apt-get               apt-key             apt-cache
apt-config            apt-ftparchive        aptitude              apt-sortpkgs
Vecinu stvari necete koristiti svakodnevno. Ukoliko Vam zatrebaju, pogledajte prirucnike i pretrazite internet.



6.5. APT na pristupacniji nacin

Iako navedene naredbe predstvljaju odlicne alate, najcesce ih necete koristiti ditektno vec preko njihovih front-endova. (Da se podsetimo: front-end je program koji sluzi umesto drugog programa i radi tako sto u pozadini izdrsava taj drugi program. Obicno se front-end pravi da bi od konzolne aplikacije dobili aplikaciju koja ima GUI.) Postoji mnogo front-endova za ove alate. Tu spadaju ncurses-bazirani aptitude, zatim Qt-bazirani Adept i GTK2-azirani Synaptic. Zadrzacemo se na Synapticu jer je on najkorisceniji. Moja preporuka ide ovom  programu. Aptutude je takodje fina alatka koju treba imati pri ruci za slucaj da zakaze grafika. Svi ovi alati imaju jednostavan interfejs i vrlo su intuitivni za koriscenje.

Radna povrsina glavnog prozora Synaptica je podeljena na tri dela.

Sa leve strane nalazi se pano u kom se mogu birati sekcije paketa. Svi paketi su grupisani u sekcije prema nameni programa. (Ne mesajte ove sekcije sa main, contrib i non-free sekcijama koje smo pomenuli predhodno.) Tako imamo sekcije Developement, Editors, Electornics, .... Ovakva podela omogucava lakse upravljanje velikim brojem paketa. Osim toga, u ovom panou mogu da se izaberu i drugi pogledi. Zanimljiva opcija je 'Serach Results'. Verovatno cete ovu opciju koristiti vrlo cesto, s obzirom da je pretraga najlaksi nacin za dolazenje do zeljenog paketa.
Ostatak radne povrsine je podeljen na dva dela. U gornjem delu se nalazi spisak svih paketa koji pripadaju oznacenoj sekciji levog panoa. Naravno, spisak ovih paketa zavisi od toga sta je izabrano sa leve strane. U donjem delu se nalazi opis paketa koji je selektovan.

Ispred naziva svakog od paketa nalazi se ikonica u obliku kvadratica. Zelena ikonica znaci da je paket instaliran na sistem, bela da nije instaliran. Desnim klikom na oznaceni paket se otvara pomocni meni u kom mozete izabrati neku od akcija koju mozete primeniti na paket. Iste kacije se nalaze i u meniju 'Edit'. Akcije se razlikuju kod razlicitih stanja paketa (instaliran, nije instaliran, oznacen, ...)



Spisak svih ikonica koje mogu da se pojave sa uz ime paketa mozete videti u Help->Icon Legend. Evo kako izgledaju


Nakon sto ste markirali sve promene koje zelite da izvrsite, upotrebite 'Apply marked changes' opciju menija 'Edit', ili jednostavno kliknite na alatku 'Apply' iz linije sa alatima. Otvorice se prozor koji nudi kratak izvestaj o tome sta ste izabrali za uraditi.

Nakon klika na dugme 'Apply' ovog dijaloga, pocece primena izabranih operacija (instaliranje, uklanjanje, ...).

Meni koji se dobija desnim klikom na paket i odnosno meni 'Package' sadrze opciju 'Properties'. Ovim se otvara prozor u kome mozete pregledati osnovne podatke vezane za paket: velicinu, zavisnosti, fajlove koji su na sistem instalirani iz ovog paketa i slicno. U meniju 'Settings' postoji stavka 'Preferences' kojom se mogu konfigurisati pojedini parametri ovog programa. U istom meniju postoji jos nekoliko stavki koje sluze za konfigurisanje ovog programa. Obraticemo paznji na stavku Settings->Repositories. U njoj se mogu dodavati i iskljucivati riznice, slicno kao sto se mogu dodavati i izbacivati editovanjem fajla /etc/apt/sources.list.

Ukoliko promenite konfiguraciju repoa u ovom prozoru, ne zaboravite da izaberete opciju 'Edit->Reload Package Information' ili da kliknete dugme 'Reload' iz linije sa alatima. Ovo ce odraditi posao ekvivalentan komandi `apt-get update`. Ukoliko dodajete CD/DVD, mozete to uraditi na prostiji nacin, izborom 'Edit->Add CD-ROM'.

Vrlo koriscena stavka je 'Edit->Search'. Kao sto predpostavljate, ona omogucava pretragu svih paketa na osnovu unetih pojmova.


Kako je kod nas vrlo zastupljen spori dial-up  internet, pokazacu vam trik: Kako skinuti pakete na jednom kompu a instalirati ih na drugom.
Ovo se moze vrlo lako odraditi uz pomoc Synaptic-a. Prvo na racunaru na kom zelite da instalirate pakete dodajte opise repozitorijuma i odradite `apt-get update`. Ovo ce zahtevati minimalni transfer podataka sa interneta. Zatim, otvorite Synaptic i odaberite pakete koje zelite da instalirate. Nakom selekcije paketa, izaberite opciju 'File->Save Markings as...' i sacuvajte selekciju u nekom fajlu. Nakon toga, odaberite opciju 'File->Generate package download script...' i odaberite fajl u kome cete sacuvati skriptu za download. Ovo je obicna bash skripta koja skida sve potrebne pakete sa interneta i smesta ih u direktorijum iz kog je pozvana. Zatim prekopirajte tu skriptu na neki prenosni medijum (CD, USB flesh memorija, ...) i odnestite na masinu koja ima brz internet. Sve sto treba da postoji na toj masini je program wget i bash (ili ma koji drugi shell). Napravite tu jedan prazan direktorijum, kopirajte ovu skriptu u njega i pokrenite je iz shella. Nakon sto se download zavrsi, kopirajte sve pakete koje je skripta "dovukla" u novokreirani direktorijum na Vas prenosni medij, pa ih zatim prebacite na masinu koja nema brz internet (onu sa pocetka price) i kopirajte u direktorijum /var/cache/apt/archives. Nakon toga, pokrenite Synaptic, odaberite opciju 'File->Read Markings' i odaberite fajl u koji ste sacuvali selekciju paketa. Zatim odaberite stavku 'Edit->Apply Marked Changes', i paketi ce biti instalirani bez velikog downloada.

Synaptic ima jos dosta mogucnosti, ali cemo njih zaobici ovom prilikom.



6.6. Tips & tricks

(1) Primetite da i dpkg i rpm alati imaju opciju za instaliranje paketa bez provere zavisnosti. Ovo je generalno vrlo losa ideja. Medjutim, ponekad je vrlo korisna. Evo kako na brzaka mozete instalirati .deb paket koji se nalazi van repoa, bez bojazni da cete pogubiti zavisnosti:
Upotrebite --force-depends (ili --force-all) kao argument programa dpkg, i instalirajte paket na sistem:
dpkg --force-depends --install ime_fajla.debA zatim "pokrpite" zavisnosti sa
apt-get -f installNaravno, podrazumevamo da se u Vasim repoima nalaze sve potrebne zavisnosti.

(2) apt-get i ostali konzolni alati (kao i synaptic) mogu da koriste proxy servere za dovlacenje paketa sa interneta. Postoji precizniji nacin konfiguracije proxy servera za apt-get, ali cemo mi odve izneti laksi. Pod predpostavkom da ste ograniceni na pristup mrezi preko http proxy servera, sve sto treba da uradite je da pre pozivanja apt-get komande postavite promenljivu okruzenja http_proxy na odgovarajucu vrednost. Ako koristite bash, postarajte se da je pre poziva komande `apt-get` pozvana komanda
export http_proxy=http://ime_ili_ip_servera:portNaravno, parametre zamenite stvarnim parametrima koji odgovaraju Vasoj mrezi. Proxy u Synapticu mozete podesiti u 'Settings->Preferences'.




7. Jos nacina za instaliranje softvera

Softver mozete da dobijete i kao "instaler": Izvrsni program koji pokrenete i on za Vas obavi sve sto je potrbno za instaliranje programa.
Ovakvi programi su raznoliki. Mogu imati graficki interfejs a mogu raditi u terminalu. Obicno se na ovaj nacin instaliraju prekompajlirani binarni paketi, ali ima slucajeva da graficki instaler instalira program iz izvornog koda pri cemu ga kompajlira u pozadini. Ovako, recimo, mozete na vrlo prost nacin instalirati KDE ili XFCE iz izvornih kodova. Neki instaleri kombinuju instalaciju iz izvornog i izvrsnog koda (npr. instaler za drajvera za nVidia graficka kartice).

Nemogu reci nista konkretno o ovoj vrsti instalacije, jer razliciti instaleri rade razlicito. Obicno su ovi programi u obliku carobnjaka (wizzard) ili narodski "na next-next". Prilikom instalacije obicno nude korisniku izbor nekoliko parametara, npr. lokaciju na kojoj zeli da instalira program. Uglavnom su vrlo prosti i bez problema cete se snaci u njima.

Takodje, mozete dobiti arhivu u kojoj je spakovan program bez ikakvog instalera. Ovakvi programi se mogu pokrenuti direktno iz raspakovane arhive. Ukoliko zelite da omogucite drugim korisnicima Vaseg sistema da ih koriste, sve sto treba da uradite je da prekopirate sadrzaj odpakovane arhive na neko logicno mesto (/usr/local, /opt, ...), sredite privilegije i vlasnistvo nad tim fajlovima i napravite jedan simbolicki link u nekom od direktorijuma koji su obicno ukljuceni u PATH promenljivu okruzenja (recimo u /usr/local/bin) koji pokazuje na izvrsni fajl ovog programa.
« Poslednja izmena: 05.09.2007. 01:31 sleep`walker »

Van mreže sleep`walker

  • Nišlija
  • *****
  • Poruke: 520
  • Pol: Muškarac
  • omasuje edit boxove u koje kuca reci za pretragu.... Stizu me oni Jeleni od malo pre ;) Popravili su to pivo :)
    • Pogledaj profil
Odg: Kako da instaliram program na Linuxu? [vodic za pocetnike]
« Odgovor #8 poslato: 13.07.2007. 00:13 »
Ufff... napravio sam malu zbrku oko ovoga. Ali dobro sad... Mozda jos i neko nesto nauci odavde :)

Ako nestamu slike, izvinite. Hostovane su na geocities dok ne budem promenio to. Mislim da je brandwidth ogranicen po satu kod njih, tako da ako nestanu slike sacekajte sat vremena i pogledajte ponovo.

@JovanT: Mislim da si bio u pravu za ogranicenje. Postoji jedno ogranicenje koje mi je "iskocilo": poruka moze imati najvise 20000 znakova. Ovde je brljao kod jednog primera za configure skriptu. Nikako mi ne da to da okacim, ali nije ni mnogo bitno. Mada je bio lep primer koliko opcija moze da se prenese ovoj skripti :)

Van mreže WebWolf

  • 18 000% Nishlija :)
  • Administrator
  • Meraklija
  • *****
  • Poruke: 5.433
  • Pol: Muškarac
    • Pogledaj profil
Odg: Kako da instaliram program na Linuxu? [vodic za pocetnike]
« Odgovor #9 poslato: 13.07.2007. 16:07 »
Znaci sleepwalker, respect brate. Ovo je... ovo je fantasticno. Mislim nemam reci... dobar si ti covek!

Van mreže sleep`walker

  • Nišlija
  • *****
  • Poruke: 520
  • Pol: Muškarac
  • omasuje edit boxove u koje kuca reci za pretragu.... Stizu me oni Jeleni od malo pre ;) Popravili su to pivo :)
    • Pogledaj profil
Odg: Kako da instaliram program na Linuxu? [vodic za pocetnike]
« Odgovor #10 poslato: 13.07.2007. 19:54 »
Ma nije to nista.
Nego ne bi bilo lose da se ljudi koji zele nadovezu na tekst. Recimo Slekverovci da napisu nesto o instaliarnju .tgz-a Fedorasi o Yum-u, Suseasi o SmartPM-u i tako.... Samo da nadjemo raspolozene ljude.

Van mreže plitvica

  • Novajlija
  • *
  • Poruke: 20
  • Pol: Muškarac
  • jem gomna
    • Pogledaj profil
Odg: Kako da instaliram program na Linuxu? [vodic za pocetnike]
« Odgovor #11 poslato: 19.10.2007. 17:31 »
Hvala druze na veoma iscrpnom upustvu. Ja kao nov korisnik linuxa veoma malo sam razumeo od svega ovoga jer tesko je ovo procitati pa podici linux da probas , a dve masine nemam .  :-\
najbolje bi bilo da negde ima klub linux korisnika gde bi vi dobri poznavaoci nama pocetnicima na delu pokazali sve ovo.
Znam po sebi da bi sve ovo sto si pisao i toliko se trudio (na cemu se jos jednom zahvaljujem ) ti mogao na delu da pokazes i objasnis za mnogo krace vreme , a i ja bi isto tako brzo savladao.
Nego docice valjda vreme i za tako nesta .
 pozdrav :hello:

Van mreže Milos Maric

  • Punopravni član
  • ***
  • Poruke: 109
  • Pol: Muškarac
    • Pogledaj profil
Odg: Kako da instaliram program na Linuxu? [vodic za pocetnike]
« Odgovor #12 poslato: 26.10.2007. 18:09 »
Sta ce ti dve masine? Lepo citas teks i isprobavas...