Instalacija paketa i kompajliranje - Ubuntu
Postano: 26 ožu 2009, 09:32
Svaka distribucija Linuxa, ima neki svoj nacin manipulacije paketima i njihovog instaliranja.
Ubuntu buduci da je Debian bazirana distribucija, koristi .deb pakete i to moze da pribavi i instalira na vise nacina.
I) Prvi i glavni sistem je Synaptic paket manager, koji iz svojih definisanih repozitorijuma (adresa ka bazi softwera na nekom serveru), vuce i onda instalira paket. To mu je osnovna namena, ali se takodje bavi azuriranjem paketa, vodi racuna o medjuzavisnostima paketa kada instalira. Sluzi i za deinstalaciju tako instaliranih paketa, takodje i onih instaliranih duplim klikom iz nekog .deb paketa (npr. skinut sa http://www.getdeb.net)
Synaptic je u stvari graficki frontend za dpkg i kada skine paket iz repoa, instalira ga ustvari komandom dpkg -i ime_paketa. Deinstalira komandom dpkg -r ime_paketa bez brisanja konfiguracionih fajlova, a sa opcijom --purge, uklanja i kofiguracione fajlove. Takodje, vec skinuti . deb paket za instalaciju, se moze, znaci, instalirati u Ubuntuu ili duplim klikom na paket, ili komandom sudo dpkg -i ime_paketa
Adrese repozitorijuma se nalaze u fajlu /etc/apt/sources.list i mogu se dodavati, menjati samim editovanjem tog fajla ili graficki u System > Sofware Sources. Osnovne adrese su tu, ali bi bilo mozda pametno dodati i adresu ka Medibuntu repozitorijumu, kako bi kroz Synaptic bili raspolozivi programi, kao sto su Skype, Adobe Acrobat Reader, Google Earth i razni drugi. To se radi na sledeci nacin:
Za sva Ubuntu izdanja, zajedno sa GPG kljucem
II) Drugi nacin bi bio u terminalu, tj koriscenjem apt-get naredbe
To bi islo ovako; sudo apt-get install ime_paketa i onda bi se taj paket skinuo, takodje iz repozitorijuma i instalirao. Potrebno je jednino znati tacno ime paketa. Ubuntu je tu otisao malo dalje, pa je dosta intuitivan. Naime, kada otkucate ime paketa koje nije potpuno ili je razlicita verzija od dostupne, on ispisuje mogucu varijantu imena u terminalu, tj. nudi onu koja je dostupna u repozitorijumu (za razliku od fenomenalnog PCLOS koji takodje koristi apt-get, a i Synaptic). Pre ovakvog nacina povlacenja i instalacije paketa ne bi bilo lose odraditi i sudo apt-get update, kako bi se osvezila lista raspolozivih paketa u repozitorijumu. Deinstalacija se radi sa komandom sudo apt-get remove ime_paketa, a u slucaju da zelimo kompletno uklanjanje (ukljucujuci i konfiguracione fajlove), onda ukljucujemo i opciju --purge: znaci, sudo apt-get remove --purge ime_paketa. Primecujete, da je sve ovo potrebno raditi sa sudo, tj. za instalaciju su potrebna administratorska ili root prava.
apt-get takodje vodi racuna o medjuzavisnostima paketa, tako da ce pri instalaciji, proveriti iste i ponuditi instalaciju dodatnih, potrebnih paketa, ako ih ima dostupno.
Uz pomoc apt-get, moguce je i nadogradjivati instalirane pakete komandom sudo apt-get upgrade ime_paketa ili recimo nadograditi celu distribuciju na novu verziju sa sudo apt-get dist-upgrade.
Korisne opcije su i sudo apt-get autoremove (uklanja pakete od kojih vise nista ne zavisi), zatim sudo apt-get autoclean (uklanja zaostavstine deinstaliranih paketa) i sudo apt-get autoclean (cisti aptov kes, tj. skinute instalacije paketa iz /var/cashe/apt/archives).
III) Treci nacin, je aptitude, program koji se takodje upotrebljava u konzoli, ali ima i graficki intrefejs. Preferira se u odnosu na apt-get iz tog razloga i navodno, zato jer bolje proverava i barata zavisnostima paketa. Koristi se na slican nacin kao apt-get, tj. sudo aptitude install ime_paketa, za instalaciju, sudo aptitude remove ime_paketa. Dolaze u obzir sledece opcije remove, purge, hold, unhold, keep, reinstall To su osnove, za ozbiljniju upotrebu i detaljnije o opcijama mozete pogledati man aptitude
IV) Cetvrti nacin bi bilo kompajliranje programa iz izvornog koda ili ti source code i to obicno, kada nema drugih opcija
U Ubuntu se moramo prvo obezbediti da imamo instaliran kompajler gcc, koji se koristi za kompajliranje izvornog koda pisanog u C ili C++ (najcesce). To cemo pribaviti instaliranjem paketa buil-essential
.
Ne bi bilo lose instalirati i automake, kako bi mogli da pokrenemo configure.sh i autogen.sh shell scripts koji cesto dodju u izvornom kodu.
Konacno,mozemo instalirati i CheckInstall, koji nam sluzi za "sigurno" instaliranje .
Onda se sve svodi na skidanje izvornog koda sa neta, njegovog raspakivanja u zeljeni folder npr. /home/user i tri osnovne komande sa kojima cemo konfigurisati, napraviti i instalirati program.
Npr. promenimo u terminalu direktorijum u onaj gde je otpakovan prgram, npr. audacious_xx
Zatim ide komanda , koja proverava dali kompjuter ispunjava neophone zahteve/zavisnosti da se sagradi paket i omogucava promenu raznih opcija kompajliranja paketa i promenu puta gde ce program biti instaliran. Ukoliko u toku ovog koraka ispise da fali neki paket ili vise njih, oni se kao zavisnosti, moraju instalirati pa ponoviti ./configure.
Ukoliko sve prodje kako treba, ide se na sledecu komandu, koja ustvari sada kompajlira program.
Kada se to zavrsi ostaje jos da se program instalira na sistem. i to je to.
Kod Ubuntua, postoji jos jedna pogodnost. Ako program instalirate sa, on se instalira kao klasican .deb paket i moguce ga je deinstalirati iz Synaptica, dok klasicno kompajlirane programe, nije. Takodje napravice i .deb instalacioni paket za drugu priliku, u folderu gde smo kompajlirali.
Kao poslednje, pomenucemo binarne pakete sa ekstenzijom .bin, kao vrstu paketa zajednicku za dosta razlicitih distribucija (i .deb i .rpm baziranih). Ovakvi paketi instaliraju se tako sto u terminalu, odemo u direktorijum gde se paket nalazi, npr. pa zatim paketu da izvrsna mogucnost i onda komandom paket i instalira
Ubuntu buduci da je Debian bazirana distribucija, koristi .deb pakete i to moze da pribavi i instalira na vise nacina.
I) Prvi i glavni sistem je Synaptic paket manager, koji iz svojih definisanih repozitorijuma (adresa ka bazi softwera na nekom serveru), vuce i onda instalira paket. To mu je osnovna namena, ali se takodje bavi azuriranjem paketa, vodi racuna o medjuzavisnostima paketa kada instalira. Sluzi i za deinstalaciju tako instaliranih paketa, takodje i onih instaliranih duplim klikom iz nekog .deb paketa (npr. skinut sa http://www.getdeb.net)
Synaptic je u stvari graficki frontend za dpkg i kada skine paket iz repoa, instalira ga ustvari komandom dpkg -i ime_paketa. Deinstalira komandom dpkg -r ime_paketa bez brisanja konfiguracionih fajlova, a sa opcijom --purge, uklanja i kofiguracione fajlove. Takodje, vec skinuti . deb paket za instalaciju, se moze, znaci, instalirati u Ubuntuu ili duplim klikom na paket, ili komandom sudo dpkg -i ime_paketa
Adrese repozitorijuma se nalaze u fajlu /etc/apt/sources.list i mogu se dodavati, menjati samim editovanjem tog fajla ili graficki u System > Sofware Sources. Osnovne adrese su tu, ali bi bilo mozda pametno dodati i adresu ka Medibuntu repozitorijumu, kako bi kroz Synaptic bili raspolozivi programi, kao sto su Skype, Adobe Acrobat Reader, Google Earth i razni drugi. To se radi na sledeci nacin:
Za sva Ubuntu izdanja, zajedno sa GPG kljucem
Kod: Označi sve
sudo wget http://www.medibuntu.org/sources.list.d/`lsb_release -cs`.list --output-document=/etc/apt/sources.list.d/medibuntu.list; sudo apt-get -q update; sudo apt-get --yes -q --allow-unauthenticated install medibuntu-keyring; sudo apt-get -q updateTo bi islo ovako; sudo apt-get install ime_paketa i onda bi se taj paket skinuo, takodje iz repozitorijuma i instalirao. Potrebno je jednino znati tacno ime paketa. Ubuntu je tu otisao malo dalje, pa je dosta intuitivan. Naime, kada otkucate ime paketa koje nije potpuno ili je razlicita verzija od dostupne, on ispisuje mogucu varijantu imena u terminalu, tj. nudi onu koja je dostupna u repozitorijumu (za razliku od fenomenalnog PCLOS koji takodje koristi apt-get, a i Synaptic). Pre ovakvog nacina povlacenja i instalacije paketa ne bi bilo lose odraditi i sudo apt-get update, kako bi se osvezila lista raspolozivih paketa u repozitorijumu. Deinstalacija se radi sa komandom sudo apt-get remove ime_paketa, a u slucaju da zelimo kompletno uklanjanje (ukljucujuci i konfiguracione fajlove), onda ukljucujemo i opciju --purge: znaci, sudo apt-get remove --purge ime_paketa. Primecujete, da je sve ovo potrebno raditi sa sudo, tj. za instalaciju su potrebna administratorska ili root prava.
apt-get takodje vodi racuna o medjuzavisnostima paketa, tako da ce pri instalaciji, proveriti iste i ponuditi instalaciju dodatnih, potrebnih paketa, ako ih ima dostupno.
Uz pomoc apt-get, moguce je i nadogradjivati instalirane pakete komandom sudo apt-get upgrade ime_paketa ili recimo nadograditi celu distribuciju na novu verziju sa sudo apt-get dist-upgrade.
Korisne opcije su i sudo apt-get autoremove (uklanja pakete od kojih vise nista ne zavisi), zatim sudo apt-get autoclean (uklanja zaostavstine deinstaliranih paketa) i sudo apt-get autoclean (cisti aptov kes, tj. skinute instalacije paketa iz /var/cashe/apt/archives).
III) Treci nacin, je aptitude, program koji se takodje upotrebljava u konzoli, ali ima i graficki intrefejs. Preferira se u odnosu na apt-get iz tog razloga i navodno, zato jer bolje proverava i barata zavisnostima paketa. Koristi se na slican nacin kao apt-get, tj. sudo aptitude install ime_paketa, za instalaciju, sudo aptitude remove ime_paketa. Dolaze u obzir sledece opcije remove, purge, hold, unhold, keep, reinstall To su osnove, za ozbiljniju upotrebu i detaljnije o opcijama mozete pogledati man aptitude
IV) Cetvrti nacin bi bilo kompajliranje programa iz izvornog koda ili ti source code i to obicno, kada nema drugih opcija
U Ubuntu se moramo prvo obezbediti da imamo instaliran kompajler gcc, koji se koristi za kompajliranje izvornog koda pisanog u C ili C++ (najcesce). To cemo pribaviti instaliranjem paketa buil-essential
Kod: Označi sve
sudo apt-get install build-essentialNe bi bilo lose instalirati i automake, kako bi mogli da pokrenemo configure.sh i autogen.sh shell scripts koji cesto dodju u izvornom kodu.
Kod: Označi sve
sudo apt-get install automakeKod: Označi sve
sudo apt-get install checkinstallNpr. promenimo u terminalu direktorijum u onaj gde je otpakovan prgram, npr. audacious_xx
Kod: Označi sve
cd /home/user/audacious_xxKod: Označi sve
./configureUkoliko sve prodje kako treba, ide se na sledecu komandu
Kod: Označi sve
makeKada se to zavrsi ostaje jos da se program instalira na sistem.
Kod: Označi sve
sudo make installKod Ubuntua, postoji jos jedna pogodnost. Ako program instalirate sa
Kod: Označi sve
sudo checkinstallKao poslednje, pomenucemo binarne pakete sa ekstenzijom .bin, kao vrstu paketa zajednicku za dosta razlicitih distribucija (i .deb i .rpm baziranih). Ovakvi paketi instaliraju se tako sto u terminalu, odemo u direktorijum gde se paket nalazi, npr.
Kod: Označi sve
cd /home/user/DownloadsKod: Označi sve
sudo chmod 755 ime_paketa.binKod: Označi sve
./ime_paketa.bin