Linux/urpmi
 

URPMI I RPM
Datum objavljivanja 20.03.2006

 
 
     Svrha ovog uputstva je da pokaže novim korisnicima, (mogu a i ne moraju biti novi Linux korisnici) kako da koriste urpmi i rpm za upravljanje paketima na rpm baziranim distribucijama, i pomognu nezainteresovanima koji tvrde da rpm nije ni za šta :-)

Mandrake urpmi

Ukoliko ste ikada koristili Debian, sigurno znate da apt-get , čini softwersku instalaciju i nadogradnju neverovatno lakom. Postoji česta opaska da ovo rešava sve mukotrpne probleme međuzavisnosti koje rpm bazirane distribucije trpe. Iz toga sledi da rpm nije ni za šta.

Ovo baš i nije takav slučaj. Da li bi korisnik Debiana obično koristio dpkg da ručno instalira? Naravno da ne. Nema ničega suštinski pogrešnog sa rpm kao paket formatom, koji je više ili manje uporediv sa dpkg. Ono što nam treba je alat sagrađen na vrhu rpm-a koji čini sve da automatski zadovolji sve međuzavisnosti za nas, kao što to radi apt.

Distribucija Mandriva sadrži baš takav alat: URPMI. Ovo je verovatno Mandrivina najreklamiranija, i lako najvažnija atrakcija (osobina), sa njim je upravljanje rpm paketom lako kao apt-get-om pod Debianom.

Podešavanje urpmi izvora

Pre nego što počnemo koristiti urpmi uspešno, moramo podesiti neke izvore paketa. Svako urpmi skladište sadrži gomilu paketa i index fajl, urpmi mora da zna gde su oba. Kao primer dodaćemo izvor za Mandriva contrib. Jedna lokacija je na ftp://ftp.phys.ttu.edu/pub/mandrake/9.2/contrib/i586 i hdlist je na istom mestu. Želimo da imenujemo ovaj izvor kao "contrib-ttu" komanda je:
urpmi.addmedia conrib-ttu ftp://ftp.phys.ttu.edu/pub/mandrake/9.2/contrib/i586/hdlist.cz

Većina komandi će izgledati kao ova iznad, sa različitim ftp/http lokacijama i mogućim različitim putanjama. Ima nekoliko interesantnih ali manje čestih opcija za korišćenje

--distrib
   dodaje sve izvore iz instalacionog medija
--update
   dodaje update izvor (za mandrake updejt)
--from url
   koristi url da preuzme listu obrazaca mogucih lokacija

Ako pretražujete (preko ftp-a ili drugačije) neke od skladišta koja bi ste želeli da dodate, ali niste sigurni koju komandu treba da ukucate, prilično je lako da prokljuvite šta se ovde dešava:

1. Potražite direktorijum koji sadrži gomilu paketa. Ovo je lokacija.

2. Tražite odgovarajuće hdlist faljove ili fajl. Oni sadrže imena kao hdlist.cz ili slične. Tipicno ovo se nalazi u istom direktorijumu ili logično blizu. Putanja mora biti relativna. Ovo je hdlist.

3. Izdajte komandu (kao root) urpmi.addmedia mysource putanja_sa_hdlist.

Nekada morate loviti nivo gore ili tu negde u stablu da bi našli odgovarajuću hdlistu.

Lokacija za upgrade-ovanje hdliste je obično u /base/hdlist.cz

Odgovarajuća urpmi.remove media komanda uklanja mediju.

Izvor koji bi trebalo da doda svaki Mandriva korisnik bi u najmanju ruku trebalo da ima sledeće izvore:

-originalne instalacione cd-ove
 ovi bi trebalo da budu dodati aoutomatski
-updates
 Mandriva update bi trebao da ima ove dodate za vas
-mandrake contribs
 ovi sadrže extra korisničke contributed pakete

većina mirror-a će nositi i contribs-e takođe

Korisna adresa koja sadrži mnoštvo contrib lokacija kao i korisne informacije o dodavanju medija je:  http://easyurpmi.zarb.org/

PLF

PLF sadrži razne pakete koji nisu uključeni u Mandrivu zbog različitih glupavih legalističkih razloga kao što su dvd dekripcija (neophodno za gledanje originalnih dvd-a kupjenih u prodavnici).

Mandriva klub i komercijalni programi

Ukoliko ste član Mandriva kluba, trebali bi ste takođe dodati skladište komercijalnih programa za komercijalne proizvode kao što je Acrobat Reader.

Obrada upita URPMI

Sa pravim vračanjem možete upitati urpmi o vašim paketima. URPMQ komanda vam dozvoljava da pošaljete upit rpm bazi podataka. Najčešće korišćena komanda je sledeća:

urpmq ime_paketa
    pita da li je urpmi ikada čuo za ime paketa
urpmq --fuzzy ime
    Lista sve poznate pakete koji približno zvuče kao ime
