LAKI PINGVINI<>
042006<><>

Menadžeri paketa na GNU/Linuxu

Isti softver, drugo pakovanje

Kada je GNU GPL softver u pitanju, redistribucija podrazumeva obaveznu isporuku izvornog kôda softvera. Ukoliko bismo instalaciju neke GNU/Linux distribucije morali da obavimo kompajliranjem iz izvornog kôda svih programa koji su nam potrebni (primer su Linux From Scratch i delimično Gentoo), instalacija bi potrajala desetine sati. Na sreću, priređivači distribucija su pronašli način da reše ovaj problem i instalaciju programa skrate što je moguće više.

Izvorni kôd programa napisan u nekom programskom jeziku čitljiv je za ljude, ali ga računar ne razume. Kako bi računar razumeo ono što je programer hteo da kaže, potrebno je prevesti izvorni kôd programa u binarni jezik nula i jedinica, tj. kompajlirati ga. Zato gotovo sve distribucije imaju programe u binarnim paketima. U ovim paketima se nalaze kompajlirani programi čija se instalacija svodi na kopiranje na hard disk, slično raspakivanju arhiva. Na ovaj način se instalacija programa znatno skraćuje pa se pojedine distribucije instaliraju za nekoliko minuta. Problem koji je karakterističan za „Unixolike” sisteme jesu potencijalni problemi sa međuzavisnostima. Na svu sreću, današnji paketski sistemi za GNU/Linux odlično rešavaju ove probleme, mada eventualno odstupanje od distribucijskih sistema instalacije programa može biti pogubno.

Standarde u pakovanju i distribuciji binarnih paketa postavili su Red Hat (SK 11/2003) i Debian. Iako se u poslednje vreme Debian sve češće koristi kao osnova za razvoj distribucija preko DEB paketa, Red Hat je de facto ustanovio trend koji je sledio najveći broj distribucija, pa i one najpoznatije kao što su SUSE (SK 1/2006) i Mandriva. Sve one koriste format paketa RPM, zajedno sa Red Hatom i Fedorom. Treba pomenuti i Slackware (SK 7/2005) koji programe distribuira u tarball datotekama (TGZ format paketa) i Gentoo format ebuild koji je svoj automatizovani sistem instalacije iz izvornog kôda prihvatio od sistema FreeBSD port.

RPM kao Red Hat

Format RPM je razvijen od strane Red Hata, po kojem je i dobio ime (Red Hat Package Manager), ali je kasnije, usled sve češćeg korišćenja ovih paketa na drugim distribucijama, a u skladu sa hakerskim duhom igranja sa rekurzivnim akronimima, preimenovan u RPM Package Manager. Skoro svaki korisnik Linuxa se na ovaj ili onaj način sreo s ekstenzijom RPM bar jednom u životu. RPM je veoma kompleksan alat, ali ćemo se sada zadržati samo na njenim osnovnim mogućnostima.

Iako su skoro sve distribucije koje koriste ovaj format paketa razvile svoje grafičke alate za manipulaciju paketima, RPM je u osnovi konzolni alat. Sintaksa komande je rpm [akcija][opcije] ime_paketa. Akcije se pre svega odnose na instalaciju, nadogradnju, uklanjanje ili informacije o paketu. Tako će za instalaciju biti potrebno uneti –i, za uklanjanje –e, nadogradnju –u, dok se unosom parametra –q listaju informacije o paketu (da li je instaliran i koje međuzavisnosti poseduje). Opcije služe za precizniju definiciju akcije koju treba uraditi : –v će na ekranu ispisivati šta rpm radi, a –h će ispisivati niz znakova „#” kao indikator napretka posla. Dakle, kombinacijom –ivh biće instaliran paket uz prikaz napretka instalacije nizom znakova „#”. Podrazumevano, rpm vodi računa o međuzavisnostima, ali, ukoliko se navede opcija ––nodeps, zanemariće ih. Još jedan alat za instalaciju RPM paketa koji se može naći na Fedori jeste yum (yellowdog updater modified) koji ima sličnu sintaksu kao Debianov apt. Komandom yum install ime_paketa paket se instalira, sa yum update ime_paketa se nadograđuje, a sa yum remove ime_paketa deinstalira. Komanda yum list služi za pretraživanje baze paketa, a nadogradnja kompletnog sistema postiže se komandom yum upgrade.

Kao što je pomenuto, sve veće distribucije koje koriste RPM razvile su alate za manipulaciju paketima. SUSE je u okviru svog YAST-a ugradio alat za manipulaciju paketima koji odlično obavlja svoj posao. Pretraživanje baze je jednostavno, paketi za instalaciju se biraju mišem, a sistem automatski instalira sve što je potrebno. Sličan metod koristi i Mandriva koja u okviru svog kontrolnog centra sadrži sličan alat. I njega odlikuje jednostavna upotreba, a međuzavisnosti su rešene kako valja pa se svi potrebni paketi automatski instaliraju.

