LAKI PINGVINI
Instaliranje softvera u Linuxu (3)
Slično, ali različito
Igor S. RUŽIĆ
1. oktobar 2018.

U prošlom broju smo se bavili instaliranjem programa na sistemima koje pogone distribucije bazirane na Debianu. Da odmah razjasnimo jednu stvar koja zbunjuje dobar deo korisnika: kada kažemo da je distribucija bazirana na Debianu, to znači da ona kao osnovu koristi jednu od istorijski najstarijih varijanti Linuxa, koja se zove Debian. Recimo, Ubuntu, verovatno najpoznatija Linux distribucija, u sebi sadrži kod koji je nasleđen od projekta Debian, a jedna od njegovih glavnih karakteristika (koja ga razlikuje od drugih distribucija) jeste prisustvo APT podsistema, o kome smo već pisali. S obzirom na to da nije mali broj ljudi koji koriste distribucije bazirane na drugim verzijama Linuxa, ovaj tekst posvećujemo programima za rad sa instalacionim paketima za neke od najpopularnijih platformi.

Rotacije i žuti psi

 
Već smo rekli da je RPM format svoje bivstvovanje započeo kao deo istoimenog menadžera paketa distribucije Red Hat Linux, koja se pojavila sredinom devedesetih godina prošlog veka. RHL je bio dosta popularan pa je prihvaćen kao osnova za brojne druge Linux distribucije. Projekat pod tim imenom je živeo do 2003. godine, kada je zamenjen distribucijom RHEL (Red Hat Enterprise Linux) namenjenoj firmama i projektom Fedora koji je okrenut prema „običnim” korisnicima. Međutim, YUM (Yellowdog Updater, Modified), glavni alat za rad sa ovom vrstom paketa, nije potekao sa tih platformi, već je bio deo projekta poznatog kao Yellow Dog Linux. Zahvaljujući mogućnostima koje su bile slične onome što je prethodno viđeno kod Debian distribucija, YUM postaje osnovni softverski menadžer za veliki broj verzija Linuxa koje su koristile rpm format paketa.

Jedna od specifičnosti programa YUM je ta da automatski vrši obnavljanje baze repozitorijuma svaki put kada se pokrene, tako da kod njega nije potrebno koristiti posebnu naredbu, kao što je apt-get update kod Debian distribucija. Trebalo bi napomenuti da iz ovog razloga kod YUM-a parametar update ima namenu koja odgovara APT parametru upgrade.

 
Sledeća zanimljiva stvar se odnosi na postojanje grupa paketa, odnosno, logičkih kategorija koje svrstavaju pakete po njihovoj nameni. Spisak grupa dobijamo pomoću komande:

yum grouplist

Ukoliko, na primer, želimo da na računar instaliramo GNOME radno okruženje sa svim pratećim softverom, kucamo:

yum groupinstall ’GNOME Desktop’

Loša strana ovakvog pristupa je da se instaliraju i oni programi koji nam nisu od koristi. Na sličan način možemo udaljiti celu grupu paketa:

yum groupremove ’naziv_grupe’

Prilikom rada sa repozitorijumima, YUM započinje posao pretraživanjem direktorijuma /etc/yum.repos.d/, koji sadrži nekoliko datoteka sa ekstenzijom .repo u kojima su naznačene adrese repozitorijuma. Postoji mogućnost da se dodatni repozitorijumi nalaze i na drugim lokacijama, a one će u tom slučaju biti ukazane u fajlu /etc/yum.conf. Na primer, ukoliko želimo u sistem dodati Fedorin repozitorijum EPEL (Extra Packages for Enterprise Linux), to radimo sledećom naredbom:

yum -y install epel-release

U okviru .repo fajlova postoji stavka pod nazivom enabled koja može imati vrednost 0 ili 1. Logično, ukoliko je vrednost postavljena na 0, ne možemo se koristiti uslugama tog repozitorijuma. Prethodno instalirani EPEL je izvorno aktivan, ali je u praksi relativno često potrebno da neki repozitorijum bude isključen. To postižemo sa:

yum-config-manager --disable efel

Naknadno, kada nam resurs bude ponovo potreban, pozvaćemo ga sa istom sekvencom u kojoj ćemo opciju -disable promeniti u -enable.

YUM poseduje fleksibilan način rada sa repozitorijuma, pa tako imamo mogućnost da jednokratno koristimo usluge blokiranog resursa:

