Urpm
Fra Wikipedia, den frie encyklopedi.
Urpm er en betegnelse på en samling programmer som utgjør pakkestyreren til Mandriva Linux.
| Innholdsfortegnelse |
Mandriva Linux sitt pakkesystem
Mandriva Linux benytter et pakkesystem for programmer som heter RPM – Red Hat Package Manager. I standard Mandriva Linux er det mange tusen forskjellige programmer som enten ligger på CD-ene eller er tilgjengelig over nettverk. Dersom det programmet du ønsker fins blant disse, er det på alle måter anbefalt at du legger det inn herfra. Det vil garantert spare deg for masse hodebry. De aller fleste programmer som det er vanlig å ville installere, fins blant standardpakkene til Mandriva Linux.
Om Urpm-verktøyene
Mandriva Linux kommer med en samling verktøy som heter Urpm. Det viktigste verkøyet i denne samlingen heter urpmi, og er i stand til å håndtere installasjon av programmer som er pakket som RPM. i-en på slutten står for «install». urpmi kan installere programmer fra en lokal harddisk, fra nettverk eller fra installasjons-CD-ene til Mandriva Linux.
Med «urpmi-kilde» menes i denne artikkelen en ressurs der det fins en samling RPM-pakker for Mandriva Linux (en såkalt pakkekilde). Dette kan være et fysisk medium eller nettsteder. For eksempel har Uninett en FTP-tjener med speil av Mandriva Linux.
I denne artikkelen skal vi prøve å gi en generell introduksjon til Urpm og hvordan disse verktøyene brukes. Dersom du installerer Mandriva Linux fra CD, vil CD-ene automatisk bli satt opp som urpmi-kilde. Tilsvarende vil speilet du installerer fra bli satt opp dersom du installerer via nett (HTTP, FTP eller NFS). Dessuten vil oppdateringskilden bli lagt til dersom du velger dette på slutten av installasjonen.
I tillegg til de offisielle kildene som settes opp på denne måten, fins det noen tredjeparts kilder. Av disse er Penguin Liberation Front (PLF) den viktigste. PLF har en mengde pakker som av juridiske årsaker i enkelte land ikke kan inkluderes i den offisielle Mandriva Linux-distribusjonen, blant annet MPlayer og Xine (multimedia-avspillere) med støtte for CSS-krypterte DVD-filmer og en rekke proprietære filformater.
Mandriva Linux har, ikke ulikt Debian, flere forskjellige pakkekilder. Dette er de viktigste:
- Main – hoveddistribusjonen
- Contribs – brukerbidrag og ting som ikke får plass i Main
- Fra 2007.0 og senere har man lagt til backports for main og contrib, som blant annet inneholder nyere pakker tilbakeført hovedsaklig fra Cooker.
- PLF (http://plf.zarb.org) (penguin Liberation Front) – pakker som ikke kan pakkes i Main/Contribs på grunn av lisenser, regler, lover o.l.
Men nok kjedelige detaljer – la oss starte på det artige, nemlig bruk av verktøyene.
Urpm i praksis
I følgende tekst betyr # en kommandoprompt. Du skal ikke skrive denne, bare det som kommer rett bak. Tekst umiddelbart etter en linje som starter med # er svar på kommandoen. Eventuelle lange svar kan være forkortet med en «...»-linje for å bli mer lesbare. Husk også at du må være root for å installere programvare – du kan bli det ved hjelp av kommandoen su -, fulgt av root-passordet.
Kommandoer
- urpmi – installere pakke samt eventuelle andre den er avhengig av
- urpme – fjerne pakke og eventuelle andre som berøres av avhengigheter
- urpmq – søk etter pakke
- urpmf – søk etter fil
- urpmi.addmedia – legg til urpmi-kilde
- urpmi.removemedia – fjern en urpmi-kilde
Legge opp urpmi-kilder
Siden man må ha satt opp kilder før man kan installere noe, ser vi på dette først. Dersom du har installert Mandriva Linux fra CD, er allerede Main lagt opp som kilde med CD-ene som medium. Imidlertid er ikke Contribs og PLF lagt opp. Dersom du har installert fra nettverk, er det stor sannsynlighet for at du også har Contribs, men ikke PLF. Vi skal her anta at man har installert fra CD, og ønsker å gå over til nettverksinstallasjon fra ftp.uninett.no.
Først fjerner vi alle tidligere installasjonsmedier (dette gjøres med -a):
# urpmi.removemedia -a fjerner medium "Installation CD" fjerner medium "Installation sources" fjerner medium "Contrib CD" ... fant 0 hoder i cache fjerner 0 foreldede hoder fra cache skriv konfigurasjonsfil [/etc/urpmi/urpmi.cfg]
Mandriva Linux har et speil på den norske FTP-tjeneren til Uninett. Den generell adressen dit er:
Siste versjon fins normalt alltid på denne adressen.
# urpmi.addmedia --distrib ftp://ftp.uninett.no/pub/linux/MandrivaLinux/official/current/i586/ mottar hdlists-fil... ...ferdig mottatt lagt til medium Installation CD lagt til medium Installation sources ... fant 0 hoder i cache fjerner 0 foreldede hoder fra cache skriv konfigurasjonsfil [/etc/urpmi/urpmi.cfg]
Nå har vi lagt til installasjonskilde, og siden Uninett har Contribs, er disse automatisk blitt med. Opsjonen --distrib forteller urpmi.addmedia at det er en hel distribusjon som skal legges til, og at alle tilgjengelige medier på speilet skal brukes. Nå er vi faktisk klare til å begynne å installere programmer.
Installere programmer
urpmi er kommandoen som brukes til å installere programmer. Den er meget enkel å bruke – oppgi ganske enkelt navnet på det du ønsker å installere som parameter:
#urpmi links installerer /var/cache/urpmi/rpms/links-2.1-0.pre13.2mdk.i586.rpm Forbereder... ################################################## 1:links ##################################################
Så er links klar til bruk.
Installere oppdateringer
Det er særdeles viktig å holde datamaskiner oppdatert med sikkerhetsrettelser. Helt analogt med Windows fins det i Mandriva Linux også en mulighet for å installere oppdateringer og sikkerhetsrettelser fra speilene. urpmi.addmedia kan benyttes som over for å legge inn en oppdateringskilde. På Uninett ligger oppdateringer på stien:
Her viser vi hvordan man legger til en oppdateringskilde. Legg merke til den noe forskjellige syntaksen. Her angir vi et navn for kilden (vilkårlig, men bør være beskrivende), nemlig «update_source». Så angir vi stien til pakkene, og i tillegg må vi med denne metoden angi hvor den såkalte synteselista fins. Dette er en liste over pakkene, og inneholder en del metadata som urpmi trenger:
# urpmi.addmedia --update update_source ftp://ftp.uninett.no/linux/MandrivaLinux/official/updates/current/i586/media/main/updates lagt til medium update_source sjekker syntese-fil ... mottar kildehdlist (eller syntese) av "update_source"... ftp://ftp.uninett.no/linux/MandrivaLinux/official/updates/current/i586/media/main/updates fant test hdlist (eller syntese) som media_info/hdlist.cz ...ferdig mottatt sjekker hdlist-fil [/var/cache/urpmi/partial/hdlist.update_source.cz] skriver listefil for medium "update_source" mottar offentlignøkkel-fil med beskrivelse av "update_source"... bygd hdlist syntese-fil for medium "update_source" fant 0 hoder i cache fjerner 0 foreldede hoder fra cache skriv konfigurasjonsfil [/etc/urpmi/urpmi.cfg]
Når dette er gjort, kjører vi urpmi med en spesiell parameter som angir at den automatisk skal velge ut de pakkene som det fins nyere versjoner av og installere dem (--auto-select):
# urpmi --auto-select Følgende pakker vil bli installert for å tilfredstille avhengigheter (50 MB): libqt3-3.2.3-19.2.100mdk.i586 libqt3-devel-3.2.3-19.2.100mdk.i586 perl-Mail-SpamAssassin-2.63-2.1.100mdk.i586 qt3-common-3.2.3-19.2.100mdk.i586 rsync-2.6.0-1.2.100mdk.i586 spamassassin-2.63-2.1.100mdk.i586 Er dette ok? (J/n)
Trykk «J» for å akseptere dette etter at du har sett over listen. --auto-select kan også brukes til å oppgradere versjonen av Mandriva Linux.
Oppdatere urpmi-kilder
Fra tid til annen skjer det endringer på speilet der pakkene ligger. Siden pakkeinformasjonen er lagret lokalt som cache, kan det av og til hende at man må oppdatere pakkelistene sine. Dette gjøres med følgende kommandoer, som henholdsvis oppdaterer samtlige kilder og deretter installerer eventuelt oppdaterte pakker:
# urpmi.update -a # urpmi --auto-select
For å oppdatere kun update_source, byttes «-a» ut med «update_source». Merk at du for update_source bør kjøre dette svært ofte, helst ukentlig eller oftere. Oppdateringer kan inneholde viktige sikkerhetsoppdateringer som er essensielle for å holde systemet ditt sikkert.
Finne navnet på pakker
urpmq søker gjennom de mediene du har lagt opp og viser en liste over alternativer:
# urpmq reader Følgende pakker inneholder reader: perl-patchreader qfaxreader
Bruk dette når du vet omtrentlig hva pakken heter, men ikke har nøyaktig pakkenavn. Man kan også bruke opsjonen -y til urpmi, som skrur på «fuzzy»-søk:
# urpmi -y reader Følgende pakker inneholder reader: gtkwave libgeoip1-devel libgeoipupdate0 perl-MIME-tools perl-XML-SAX perl-patchreader qfaxreader
Som du ser, finner denne noe flere alternativer siden den også leter gjennom en del metainformasjon.
Finne ut hvilken pakke en fil er i
Det hender innimellom at programmer klager over at en fil ikke fins. Mest sannsynlig fins det en pakke som inneholder denne filen. Man kan bruke urpmf til å finne denne:
# urpmf /usr/lib/libiw.so.27 libiw27:/usr/lib/libiw.so.27
Filen fins altså i pakken libiw27. Hvordan denne installeres, bør leseren ha fått med seg lenger oppe i teksten.
Slette programmer
For å slette programmer, bruker man urpme. Dersom det fins avhengigheter mellom pakker som gjør at flere pakker må fjernes, vil urpme spørre om du egentlig ønsker å gjennomføre dette.
# urpme links fjerner links-2.1-0.pre13.2mdk.i586
Spesielle operasjoner
Oppdatere hele installasjonen
Når det kommer nye versjoner av Mandriva Linux, er det mulig å oppgradere hele systemet over nettverket. Prosedyren for dette er som følger:
- Fjern alle tidligere urpmi-medier
- Legg til alle medier (inkludert PLF etc.) for den versjonen som skal oppgraderes til
- Kjør urpmi --auto-select
Før man begynner trengs pakkekilder i form av vevtjenere eller filtjenere som inneholder de respektive filene som er nødvendige for å oppgradere distribusjonen. I vårt eksempel benytter vi ftp://ftp.uninett.no/linux/MandrivaLinux/
Først fjerner vi alle gamle pakkekilder med kommandoen:
# urpmi.removemedia -a
Når det er gjort skal vi legge til de kildene for den distribusjonen vi ønsker. I vårt eksempel har vi valgt siste stabile.
For å legge til kilder for 32-bits systemer benytter vi kommandoen:
# urpmi.addmedia --distrib ftp://ftp.uninett.no/linux/MandrivaLinux/official/current/i586
Hvis man derimot ønsker et 64-bits system benyttes denne:
# urpmi.addmedia --distrib ftp://ftp.uninett.no/linux/MandrivaLinux/official/current/x86_64
Eller med komplette kommandoer generert av nettsteder som http://easyurpmi.zarb.org/
Å legge til backports er ikke anbefalt da disse pakkene kan føre til problemer underveis.
For å starte selve oppgraderingen:
# urpmi --auto-select
Etter at dette har kjørt (kan ta sin tid siden man skal oppgradere de fleste pakkene), skal systemet være oppgradert. En omstart kan være på sin plass for å sørge for at alt kjører glatt.
Problemer med nøkler
Det har hendt at Mandriva Linux-versjoner ikke har helt styring på såkalte nøkler som pakkene er signert med. Dersom dette er et stort problem, kan følgende legges øverst i /etc/urpmi/urpmi.cfg:
{
no-verify-rpm
}
Oppsummering
Urpm kan mye mer enn det som er sagt her, og er et svært nyttig verktøy for å vedlikeholde programmer og pakker på et Mandriva Linux-system. Det bør alltid brukes for å sette opp, oppdatere eller fjerne programmer.
For mer informasjon, se man-sidene til de forskjellige verktøyene ved å kjøre følgende kommandoer i en terminal:
# man urpmi # man urpmf # man urpme # man urpmq # man urpmi.addmedia # man urpmi.removemedia