Pored distribucijskih alata, postoji i nezavisan alat koji se oslanja na yum i radi u grafičkom okruženju. Kyum se odlikuje jednostavnim i intuitivnim interfejsom. Izbor paketa je prilično lak posao, a međuzavisnosti se i ovde rešavaju kako treba.

Pokazalo se da korisnici najviše upotrebljavaju distribucijska rešenja pa su programi poput Kpackagea ili GNOME RPM-a malo korišćeni. Distributeri su se potrudili da svoje alate na najbolji način integrišu u sistem pa nije retka pojava da se pri konfiguraciji hardvera, kao što je štampač, automatski pokreće menadžer paketa ukoliko treba instalirati dodatan softver. Pošto je problem međuzavisnosti rešen, neiskusni korisnici sve manje imaju prilike da razmišljaju o tome šta treba instalirati da bi ovaj ili onaj program radio, već sve ide automatski.

DEB kao Debian

Debian je distribuiranje softvera rešio slično kao Red Hat, ali je format paketa označio sa DEB. Ovi paketi funkcionišu slično kao i RPM, s tim što postoje i alati za održavanje baze podataka o njima. Osnovna komanda koja se koristi za manipulaciju ovim formatom je dpkg. Sintaksa komande je dpkg [akcija][opcije] ime_paketa, pri čemu su neke od osnovnih akcija –i za instalaciju, –r za uklanjanje, –p za potpuno uklanjanje i --configure za konfigurisanje paketa. Iako je vrlo zanimljiv alat, dpkg se koristi uglavnom za instalaciju pojedinačnih paketa, dok je za svakodnevni rad zadužan jedan od najboljih alata te vrste, APT – biblioteka na kojoj su zasnovane razne alatke. Najviše se koristi apt-get, čija je sintaksa apt-get [opcije][akcija] ime_paketa. Od akcija se za instalaciju koristi install, a za uklanjanje paketa remove. Apt-cache služi za pretraživanje baze paketa sintaksom apt-cache [opcije][akcija] ime_paketa. Najćešće korišćene akcije su search za ispis sažetih informacija odnosno show za ispis potpunih informacija o paketu. APT je odličan alat i za nadogradnju kompletnog sistema, a komande apt-get upgrade i apt-get dist-upgrade odlično obavljaju taj posao. Ne treba zaboraviti ni komandu apt-cdrom koja služi za automatsko dodavanje diskova sa DEB paketima u APT bazu. A kada se disk već unese u bazu, treba je i osvežiti komandom apt-get update.

 
Za one koji ne vole terminal, razvijen je Synaptic, odlična alatka u grafičkom režimu koja je vrlo laka za korišćenje. Kada su Debian paketi u pitanju, ne postoji situacija kao kod RPM paketa gde distribucije prave svoje sisteme za instalaciju u grafičkom režimu. Razlog je verovatno to što je Debian doskoro bio distribucija za napredne korisnike, dok su user-friendly sistemi većinom potomci Red Hata. No, Synaptic je odličan program jer obavlja sve što korisniku može zatrebati. Instalacija, uklanjanje, nadogradnja sistema, dodavanje repozitorijuma ili diskova u bazu jesu poslovi koji se mogu obaviti sa nekoliko klikova mišem. Da situacija bude još bolja, Synaptic postoji na skoro svim sistemima zasnovanim na Debianu, dok Ubuntu, na primer, sam detektuje disk sa paketima pa je jedan klik nakon ubacivanja medija dovoljan za dodavanje diska u bazu.

TGZ kao Slackware

Slackware je „hard core” kada je reč o paketima jer distribucijski tarballovi nemaju informacije o međuzavisnostima. Zbog toga korisnik, ako želi da eksperimentiše, mora da zna koje biblioteke su potrebne kojoj aplikaciji. Manipulacija TGZ paketima se obavlja pomoću alata pkgtool, konzolnog sistema ncurses menija za listanje, dodavanje, uklanjanje i nadogradnju TGZ paketa. Instalacija pojedinačnih paketa može se odraditi komandom installpkg ime_paketa, uklanjanje sa removepkg ime_paketa, dok se nadogradnja postiže komandom upgradepkg ––install-new ime_paketa (opcija ––install-new je opciona, a omogućava instalaciju TGZ paketa ako nadogradnja nije moguća). Instalacija TGZ paketa na ovaj način uslovljava samostalno pronalaženje međuzavisnosti, ali postoji rešenje i za to. U novijoj istoriji su se pojavili alati slapt-get (po uzoru na Debianov APT) i swaret (po uzoru na Gentoo emerge) koji rade sa repozitorijumima (bazama paketa na Internetu). Sintaksa za prvi je slapt-get [akcija] ime_paketa, gde se od akcija najčešće koriste ––install za instalaciju, ––upgrade za nadogradnju, ––remove za uklanjanje, ––search za traženje i ––show za listanje informacija o paketu. Pored manipulacije pojedinačnim paketima, može se odraditi i nadogradnja kompletnog sistema komandom slapt-get ––dist-upgrade. Swaret je alat koji donosi proveru međuzavisnosti za TGZ pakete, a osnovna sintaksa je swaret [akcija] ime_paketa. Od akcija se najčešće koriste ––install za instalaciju, ––reinstall za ponovnu instalaciju, ––upgrade za nadogradnju, ––search za traženje paketa i ––dep za dodavanje nedostajućih i ispravljanje oštećenih međuzavisnosti. Pre svih navedenih akcija treba osvežiti stablo swaret portova akcijom ––update. Zanimljiva je eksperimentalna akcija ––compile koja preuzima s Interneta paket izvornog kôda programa, konfiguriše ga, kompajlira i instalira. Ako se komandi swaret ne zada delimičan ili potpun naziv paketa kojim se želi manipulisati, podrazumeva se preduzimanje akcija nad svim instaliranim paketima.