yum update --enablerepo=neaktivni_repo

Gornji šablon će omogućiti ažuriranje sistema uključujući i upotrebu repozitorijuma koji nije aktivan. Na sličan način možemo instalirati program iz blokiranog repozitorijuma:

yum install --enablerepo=epel keepass

Ukoliko prilikom nadogradnje želimo da izuzmemo neki specifični paket, koristimo opciju --x (ili --exclude) ispred naziva, uz parametar update. Recimo:

yum update --exclude=firefox

Kod YUM naredbe parametri mogu da budu na različitim pozicijama, pa tako u prethodnom slučaju update može da se nađe kako iza „yum”, tako i na kraju sekvence.

Spisak aktivnih repozitorijuma ispisujemo sa:

yum repolist enabled

Ukoliko promenimo enabled u disabled, dobićemo spisak blokiranih lokacija, dok parametar all prikazuje spisak svih prisutnih repozitorijuma.

Od ostalih specifičnosti YUM-a bismo mogli izdvojiti parametar distro-sync koji po prirodi stvari sinhronizuje pakete u skladu sa verzijama prisutnim u repozitorijumu. Ovo najčešće znači da će stariji paketi biti ažurirani na novije verzije, ali i to da će, u slučaju postojanja novije verzije paketa na računaru, ona biti udaljena i umesto nje instalirana ona koja odgovara sadržaju repozitorijuma.

Moguće je pretraživati pakete koji su vezani isključivo za bezbednost sistema, a eventualne nove varijante tih paketa tražimo preko:

yum --security check-update

Ukoliko želimo da novi paketi budu instalirani na sistem, zadajemo komandu:

yum --security update

Postoji i određeni broj naredbi koje nisu deo YUM-a, ali su tesno povezane sa njim. Recimo, komanda

find-repos-of-install naziv_paketa

ima namenu da utvrdi iz kog repozitorijuma je preuzet neki paket. Ukoliko je potrebno preuzeti neki paket zajedno sa svim potrebnim zavisnostima, recimo u svrhu offline instaliranja, tu je naredba:

repotrack naziv_paketa

Sve u svemu, YUM poseduje vrlo dobru funkcionalnost koja omogućava udoban rad sa paketima. Ovde smo naveli samo deo njegovih mogućnosti, a sagledavanje punih kapaciteta je nemoguće bez praktičnog korišćenja.

DNF ili kicoš u akciji

 
Videli smo da YUM poseduje neke korisne stvari koje ne srećemo kod distribucija sa APT menadžerom paketa, ali postoje i stvari u kojima ne briljira. Na dušu mu se stavlja da ponekad ima velike memorijske zahteve, da nema dokumentovane API pozive, da često zna biti trom u radu, kao i da mu ne uspeva da kvalitetno reši pitanja zavisnosti paketa. Sa ciljem da se ovi problemi anuliraju, programeri su rešili da napišu novu aplikaciju za rad sa .rpm paketima. Njen naziv je smišljao neko sa specifičnim smislom za humor, pa skraćenica DNF u ovom slučaju ima značenje Dandified YUM. Mnogo bi lepše i smislenije bilo da je za naziv izabrano, recimo, „dyum”, „yum2” ili „dum”, kako bi asocirala na svog prethodnika, pošto se u radu oslanja na njegovu sintaksu.

DNF donosi niz unapređenja u odnosu na YUM, pa tako ovde imamo mehanizam za rešavanje zavisnosti, koji mnogo bolje obavlja svoje zadatke. Podržava rad sa više repozitorijuma, radi brže, troši manje memorije, ima jednostavniji interfejs i lakše se konfiguriše. Iako dosta napredniji od prethodnika, DNF je za sada prisutan jedino u okviru distribucije Fedora. Nećemo se mnogo zadržavati na DNF pošto je rad sa njim vrlo sličan onome sa YUM naredbom, ali postoje i izvesne razlike čiji spisak je moguće pronaći na lokaciji goo.gl/HPAmJb.

