![]() | ![]() |
![]() |
| ![]() |
| |||||||||||||
Instaliranje softvera u Linuxu (2)
U prošlom broju smo govorili o tome kako se na Linux sistemima kompajliraju i instaliraju programi iz sors (source) kôda, kao i o tome kako da instaliramo program koji dolazi u obliku binarnih paketa. Sledeća cigla u našem zidu nosi naziv APT, što predstavlja skraćenicu od Advanced Packaging Tool. Ono što je potrebno istaknuti je da se ne radi o nekom konkretnom programu, već je u pitanju paket različitih aplikacija. One služe kao interfejs za dpkg i imaju za cilj da korisniku omoguće instaliranje i održavanje softvera. Za razliku od Windowsa, gde se potrebne komponente po pravilu instaliraju sa programom, kod Linuxa je situacija nešto drugačija. Recimo, želimo da instaliramo paket prog1. Da bi on mogao da radi svoj posao, potrebno je da bude instaliran fajl lib1, a on u radu može zahtevati kôd iz fajlova lib2, lib3 i lib4. Takvi dodatni fajlovi se u Linux žargonu nazivaju zavisnostima (dependencies). Što su programi veći i kompleksniji, to je potreba za dodatnim fajlovima izraženija, pa bi mukotrpno instaliranje preko dpkg moglo da potraje satima. Da bi se proces instaliranja doveo u neke razumne okvire, uveden je pomenuti APT. APT-GET
Novopečeni linuksoidi se u radu dosta brzo susretnu sa sledećom sekvencom: sudo apt-get update && upgrade Sudo je naredba koja omogućava izvršenje sa pravima administratora (kasnije ćemo je izostavljati zbog štednje prostora), apt-get je komanda o kojoj govorimo, dok su update i upgrade prateći parametri te komande. Dakle, prvo sa update vršimo sinhronizaciju lokalne baze podataka zadužene za sadržaj lokalnog repozitorijuma sa nekim udaljenim serverom navedenim u okviru fajla /etc/apt/sources.list. Sledeći korak se sastoji u preuzimanju novih verzija fajlova sa udaljenog repozitorijuma i prebacivanje na naš računar, što smo postigli korišćenjem parametra upgrade. U našem slučaju smo kombinovali parametre korišćenjem operatora „&&”, čime smo malo skratili kôd koji bi inače izgledao ovako: apt-get update apt-get upgrade Na raspolaganju nam je i parametar pod nazivom dist-upgrade, koji je po funkciji sličan sa „običnim” upgrade, ali ovde imamo dublju proveru zavisnosti, sa naprednijim mehanizmom rešenja potencijalnih konflikata. Kada detektuje postojanje više verzija, prvo udaljava suvišne pakete, uspostavlja potrebne zavisnosti i u slučaju potrebe preuzima nove pakte sa interneta.
Kada smo u prošlom broju govorili o naredbi dpkg, videli smo da se za instaliranje paketa koriste parametar -i, dok je to prilikom udaljavanja -r. Slična je situacija i ovde. Za instaliranje i deinstaliranje koristimo: apt-get install paket apt-get remove paket Za razliku od dpkg, ceo posao je automatizovan, pa umesto da zavisne pakete instaliramo ručno, brigu o tome preuzima APT. Moguće je istovremeno navesti više paketa koji su odvojeni razmakom (’Space’). Ukoliko želimo da paket nakon instaliranja bude udaljen, na kraj naziva stavljamo minus: apt-get install paket- Postoje i druge sintaksičke „perverzije”, pa tako naredbom: apt-get remove paket1 paket2+ „o jednom trošku” udaljavamo paket1 i instaliramo paket2. Kada iz nekog razloga moramo da instaliramo određenu verziju paketa, to radimo sa: apt-get install paket=oznaka_verzije Održavanje higijene lokalnih paketa se obavlja preko sledeća četiri parametra: apt-get autoclean, čisti sistem od nepotrebnih deb paketa, apt-get clean čisti sadržaj paketa i instalacionih skripti u direktorijumu /var/cache/apt/archives, apt-get autoremove čisti nepotrebne zavisnosti zaostale u sistemu i apt-get purge paket deinstalira i briše paket, konfiguracione i instalacione fajlove. U slučaju korišćenja parametara remove i purge, nazivi paketa mogu da sadrže džoker znakove, što omogućava istovremeno brisanje većeg broja paketa koji zadovoljavaju zadane uslove. Recimo: sudo apt-get remove gedit* briše sve pakete koji počinju sa „gedit”, a to su gedit, gedit-common i gedit-plugins, svi pripadaju tekst editoru Gedit. Moguće je koristiti i regularne izraze (regular expressions) koji se u tom slučaju stavljaju među znakove navoda: sudo apt-get remove „^gedit.*” string počinje (^) sa gedit, iza čega može slediti niz bilo kojih karaktera bez obzira na broj ponavljanja(.*). Uz dodatak opcija Osim pomenutih parametara, apt-get poseduje i dodatne opcije koje utiču na način izvršenja naredbe. Tako, recimo, -y, --yes ili –assume-yes, automatski pozitivno odgovaraju na sva pitanja koja se mogu pojaviti u radu sa apt-get. Uz pomoć opcije -f (--fix-broken), dajemo sugestiju da se isprave prekinute zavisnosti. Opcija –reinstall nalaže ponovno instaliranje nekog paketa, dok --purge vrši brisanje konfiguracionih fajlova. Korišćenjem --auto-remove uz neke parametre, postižemo isti efekat kao da smo koristili parametar autoremove. Dobro, ali zar nismo imali neke od tih opcija kao parametre naredbe apt-get? Svakako da jesmo, ali se razlikuju konteksti u kojima se oni koriste. Recimo, ako želimo da uklonimo neki paket i njegove zavisnosti, obično pišemo: apt-get purge paket apt-get autoremove Zahvaljujući opcijama, isti efekat je moguće postići sa jednom linijom: apt-get purge --auto-remove paket Nekada je upotreba opcija prilično suptilna, kao u slučaju: apt-get --reinstall install paket Ovde opcija –reinstall dovodi do forsiranja instalacije već instaliranog paketa u najsvežiju verziju. Postoji veliki broj kombinacija parametara koji u pojedinim slučajevima mogu imati iste rezultate. Recimo, navođenje purge nakon remove: apt-get remove –purge paket je ekvivalentno sa izvršenjem naredbe: apt-get purge paket Prostor nam ne dozvoljava da se opširnije posvetimo primerima upotrebe opcija, ali se uz njihovu pomoć mogu postići dosta zanimljivi rezultati. APT-CACHE Komponenta APT sistema pod nazivom apt-cache je zadužena za pretraživanje informacija o paketima. Recimo: apt-cache stats, osnovni podaci o APT kešu apt-cache pkgnames tekst, prikazuje pakete koji započinju sa ukazanim tekstom apt-cache search serbian, spisak svih paketa u kojima se spominje reč „serbian”. apt-cache show htop, mnoštvo informacija o paketu htop apt-cache depends leafpad, spisak neophodnih paketa (zavisnosti) apt-cache rdepends leafpad, spisak paketa koji su zavisni od ovog paketa apt-cache showpkg leafpad, detaljna informacija o paketu i zavisnostima Dakle, parametar search može biti od koristi kada ne znamo tačan naziv nekog paketa, ali otprilike znamo šta treba da radi i kakve reči sadrži u nazivu ili opisu. Detaljnije informacije o nekom paketu dobijamo preko parametra show, koji će prikazati sadržaj teksta koji dolazi u njemu. Sledeća dva parametra se odnose na prikazivanje zavisnosti. Ukoliko nam je potrebno da znamo koje zavisnosti su potrebne za uspešno instaliranje našeg paketa, onda koristimo parametar depends. Međutim, ako nas zanima koji drugi paketi zavise od nekog paketa, onda se služimo sa rdepends (reverse depends). U konkretnom slučaju za paket leafpad (grafički editor teksta) saznajemo da ima šest zavisnosti prema bibliotekama, dok nam rdepends govori da će paket lxde (poznato desktop okruženje) zahtevati instalaciju ovog paketa, što je i logično, pošto se on tamo koristi kao osnovni editor teksta. Parametar showpkg je svojevrsna kombinacija prethodna dva parametra. I ova komanda ima mnoštvo parametara i opcija, ali je njihovo nabrajanje izvan okvira ovog teksta. Aptitude Pod ovim nazivom se krije front-end za program apt-get i specifičan je po tome što se može koristiti kako sa interaktivnim interfejsom, tako i putem komandne linije. Interfejs startujemo upisivanjem naziva komande bez pratećih argumenata. Pred nama se pojavljuje radno okruženje menadžera paketa prilagođeno radu u tekstualnom režimu. Prvi red je namenjen liniji menija, u drugom redu su prikazane neke od najvažnijih prečica, dok je treći red ekrana namenjen smeštanju elemenata u stilu tab interfejsa, tako da stičemo utisak kao da radimo sa više prozora. Ostatak radne površine je podeljen na dva panela od kojih gornji služi za kretanje po stablu paketa, dok su u donjem prikazani detalji u vezi izabrane stavke. Paketi su načelno podeljeni u tri kategorije: instalirani, neinstalirani i virtuelni.
APT != apt
Očigledna prednost ove komande se sastoji u manjem broju karaktera koje je potrebno kucati na tastaturi. Iako old-school korisnici Debiana po automatizmu kucaju apt-get, nije potrebno mnogo vremena da se preorijentišu na noviji oblik. Nećemo se previše zadržavati na komandi apt, pošto za nju važi najveći deo onoga što smo pisali o apt-get i aptitude, ali to ne znači da se sa manje uvaženja odnosimo prema njoj. Naprotiv, reč je o relativno novom i praktičnom načinu za instaliranje softvera, koji će tokom vremena biti sve dominantniji. Igor S. RUŽIĆ |
| |||||||||||||||
![]() | |
![]() | ![]() |
Home / Novi broj | Arhiva • Opšte teme | Internet | Test drive | Test run | PD kutak | CeDeteka | WWW vodič • Svet igara Svet kompjutera Copyright © 1984-2018. Politika a.d. • Redakcija | Kontakt | Saradnja | Oglasi | Pretplata • Help • English | |
SKWeb 3.22 |