ebuild kao Gentoo

Gentoo je GNU/Linux sceni predstavio sistem portova Portage čiju je koncepciju preuzeo sa FreeBSD sistema. Naime, Portage sistem koristi ebuild metadatoteke u kojima su zapisane informacije o međuzavisnostima i tome kako treba kompajlirati izvorni kôd programa. Mana ovog načina instalacije je to što sama instalacija tj. kompajliranje može da potraje, a prednost je to što se softver prilagođava mašini na kojoj se kompajlira i optimizovan je za korišćeni procesor. Instalacija ebuild paketa se obavlja alatom emerge i krajnje je jednostavna. Sintaksa je emerge [akcija] ime_paketa, a za instalaciju je dovoljno izostaviti akcije, tj. pokrenuti komandu emerge ime_paketa i izvorni kôd će biti preuzet sa Interneta (ako ga već nemate na mašini), konfigurisan, kompajliran i instaliran. Ostale često korišćene akcije su –s za listanje informacija o ebuildovima, uključujući i status, –u za nadogradnju pojedinačnih paketa, –c za uklanjanje paketa, vodeći računa o tome da li od tog paketa zavisi neki drugi, i –C za uklanjanje paketa zaobilazeći međuzavisnosti. Nadogradnja kompletnog sistema postiže se komandom emerge –uD world. Pored ebuildova, na Gentoo sistem se mogu instalirati i binarni paketi u tbz2 formatu komandom emerge –k ime_paketa.

• • •

Skoro sve postojeće distribucije GNU/Linuxa koriste neki od navedenih formata paketa. Manje iskusnim korisnicima preporučujemo da koriste isključivo pakete koji se isporučuju uz distribuciju koju koriste ili se nalaze na njihovim repozitorujumima. Ukoliko je ipak potrebno instalirati binarni paket drugog formata ili željeni program ne postoji u formatu koji odgovara distribuciji koju koristite, preporučujemo upotrebu alatke alien koja vrši konverziju binarnih paketa iz jednog formata u drugi. Tako bez problema možete instalirati OpenOffice (SK 10/2005) pakete u formatu RPM, preuzete sa zvaničnog sajta, na ne-RPM distribucije.

Instalacija programa na GNU/Linuxu nikada nije bila lakša pa korisnici koji planiraju da ga isprobaju i/ili koriste definitivno ne treba da brinu o potencijalnim problemima jer su oni usavršavanjem sistema upravljanja paketima svedeni na minimum.

Ivan JELIĆ, Aleksandar UROŠEVIĆ

FormatDistribucijaAlatInstalacijaNadogradnjaUklanjanjeNadogradnja sistema
RPMRed Hat, Fedora, SUSE, Mandrivarpmrpm -i paket.rprpm -u paket.rpmrpm -e paket.rpm 
yumyum install paket.rpmyum update paket.rpmyum remove paket.rpmyum upgrade
DEBDebian, Ubuntuapt-getapt-get install paketapt-get upgrade paketapt-get remove paketapt-get dist-upgrade
TGZSlackware, Vectorpkgtoolinstallpkg paket.tgzupgradepkg paket.tgzremovepkg paket 
slapt-getslapt-get --install paketslapt-get --upgrade paketslapt-get --remove paketslapt-get --dist-upgrade
ebuildGentooemergeemerge paket
emerge -k paket.tbz2
emerge -u paket
emerge -uk paket.tbz2
emerge -c paketemerge -uD world
 
Menadžeri paketa na GNU/Linuxu
Šta mislite o ovom tekstu?
Audio plejeri
Vector Linux SOHO
Home / Novi brojArhiva • Opšte temeInternetTest driveTest runPD kutakCeDetekaWWW vodič • Svet igara
Svet kompjutera Copyright © 1984-2018. Politika a.d. • RedakcijaKontaktSaradnjaOglasiPretplata • Help • English
SKWeb 3.22
Opšte teme
Internet
Test Drive
Test Run
PD kutak
CeDeteka
WWW vodič
Svet igara



Naslovna stranaPrethodni brojeviOpšte informacijeKontaktOglašavanjePomoćInfo in English

Svet kompjutera