Zypper

 
Nemačka kompanija SuSE je odigrala značajnu ulogu u istoriji Linuxa. Oni su bili prvi koji su taj, u ta vremena, novi operativni sistem ponudili poslovnim korisnicima. Kupljeni su 2003. godine od strane nekada moćne kompanije Novell, koja je tražila operativni sistem sa kojim bi zamenili njihov zastareli Netware. Koreni menadžera paketa Zypper sežu upravo u to vreme, pošto je Novell rešio da kreira okruženje za rad sa instalacionim paketima koje bi integrisalo postojeće sisteme Red Carpet i Yast. Naziv potiče od biblioteke ZYpp koja je korišćena kao osnova za kreiranje interfejsa za rad sa paketima.

Jedan dobar deo profesionalaca smatra da je u pitanju najkvalitetniji menadžer paketa za Linux uopšte. Osim OpenSuse platforme, koriste ga još Ark, Sailfish OS i Tizen (o njemu smo pisali u SK 5/2017).

 
Princip korišćenja parametara je dosta sličan onome koji smo viđali kod ostalih paketnih menadžera, sa tom razlikom da veći broj njih poseduje i skraćeni oblik. Tako, recimo, umesto:

zypper install vlc

možemo pisati i:

zypper in vlc

Naravno, kraći oblik je dosta praktičniji, pa je zbog toga i mnogo omiljeniji kod korisnika.

Zypper poseduje nekoliko parametara za rad sa listom repozitorijuma. Spisak repozitorijuma dobijamo preko naredbe:

zypper repos

Tabela prikazuje sve zapise u lokalnoj bazi, i pri tome crvenom bojom označava one koji su isključeni. Ovde je moguće dodati sekundarne parametre, pa ukoliko u nastavku gornje naredbe napišemo -u, biće prikazane URL adrese postojećih repozitorijuma.

Za onemogućavanje nekog od zapisa u listi je potrebno koristiti njegov broj koji se nalazi u prvoj koloni. Recimo, ako nameravamo isključiti (u našem primeru) repozitorijum „non-oss” koji je prikazan u šestom redu, pišemo:

zypper mr -d 6

Resurs ponovo aktiviramo preko:

zypper mr -e 6

Dodavanje novih repozitorijuma se obavlja preko parametra addrepo (ar), pa u slučaju da želimo koristiti pakete iz resursa packman-essentials kucamo:

zypper ar http://ftp.gwdg.de/pub/linux/misc/ packman/suse/openSUSE_Leap_15.0/Essentials packman-essentials

U slučaju da želimo preimenovati naziv repozitorijuma, koristimo parametar renamerepo (nr) u kombinaciji sa rednim brojem u tabeli i novim nazivom:

zypper nr 2 moj_repo

Repozitorijum udaljavamo pomoću parametra removerepo (rr):

zypper rr moj_repo

Moguće je umesto naziva koristiti i redni broj u tabeli, kao što smo radili u prethodnom primeru.

S obzirom na veoma dugačak tekst pomoći koji ispisuje naredba man, od koristi je postojanje mogućnosti prikazivanja samo onih parametara koji su vezani sa operacijom koju nameravamo koristiti. Tako, na primer:

zypper help install

prikazuje podatke koji imaju vezu sa parametrom install.

Osim Zyppera, distribucije koje za osnovu koriste SuSE imaju još jedan alat preko koga je moguće instalirati pakete, a njegov naziv je YaST (u stvari, već dugo godina se koristi YaST2, ali ga je moguće pozvati i starim oblikom naredbe). U pitanju je program koji poseduje kako TUI (Text-based User Interface) i „obični” CLI interfejs, tako i GUI frontend koji se koristi kada radimo sa grafičkim radnim okruženjima. YaST, osim instaliranja programa, obavlja mnoštvo drugih zadataka u vezi sa kontrolom sistema. Oba programa (bar u delu vezanom za instaliranje paketa) imaju zajedničke korene.

Pacman i duhovi

 
Arch Linux spada u distribucije koje su omiljene kod naprednih korisnika, a jedna od njegovih najprepoznatljivijih karakteristika je menadžer paketa pod nazivom Pacman (Package Manager). On je donekle specifičan u odnosu na ostale menadžere predstavljene ranije, pošto za razliku od dualizma kod dpkg i apt-get ili rpm i yum, najveći deo poslova obavlja preko jedne naredbe. Radi se o moćnom alatu koji se uspešno bori sa problemima zavisnosti i čiji parametri imaju specifičnu skraćenu kombinovanu sintaksu (mada najčešće imaju i svoj dugački oblik). U prošlom broju smo naveli nekoliko primera, a ovde ćemo se pozabaviti sa još nekim od njih.

