Urpm

Fra Wikipedia, den frie encyklopedi.

(Omdirigert fra Urpmi)

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 RPMRed 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
Serie: Pakkestyrere

apt-get ¦ emerge ¦ Pacman ¦ up2date ¦ urpmi ¦ YaST ¦ yum



Personal tools