Instalacija paketa i kompajliranje - Ubuntu

Diskusije usko vezane uz Ubuntu i srodne distribucije (Kubuntu, Xubuntu, Lubuntu, LinuxMint...)

Moderator/ica: Moderatori/ce

Odgovori
Avatar
fritz62s
Postovi: 433
Pridružen/a: 26 svi 2008, 13:51
Spol: M
OS: Ubuntu 10.04
Lokacija: Beograd

Instalacija paketa i kompajliranje - Ubuntu

Post Postao/la fritz62s »

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

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 update
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

Kod: Označi sve

sudo apt-get install build-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.

Kod: Označi sve

sudo apt-get install automake
Konacno,mozemo instalirati i CheckInstall, koji nam sluzi za "sigurno" instaliranje .

Kod: Označi sve

sudo apt-get install checkinstall
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

Kod: Označi sve

cd /home/user/audacious_xx
Zatim ide komanda

Kod: Označi sve

./configure
, 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

Kod: Označi sve

make
, koja ustvari sada kompajlira program.
Kada se to zavrsi ostaje jos da se program instalira na sistem.

Kod: Označi sve

sudo make install
i to je to.
Kod Ubuntua, postoji jos jedna pogodnost. Ako program instalirate sa

Kod: Označi sve

sudo checkinstall
, 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.

Kod: Označi sve

cd /home/user/Downloads
pa zatim paketu da izvrsna mogucnost

Kod: Označi sve

sudo chmod 755 ime_paketa.bin
i onda komandom paket i instalira

Kod: Označi sve

./ime_paketa.bin
Zadnja izmjena: fritz62s, dana/u 21 svi 2009, 21:56, ukupno mijenjano 3 puta.
Resistance is futile, you will be asimilated!
Il' si Lindža, il' si mindža! :shock: apt-get moo
Registrovani Linux korisnik #465156 / Ubuntu korisnik #20700
Avatar
Suko
Site Admin
Postovi: 16079
Pridružen/a: 03 tra 2008, 18:09
Spol: M
OS: Mint 17 Cinnamon
Lokacija: Svugdi me ima. Slavonija uglavnom.

Re: Instalacija paketa i kompajliranje - Ubuntu

Post Postao/la Suko »

Krasan tekst.
Da li imaš nešto protiv da ga iskoristimo za naš Wiki?
Avatar
Markec
Postovi: 3865
Pridružen/a: 30 sij 2008, 14:55
Spol: M
OS: neodlučan
Lokacija: Croatia/Zagorje

Re: Instalacija paketa i kompajliranje - Ubuntu

Post Postao/la Markec »

ej zaboravio si staviti install

Kod: Označi sve

sudo apt-get build-essential
Avatar
x_sport
Postovi: 231
Pridružen/a: 17 pro 2008, 13:46
Spol: M
OS: Arch | W7
Lokacija: Split

Re: Instalacija paketa i kompajliranje - Ubuntu

Post Postao/la x_sport »

Pitanjce vezano uz tekst...
Pod Third Party Software imam sljedeće unešeno
Screenshot-Software Sources.png
(35.86 KiB) Preuzeto 288 puta.
E sad, da li bi mi svi reposi trebali imat kvačicu ili ne?
Da li su mi reposi koji pored sebe imaju non-free samo duplići ili trebaju biti tu gdje jesu?
Hvala!
"It ain't about how hard you can hit,it's about how hard you can get hit and keep moving forward..."
Give back to the community....translate!:)
"If you live properly,the dreams will come to you." Randy Pausch,R.I.P.
Avatar
fritz62s
Postovi: 433
Pridružen/a: 26 svi 2008, 13:51
Spol: M
OS: Ubuntu 10.04
Lokacija: Beograd

Re: Instalacija paketa i kompajliranje - Ubuntu

Post Postao/la fritz62s »

Hvala Suko, slobodno ga ubaci u wiki, naravno da nemam nista protiv. :thumbs2 To sam pisao na mycity linux forumu

@ Markec
Hvala, ispravljeno spivo

@x_sport
Otkaci ih sve slobodno, a opet i ne moras. One sa Soruce u zagradi, sumnjam da ti trebaju, pored toliko paketa, nemas potrebe da kompajliras. Prvi mozes, ima tu jos dodatnog softwarea, ali ako si do sada nalazio potrebne programe, u tenutnom i medibuntuu repou, onda ...
Resistance is futile, you will be asimilated!
Il' si Lindža, il' si mindža! :shock: apt-get moo
Registrovani Linux korisnik #465156 / Ubuntu korisnik #20700
Avatar
Suko
Site Admin
Postovi: 16079
Pridružen/a: 03 tra 2008, 18:09
Spol: M
OS: Mint 17 Cinnamon
Lokacija: Svugdi me ima. Slavonija uglavnom.

Re: Instalacija paketa i kompajliranje - Ubuntu

Post Postao/la Suko »