Glavne funkcije su podeljene po grupama koje se prepoznaju po prvom početnom slovu. Tako, recimo, -S (--sync) predstavlja sinhronizaciju repozitorijuma i instaliranje paketa, -R (--remove) je namenjeno njihovom udaljavanju, -U (--upgrade) je nadogradnja, -Q (--query) traži informacije o paketima, -T (--deptest) ispituje zavisnosti i tako dalje. Ovim parametrima najčešće pridružujemo dodatne parametre u obliku malih slova i tako dobijamo kombinacije koje odgovaraju nekom specifičnom zadatku. Recimo, kod kombinacije -Syu, parametar ’y’ sugeriše da sinhronizuje repozitorijume, dok ’u’ vrši nadogradnju instaliranih paketa. U slučaju da smo koristili varijantu -Sy, bila bi obavljena sinhronizacija repozitorijuma bez instalacije, dok -Syy vrši forsiranu sinhronizaciju čak i ako sistem prijavljuje da su repozitorijumi ažurni. Najbolji ekvivalent APT naredbe apt-get update && upgrade ovde ima oblik: pacman -Syyu.

 
Od ostalih parametara koji se pišu sa malim slovom, mogli bismo da izdvojimo -i koji daje informacije o paketu, -g daje informacije o grupi, -gg prikazuje sve grupe sa sadržajem, -d i -dd preskaču proveru zavisnosti, dok -s sugeriše pretraživanje. Nažalost, neki od ovih parametara nisu uvek univerzalni, pa tako pomenuto -s u slučaju parametra -R označava udaljenje zavisnosti.

Iako se na prvi pogled ovakva sintaksa može učiniti komplikovanom, najčešće korišćene naredbe se lako pamte. Moguće je pred svakim od parametara navesti znak ’-’, odnosno, -Syu možemo pisati i kao -S -y -u. Raspored parametara pisanih malim slovom ne utiče na konačni rezultat naredbe.


PRETHODNI TEKST
SLEDEĆI TEKST
Najčitanije
Igre
Telefoni
Hardver
Softver
Nauka
Aktuelno štampano izdanje
APRIL 2024
Gigabyte Radeon RX 7900 GRE Gaming OC 16G
Zlatni zeka
Model koji je izvorno namenjen kineskom tržištu, i koji se tamo pojavio još prošlog leta, lepo je popunio prazninu između modela RX 7800 XT i RX ...
Asus ROG Zephyrus G16 (GU605MY-QR085X)
Najkompaktnija zverka
Uz sve kompromise, ovo je verovatno najsnažniji laptop smešten u manje od dva kilograma i 18 milimetara visine...
Honor Watch 4
Savršeno upakovan
Sat koji donosi veoma malo pravih noviteta, ali kod kog je uklapanje poznatog i očekivanog dovedeno do savršenstva...
Mobile World Congress 2024
Ovde i AI ima AI
Utisak je da MWC „na nogama” drže isključivo velike kineske kompanije, a praksa predstavljanja flegšip telefona na sajmu je sve ređa...
Inovativni motori i reaktori
Bolji pogon
Električni motori uskoro stižu u putničke avione, samo da se reši nekolicina konstruktorskih prepreka...
Honor Magic 6 Pro
Magična Šestica
Sistem kamera oslanja se na tehnički sofisticiran dizajn sa promenjivim otvorom blende...
Apple, AI i nova tužba za monopol
Kisela ili slatka jabuka
Apple će uvek da koristi sopstveno rešenje, ukoliko može da ga napravi dovoljno brzo i kvalitetno...
Dragon’s Dogma 2
Nastavak dvanaest godina stare igre koja odavno ima kultni status, naoko, jednostavan akcioni RPG koji se trudi vas angažuje, ali i pomalo namuči...
Rise of the Ronin
Rise of the Ronin izuzetno podseća na Ghost of Tsushima, kako po izgledu, tako i po konceptu...
Highwater
Ugodan koktel postapokaliptične komike i poetične melanholije...
Microsoft Windows 3.0
Prisećamo se treće iteracije operativnog sistema baziranog na grafičkom korisničkom okruženju, koja je konačno mogla da izađe na crtu takmacima...
© 2024 Svet kompjutera. Sva prava zadrzana.
Novi broj - Arhiva - Forum - O nama