Pre nego što se odlučiš za skidanje nezavisnog programa, nije loše proveriti da li već postoji paket tog programa napravljen od strane izdavača tvoje distribucije (opcija
broj 1).
Tipično na CDovima nema svih paketa koje distribucija nudi, već postoji centralno skladište i ogledala na Internetu, koja sadrže sve pakete. Za ovo opet svaka distribucija obično ima neki program koji doziva ta skladišta (obično baš taj koji i koristiš za instaliranje paketa sa CDova), i daje ti da prosto izabereš pakete koje želiš da instaliraš; zatim se zavališ i čekaš da se izabrani paketi skinu i instaliraju, bez dalje intervencije sa tvoje strane.
Ako distribucija ipak nema paket za program koji želiš, sledeća stavka (
broj 2) je da pokušaš da nađeš paket prilagođen baš tvojoj distribuciji, iako ne od strane izdavača distribucije (dakle ne iz pomenutog centralnog skladišta, niti iz programa koji koristiš za instaliranje paketa odatle). Obično se veze do takvih paketa mogu naći na samim matičnim sajtovima programâ.
Obrati pažnju da takav prilagođen ali nezavisan paket često mora biti ne samo za tvoju distribuciju, nego i za tačno određenu verziju tvoje distribucije, inače može doći do problema. Uopšteno, što se verzije više razlikuju, veće su šanse da se paket neće slagati sa tvojom verzijom distribucije; posebno ako se velike verzije razlikuju (prvi broj u verziji distribucije), male su šanse da će paket raditi.
Kad jednom skineš takav nezavisan paket, obično postoji poseban program koji će ga instalirati, u zavisnosti od tipa paketa. Npr. takvi instalatori su
rpm ili
dpkg iz terminala, a često i grafička okruženja imaju menadžere datoteka koji omogućavaju da samo klikneš na paket, i onda se ovi instalatori automatski pozivaju u pozadini.
Pri instaliranju nezavisnog paketa često će se dogoditi da ti se instalator žali na nezadovoljene međuzavisnosti (
broken dependencies). Ovde se radi o sledećem: pod Linuksom i ostalim OSovima koji imaju jak fokus na „slobodne“ programe (za koje npr. možeš skinuti i izvorni kôd), programi se tipično grade tako da sarađuju međusobno. Ne ulazeći sada u dobre i loše strane toga, jedna nezgodna osobina je svakako to što paket koji želiš da instaliraš zahteva da neki drugi paketi budu instalirani pre njega (to su te međuzavisnosti). Tada ti ostaje samo da takođe pojuriš te druge pakete, jedino što je sad već veća verovatnoća da se mogu naći u paketima izdavača (tj. opcija broj 1), pošto su obično u pitanju neki osnovniji paketi.
Ako cela priča sa paketima ipak propadne, poslednja opcija koju imaš (
broj 3) je da skineš izvorni paket programa (obično onaj glavni koji se nudi na matičnom sajtu programa, sa nastavcima
tar.gz ili
tar.bz2) i sam ga kompiluješ (pretvoriš u binarni oblik, onaj koji se može pokrenuti). Srećom, ovo je često lakše nego što možda zvuči, jer postoje (nezvanično) standardni mehanizmi koji se za to koriste. Glavno je što su ovakvi paketi jedinstveni, ne zavise od distribucije.
Pri kompilovanju takvih izvornih paketa, prvo moraš otpakovati paket, jer je u pitanju obična arhiva (kao zip). Zatim uđeš u dobijenu fasciklu (u terminalu, odvučeš se do tamo jednom ili serijom naredbi
cd), i tamo kucaš prvo:
./configure
Zatim će početi neko dugačko listanje, obično u trajanju od nekoliko desetina sekundi, pa do minut-dva. Ovo je faza konfiguracije, u kojoj se proverava na šta tačno liči tvoj sistem, i automatski se podešava kompilovanje. Može se desiti da tvoj sistem ne zadovoljava zahteve za kompilovanje, što će ti biti javljeno. Ako do toga dođe, najverovatnije je isto iz razloga nedostatka nekih drugih neophodnih programa (biće ti rečeno koji su to). U tom slučaju opet možeš pokušati da ih instaliraš jednom od opcija 1, 2, 3, pa opet pokrenuti konfiguraciju.
Ako konfiguracija prođe bez problema, posle nje kucaš:
make
Ovo je faza kompilacije. U njoj će obično svašta nerazumljivo da se ispisuje u terminalu, i tako od nekoliko minuta, pa do nekoliko desetina minuta (pa čak i preko sata), u zavisnosti od veličine programa. Ovo je odlučujuća faza: ako ovde nešto pođe kako ne treba, onda ti nema druge do da se raspitaš okolo šta se dešava (ili, naravno, da sam ispraviš problem, ali je za to potrebno izvesno poznavanje programiranja i sistema koji koristiš). Da je nešto pošlo po zlu, znaćeš tako što će se na kraju listanja pojaviti nekakve zvezdice i nekoliko pominjanja
error ;) Ako listanje stane a da se takvo što ne pojavi, onda je kompilacija obično prošla kako treba.
Poslednja faza je instalacija. Da bi to mogao da obaviš, moraš znati korenu (
root) lozinku (jer želiš program da instaliraš na sistem, dakle van tvoje domaće fascikle). Kucaš ovo:
su -c "make install"
Korena lozinka će ti odmah biti zatražena, pošto je otkucaš počeće brzo listanje koje pokazuje koje se sve datoteke instaliraju na sistem, i gde. Sa ovim obično nema nikakvih problema.
Posle ovoga, program je instaliran, ali je njegovo pokretanje još uvek mali problem: nećeš ga imati KDEovom K-meniju (ili Gnomovom meniju), već ćeš morati da ga pokreneš iz terminala, i za to možda moraš da podesiš još po nešto (ali samo jednom, ne za svaki ovako instalirani program ponaosob). Nažalost, ovde je već moguće više zavrzlama, ali najčešća je ova: moraš da kažeš sistemu gde da nađe program kad otkucaš njegovo ime u terminalu (usput, i to ime moraš da znaš, najčešće se poklapa sa imenom paketa, ali ne uvek). A gde se program nalazi, određeno je prilikom konfiguracije; ako ništa nisi sam zadao (a nisi, ako si otkucao samo
./configure), onda će izvršna datoteka programa biti instalirana u
/usr/local/bin. Ovu fasciklu moraćeš da navedeš u tzv. promenljivoj okruženja $PATH (putanja do izvršnih programa). To činiš tako što otvoriš datoteku .bashrc (opet najverovatnije, odstupanja od distribucije do distribucije su moguća) koja se nalazi u tvojoj domaćoj fascikli (pazi, zbog tačke na početku imena možda će biti skrivena pri listanju datoteka u menadžeru ili gde drugde), i u njoj upišeš (recimo na kraju):
export PATH=/usr/local/bin:$PATH
A zatim ponovo pokreneš terminal. Moguće je da tvoja distribucija već navodi ovu fasciklu u putanji, tako da ne moraš da se petljaš sa ovim. Znaćeš tako što odmah posle instalacije pokušaš da pokreneš program iz terminala; ako te obavesti da ne poznaje takvu naredbu, onda moraš da uradiš ovo sa putanjom.
Napomena: Neki pretpostavljaju opciju broj 3 (kompilacija) opciji broj 2 (nezavisni paketi), usled nevolja do kojih može doći pri traženju odgovarajućih međuzavisnih paketa; lako se može desiti da se neka dva paketa ne „prepoznaju“ iako bi trebalo (usled toga što ih ne sastavljaju sami izdavači distribucije, već više nezavisnih strana).