urpmq -i ime_paketa
    prikazuje rezultat i opis imena paketa
urpmq --list-media
    Lista sve poznate pakete

Instaliranje paketa

ovo je najlakši deo: da instaliramo gaim paket, kucamo :

urpmi gaim

URPMI će automatski dovući i instairati gaim, kao i sve na šta se gaim oslanja. Ovo je otprilike ekvivalentno komandi apt-get install gaim.

Ima brojnih naprednih opcija koje vredi poznavati:

--update
    Koristi samo update mediju. Obično se koristi za zabranu nadogradnje u zaštitnoj nadogradnji i slično .
--auto
    Automatski instalira zavisnosti bez pitanja.
--auto-select
    Automatski nadograđuje sve pakete, za koje postoje novije verzije.
    U vezi sa --auto i --update, ovo dozvoljava da automatski dodate zakrpe.
--noclean
    ne prazniti rpm keš. Naći će te rpm -ove u /var/cache/urpmi/rpms/
--allow-nodeps, --allow-force
    Ako zavisnosti ne mogu biti ispunjene ili ako postoji konflikt, upitaće nas da li smo sigurni da želimo da nastavimo sa tom opcijom, koja ponekad može biti vrlo nepopularna.
--fuzzy
    Dozvoljava fuzzy pretragu na imenu paketa. Ukoliko pogrešno otkucam ime paketa, probaće da pogodi sta smo mislili  i upitati nas.

Čuvanje sinhronizovanosti

URPMI radi održavajući lokalni index svih paketa dostupnih na udaljenom mestu. Ova lokalna lista može da istekne i treba biti osvežena s vremena na vreme, ponovo skidajući udaljenu listu. Ovo je prosto:

urpmi.update -a

Ovo ce upitati svaki udaljeni izvor i dovući novu listu ukoliko je potrebno.

Koriscenje RPM

Verovatno će te koristiti rpm kao takav veoma retko, jer je urpmi toliko bolji. Postoje nekoliko komandi koje ja koristim kada se igram sa download paketima i slično:

rpm -Uvh ime_paketa.rpm
    Instalira / nadograđuje pakete i javlja mi šta se dešava
rpm -Uvh --force ime_paketa.rpm
    Instalira pakete uprkos svim upozorenjima o zavisnosti ili konfliktu. Ukoliko znate šta radite onda navodno može doći do loših stvari zbog takve instalacije. Upozorenje je tu sa razlogom.
rpm -qi ime paketa
    Govori sve o imenu paketa, koji je već instaliran.
rpm -qpi ime_paketa-1.0mdk.i586.rpm
    Govori sve o paketu koji je sadržan u paketu ime_paketa-1.0mdk.i586.rpm, koji ne mora biti instaliran.
rpm -q --changelog Ime_paketa.rpm
    prikazuje changelog za instalirani paket ime_paketa-1.0mdk.i586.rpm
rpm -qa
    Lista sve palkete koji su instalirani na sistemu. Teži da proizvede gomilu izlaza (koje možete da grepujete za ono što želite).

Bezbedno i normalno korišćenje RPM-a

Zašto bi trebali da koristite rpm za sve? Prost odgovor je da za rpm bazirane distribucije, ukoliko dosledno ne koristite rpm, ostavljate prostor da sistem bude zbunjen o tome šta je gde instalirano.

Za bezbedno i normalno korišćenje rpm-a imajte na umu sledeće:

-Paketi za druge distribucije mogu da rade čudne stvari. Svaka distribucija ima različite načine obavljanja stvari, i paket napravljen za jednu distribuciju može se ponašati čudno pod drugom.

-Na primer, ne bi smeli da koristite pakete sa RED HAT cd-a na MANDRIVA sistemu,naročito od kada nazivni skupovi mogu biti drugačiji i možete imati savršeno dobru verziju iste stvari na vašem Mandriva cd-u.

-instaliranje programa iz source koda za koji već postoji zvanični paket može raditi zaista uvrnute stvari. Opšti izvor tarball-a obično instalira fajlove na različita mesta kao što to radi sa distribuciono snabdevenim paketima, i jako loše stvari mogu da se dese ako izvorna verzija prepiše deo (ali ne sve) originalne distribucione verzije, ostavljajući za sobom zao (i verovatno neupotrebljiv) hibrid. Postoji način da instalirate iz izvora da ipak sve ostane razumno, ali to nije tema ovog dokumenta

- Čak šta više , ukoliko instalirate koristeći ne-rpm metode, RPM ne zna da se instalacija pojavila i ne može to da koristi za pokrivanje međuzavisnosti paketa.

Održavanje vaše rpm databaze u ispravnom stanju omogućava vam korist doslednog upravljanja paketima, bez konflikata , i lak upit i obnavljanje u automatizovanom stilu.
 
atomic 2005