Hvala ti.
Ako imaš još kakvih dobrih tekstova, a misliš da bi mogli ići na Wiki, slobodno ubaci na forum...
Pa ćemo ubaciti.
Avatar
fritz62s
Postovi: 433
Pridružen/a: 26 svi 2008, 13:51
Spol: M
OS: Ubuntu 10.04
Lokacija: Beograd

Re: Instalacija paketa i kompajliranje - Ubuntu

Post Postao/la fritz62s »

Ako bude nesto, naravno,. Slabo ja pisem tutove, mislim, ima ih jos par, ali nisu za wiki
Resistance is futile, you will be asimilated!
Il' si Lindža, il' si mindža! :shock: apt-get moo
Registrovani Linux korisnik #465156 / Ubuntu korisnik #20700
Avatar
x_sport
Postovi: 231
Pridružen/a: 17 pro 2008, 13:46
Spol: M
OS: Arch | W7
Lokacija: Split

Re: Instalacija paketa i kompajliranje - Ubuntu

Post Postao/la x_sport »

Thx na savjetu,nisam bio siguran,pa reko da pitam....
Offtopic: čemu služi xorg.conf? rekli su mi da su se tu učili na prijašnjim linuxima kako programirati...?!?!
Nije mi baš jasno pa čisto da mi netko kaže tko zna. Sorry na OT. :D
"It ain't about how hard you can hit,it's about how hard you can get hit and keep moving forward..."
Give back to the community....translate!:)
"If you live properly,the dreams will come to you." Randy Pausch,R.I.P.
Avatar
fritz62s
Postovi: 433
Pridružen/a: 26 svi 2008, 13:51
Spol: M
OS: Ubuntu 10.04
Lokacija: Beograd

Re: Instalacija paketa i kompajliranje - Ubuntu

Post Postao/la fritz62s »

To je konfiguracioni fajl grafickog servera X ili ti Xorg. Predjasnje verzije Xorga su dosta vise zavisile od svog konfiguracionog fajla ( /etc/X11/xorg.conf ), tj. bilo je vise stavki koje je tamo rucno trebalo podesiti, da bi sve radilo kako treba. Danas dosta stvari ide automatski i u samom xorg.conf ima u osnovi manje stavki.
U njemu se nalaze podesavanja tipa, layout tastature, neke opcije monitora, graficke i drivera...
Evo ti primer mog xofg.conf fajla
  • # xorg.conf (X.Org X Window System server configuration file)
    #
    # This file was generated by dexconf, the Debian X Configuration tool, using
    # values from the debconf database.
    #
    # Edit this file with caution, and see the xorg.conf manual page.
    # (Type "man xorg.conf" at the shell prompt.)
    #
    # This file is automatically updated on xserver-xorg package upgrades *only*
    # if it has not been modified since the last upgrade of the xserver-xorg
    # package.
    #
    # If you have edited this file but would like it to be automatically updated
    # again, run the following command:
    # sudo dpkg-reconfigure -phigh xserver-xorg

    Section "ServerLayout"
    Identifier "Default Layout"
    Screen 0 "Screen0" 0 0
    EndSection

    Section "Module"
    Load "glx"
    EndSection

    Section "ServerFlags"
    Option "Xinerama" "0"
    EndSection

    Section "InputDevice"
    Identifier "Generic Keyboard"
    Driver "kbd"
    Option "XkbRules" "xorg"
    Option "XkbModel" "pc105"
    Option "XkbLayout" "us"
    EndSection

    Section "InputDevice"
    Identifier "Configured Mouse"
    Driver "mouse"
    Option "CorePointer"
    Option "Emulate3Buttons" "true"
    EndSection

    Section "Monitor"
    Identifier "Configured Monitor"
    EndSection

    Section "Monitor"
    Identifier "Monitor0"
    VendorName "Unknown"
    ModelName "Philips 170C"
    HorizSync 30.0 - 83.0
    VertRefresh 56.0 - 76.0
    Gamma 0.888
    EndSection

    Section "Device"
    Identifier "Configured Video Device"
    Driver "nvidia"
    Option "NoLogo" "True"
    EndSection

    Section "Device"
    Identifier "Videocard0"
    Driver "nvidia"
    VendorName "NVIDIA Corporation"
    BoardName "GeForce 8500 GT"
    EndSection

    Section "Screen"
    Identifier "Default Screen"
    Device "Configured Video Device"
    Monitor "Configured Monitor"
    DefaultDepth 24
    EndSection

    Section "Screen"
    Identifier "Screen0"
    Device "Videocard0"
    Monitor "Monitor0"
    DefaultDepth 24
    Option "TwinView" "0"
    Option "TwinViewXineramaInfoOrder" "CRT-0"
    Option "metamodes" "1280x1024_60 +0+0; nvidia-auto-select +0+0"
    EndSection
Resistance is futile, you will be asimilated!
Il' si Lindža, il' si mindža! :shock: apt-get moo
Registrovani Linux korisnik #465156 / Ubuntu korisnik #20700
Odgovori