Sunday, February 24, 2008

Needles&Pins

Bez želje da eksperimentišem sa paketima različitih verzija Debian-a, opisaću postupak pinninga, specifičan za distribucije koje koriste APT, jer sam ga pominjao u prethodnom članku. Pre nego što počnem, da naglasim još jednom:

NIKAKO NE TREBA RADITI PINNING AKO NISTE DOVOLJNO SIGURNI ŠTA HOĆETE. PINNING JE, PREVASHODNO, NAMENJEN LJUDIMA KOJI ODRŽAVAJU RIZNICE, I IMAJU ISKUSTVA SA PAKETIMA KOJE ODRŽAVAJU. DAKLE, PAMET U GLAVU!

Pinning je postupak instalacije programa koji pripadaju nekoj verziji Debiana, drukčijoj od one koja je instalirana na računar. Razlozi za ovo mogu biti razni, a najčešći su: eksperiment sa novim i starim paketima ili nemogućnost pronalaženja nekog programa u stable grani (verovatnoća skoro ravna nuli)...
Da bi apt-get znao sa kog repo-a da instalira program uvodi se pojam fajla preferences, na osnovu kojeg se utvrđuje koja grana softvera (stable, testing, unstable) ima veći prioritet. Dakle, u /etc/apt direktorijumu formira se fajl preferences, sadržaja sličnog ovom:


Package: *
Pin: release a=stable
Pin-Priority: 1001

Package: *
Pin: release a=testing
Pin-Priority: 700

Package: *
Pin: release a=unstable
Pin-Priority: -10
U delu Package se naznačava koji je paket kandidat za preuzimanje sa repo-a određene grane Debian-a. Ukoliko posle Package stoji zvezdica (*), podrazumeva se da svi paketi mogu biti preuzeti sa repo-a, a da li će biti, to zavisi od Pin-Priority vrednosti koju ću kasnije objasniti.
Pin: release je odeljak u kome se naznačava koja je verzija/grana Debian-a u pitanju (stable, testing, unstable).
Pin-Priority
je predstavljen nekim brojem (1001, 700, -10 napr.), koji označava važnost paketa sa određene Debian grane. Treba reći da veća brojna vrednost prioriteta podrazumeva viši prioritet paketa, tako da će se paket najvećeg prioriteta i instalirati. Negativne vrednosti prioriteta (-10 napr.) onemogućavaju instalaciju paketa sa tim prioritetom. Prioritet veći od hiljadu (P>1000) uslovljava automatsku instalaciju paketa koji može biti i stariji od istog paketa na sistemu (downgrade paketa). Prioritet između 500 i 1000 (500<1000) uslovljava instalaciju paketa samo ako je paket instaliran na sistem stariji od dotičnog istog paketa, tako da, ako se u sistemu nalazi noviji paket, do instalacije starije verzije neće doći.
Primer preferences fajla koji sam naveo u članku je samo jedna od mogućnosti, i nije referentan za sve slučajeve korišćenja pinninga, koji, na kraju krajeva, zavise od potreba samih korisnika.
Pogađate da u ovom članku nema sličica jer je sistem na virtuelnoj mašini uništen neznanjem autora bloga, tako da je photo session izostao. To mi je, na kratko, pokvarilo koncepciju ilustrovanog blog-a, ali šta je tu je. Jedino što mogu da obećam je puno sličica u sledećem članku... :)
Svaka dobra knjiga ima pozamašan spisak literature, a moj post, s obzirom da je kratak, nudi dva poučna linka:

Debian Wiki - Apt Pinning
Apt Pinning for Beginners

No comments: