offline
- Pridružio: 01 Okt 2004
- Poruke: 351
- Gde živiš: Qrshumliya
|
Evo u prilog jedan moj tekstic, sa jednog drugog foruma:
Softver na linuxu dolazi ili u obliku izvornog koda ili u obliku binarne arhive.
1. Instalacija programa iz izvornog koda
Prednosti ovakve distribucije programa su sledece: Imate citav kod aplikacije koji mozhete da menjate prema svojim afinitetima; Arhive sa izvornim kodom su obichno manje za download od binarnih kompajliranih verzija programa; Mozete ih kompajlirati na raznim sistemima; program je nakon kompajliranja na Vasoj masini optimizovaniji (citaj: brze radi) negoli program instaliran kao binarni paket. Mane su sledece: Za instalaciju je potreban odgovarajuci kompajler na sistemu na kom se program instalira (obicno je to gcc); Cesto su potrebne odgovarajuce biblioteke.
Izvorni kod programa se obichno nalazi u vidu neke arhive (tar.gz, tar.bz2, ...) Da bi se instaliralo program, potrebno je najpre raspakovati datu arhivu. To mozete uraditi iz X-a, koristeci neku aplikaciju za rad sa arhivama, obichno je to Ark ili FileRoller. One su dovoljno intuitivne da ce se svako ko je bar jednom video WinZip ili slichan program snaci u istom. Mozhete raspakovati arhivu i iz shell-a
Citat:$ tar xfvz ime_paketa
Nakon shto ste raspakovali arhivu, udjite u direktorijum u koji je raspakovana. Strogo je preporuchljivo u ovom trenutku prochitati sadrzhaj fajlova README i/ili INSTALL koji se obichno nalaze u tom direktorijumu. Tu su vishe-manje detaljno opisani nachini instalacije programa. Nadalje cemo se baviti samo 'standardnim' nacinom instalacije, tj. onom najceshcom varijantom za instaliranje softvera iz izvornog koda.
Nakon shto ste ushli u direktorijum u kom je raspakovana arhiva sa > $ cd /put/do/dira < ukucajte:
Citat:$ ./configure
'confirure' je shell skripta koja se obichno nalazi u direktorijumu u kom je raspakovana arhiva sa izvornim kodom. Shta ona radi? Ova skripta ima dva glavna zadatka: prvo, proverava da li su na sistemu instalirane sve potrebne biblioteke i kompajleri koji su potrebni za kompajliranje izvornog koda. Ukoliko nisu, program ne mozhete kompajlirati! Drugo, ukoliko skripta configure nadje da su uslovi za instalaciju zadovoljeni, napravice fajl 'Makefile', ili vishe takvih fajlova (obicno za svaki poddirektorijum po jedan).
Makefile je fajl koji sadrzhi u sebi spisak 'targeta' i komandi koje se izvrshavaju pozivom tog 'target-a'. Npr. ukoliko postoji 'target' sa imenom nesto, kucanjem "make nesto" pozvacete niz naredbi koje su povezane sa ovim 'targetom'. Primetite da komanda make proverava samo Makefile koji se nalazi u TEKUCEM direktorijumu. Znachi ako se nalazite u direktorijumu /home/ja/instalacija pozivom "make nesto" izvrsicete niz naredbi koje su asocirane sa 'targetom' 'nesto' fajla /home/ja/instalacija/Makefile. Ukoliko ukucate samo "make" pozvace se podrazumevani (default) target! Makefile ima izuzetno slozhenu i korisnu sintaksu. Pogledajte 'manual pages' ako vas zanima vishe o ovome!
Ok. Kompajliranje programa je upravo 'default target' nasheg makefile-a. Znachi ukucajte:
Citat:$ make
Ovim cete iskompajlitati program. Tu je gotovo ceo posao zavrshen. Potrebno je samo iskompajlirane fajlove prebaciti na neko 'logichnije' mesto. Npr. negde unutar /usr direktorijuma. Za ovo postoji 'target' install u Makefile-u. Medjutim, obichan user najcesce nema ovlascenja da pishe po direktorijumima /usr, /bin, /etc (...) pa ovo moramo da uradimo kao korisnik koji ima pravo pisanja po potrebnim direktorijumima. To je obichno root (mada se mozhe dozvoliti i drugim korisnicima ovakva privilegija). Dakle, logujemo se kao 'super user':
Citat:$ su root
Nakon unosa sifre imacemo pravo pisanja po navedenim direktorijumima. Pozivamo install iz Makefile-a:
Citat:# make install
I, to bi bilo to! Program je instaliran.... Uz put, u Makefile-u obichno postoje i 'target-i' clear i uninstal:
$ make clear --- uklanja binarne (kompajliranje fajlove iz direktorijuma u kom se nalazi source)
# make uninstall --- uklanja kompajlirane fajlove sa mesta na koje ih je kopirao 'make install'
2. Instalacija programa iz binarnih paketa
Binarni paketi su arhive iskompajliranih fajlova. Obichno sadrzhe neku skriptu za podeshavanje sistema prilikom instalacije. Sve shto treba uraditi prilikom instalacije je iskopirati odgovarajuce fajlove na odgovarajuce mesto. Medjutim, ovde mozhe doci do konflikta: moguce je da na sistemu ne postoje biblioteke koje su potrebne za rad programa koji zhelimo da instaliramo! Te biblioteke se obichno nalaze u nekom drugom binarnom paketu (koji je najceshce sastavni deo distroa ). U ovom sluchaju se kaze da prvi paket zavisi od drugog (za zavisnost se obichno koristi termin 'depedencies' shto ce Vas stalno pratiti ako instalirate binarne pakete, a narochito rpm ). Znachi ne mozete instalirati prvi paket ukoliko nije instaliran drugi. (To je odprilike ono shto proverava ./configure skripta na pochetku instalacije iz source-a)
Prednost instalacije binarnog paketa je u lakoci instalacije. Mane su sledece: obichno jedan binarni paket mozhete instalirati samo na jednoj distribuciji (chesto samo na jednoj verziji neke distibucije ili samo na odgovarajucoj verziji kernela!), gubi se na performansama u odnosu na instalaciju iz source-a.
Za instalaciju vecine paketa postoje grafichki front-endovi (npr. rpmdrake ili YaST), ali ce mo se mi zadrzhati na shellu. Postoji vishe vrsta binarnih paketa, a ovde cemo se osvrnuti na tri najrasprostranjenije: rpm, tgz i deb.
RPM Nekada skracenica od Red hat Package Mandatory, danas ih se Red Hat 'odrekao' pa je skracenica RPM Package Mandatory. Verovatno su najrasprostranjeniji i po broju distroa koji ih koriste i po broju paketa. Koriste se u Red Hatu i svim distroima koji su nastali iz njega (Mandrake, SuSE, Fedora, PCLinuxOS, ProtOS, Linuxo Live.....) Tehnichki su dosta slabi: programi instalirani iz rpm-a i iz source-a se ochigledno razlikuju po brzini, chesta je pojava 'broken dependencies' tj. deshava se da ne mogu da 'otkriju' od kojih paketa zavise. Tada je obichno na korisniku da sam ponadje zavisnosti, inache ne mozhe instalirati iste. Ova pojava je poznata kao 'rpm hell', i stvarno ume da izludi... Okusio sam
Instaliraju se sa:
Citat:# rpm -ivh ime_paketa.rpm
Primetite da je dovoljno ukucati "rpm -i ime_paketa.rpm" ali gornja sintaksa sa switch-evima i, v i h omogucava ispisivanje vishe podataka tokom instalacije. Instalirani programi se uklanjaju sa:
Citat:# rpm -e ime_paketa
Za vishe informacija "rpm --help" i "man rpm".
TGZ su paketi koje koristi Slackware i distroi bazirani na njemu. Tehnichki to je samo arhiva kompajliranog softvera sa skriptom za instalaciju. NE PROVERAVAJU zavisnosti, tako da ce se uvek instalirati, ali nece raditi ukoliko zavisnosti nisu ispunjene Programi su optimizovani, i vrlo je mala razlika izmedju programa instaliranog iz tgz-a i sourcea.
Instaliraju se komandom
Citat:# installpkg ime_paketa.tgz
Najjednostavnije se brishu korishcenjem alata 'pkgtool', koji je, iako radi u text-modu, dovoljno intuitivan za upotrebu, ili komandom
Citat:#removepkg ime_paketa.tgz
DEB su paketi koji koristi Debian i distroi bazirani na njemu (Xandros, Linspire[ex Lindows], Mepis, Knoppix, LibraNet, ....) Tehnichni su najsavrsheniji. Programi instalirani iz njih imaju gotovo iste performanse kao i instalirani iz izvornog koda, a zavisnosti odlichno proveravaju. Velika prednost za korisnike Debiana je centralizovana baza skoro svih zhivih .deb paketa na netu, i apt-get sistem kojim se mogu oni downloadovati i instalirati.
Instalacija .deb paketa mozhe se izvrshiti komandom
Citat:# dpkg -i ime_paketa.deb
Za sklanjanje instaliranih paketa je najlakshe koristiti alatku 'dselect' koja omogucava lako manipulisanje .deb paketima iz shella.
|