Installasjon av programmer på Mandrake

Fra Oslo Linux User Group (OLUG)
Gå til: navigasjon, søk

Innhold

Hvordan installere programmer på Mandrake

Først av alt: Dersom du kun trenger kokeboka på å sette opp urpmi kilder på ftp-server, gå hit.

Det kommer ofte spørsmål fra nybegynnere som går på hvor man får tak i, og hvordan man installerer programmer i Linux. De fleste linuxdistribusjoner har et eget system for slikt. Mange lurer på hvordan man installerer et program fra kildekode. I de fleste tilfeller er dette unødvendig, og i tillegg fører det ofte til ekstra forvirring fordi programmene da må konfigureres i stor grad manuelt, og de vanlige oppstartsfilene legges på steder som ikke er i samsvar med resten av systemet.<p> Mandrake Linux benytter et pakkeformat for programmer som heter rpm. I standard Mandrake er det inkludert rundt 5000 (!) forskjellige programmer som enten ligger på CDene eller er tilgjengelig over nettverk. Dersom det programmet du ønsker finnes blant disse, er det på alle måter anbefalt at du benytter dette. Det vil garantert spare deg for masse hodebry. De aller fleste programmer som det er vanlig å ville installere finnes blant standardpakkene til Mandrake.<p> Mandrake Linux kommer med et verktøy som heter "urpmi" som er i stand til å håndtere installasjon av programmer som er pakket som rpm. Urpmi kan installer programmer enten fra lokal harddisk, fra nettverk, eller fra installasjonsCDene til Mandrake.<p> Med en "urpmi kilde" menes i dette dokumented en ressurs der det finnes en samling rpm-pakker for Mandrake. Dette kan være et fysisk medium, eller nettsteder. For eksempel har uninett en ftp server med speil av Mandrake.<p> I dette dokumentet skal jeg prøve å gi en generell introduksjon til urpmi og hvordan den brukes. Dersom du installerer Mandrake fra CD, så vil automatisk CDene bli satt opp sim urpmi kilde. Tilsvarende vil speilet du installerer fra bli satt opp dersom du installerer via nett (http, ftp eller nfs). I tillegg til update-kilden bli lagt til dersom du velger dette på slutten av installasjonen. <p> I tillegg til de offisielle kildene som settes opp på denne måten, finnes det noen tredjeparts kilder. Av disse er PLF (Penguin liberation front) den viktigste. PLF har en mengde pakker som ikke kan inkluderes i den offisielle Mandrake distribusjonen av juridiske årsaker i enkelte land, blant annet mplayer og xine (multimedia avspillere) med støtte for CSS-krypterte DVD filmer og en rekke proprietære filformater.<p>

Eksempel på installasjon

Det første man gjerne bruker urpmi til, er å installere en pakke. For å installere en pakke med urpmi, kjører man rett og slett

[root@krypton kenneth]# urpmi xpilot
                                                                          
installerer /var/cache/urpmi/rpms/xpilot-4.5.4-2mdk.i586.rpm
Forbereder...               ##################################################
   1:xpilot                 ##################################################

Dersom du er usikker på hva pakka heter, kan du prøve deg fram med -y switchen (fuzzy search): Hvis det finnes noe som passer, får du opp en liste.

[root@krypton kenneth]# urpmi -y mplayer
Følgende pakker inneholder mplayer:
kmplayer
mplayer
mplayer-fonts
mplayer-gui
mplayer-skins
mplayer1.0
mplayer1.0-gui
mplayerplugin
transcode
xmms-mplayer

Hva gjør man så når man skal fjerne en pakke? rpm -e tenker du kanskje... Men neida, urpmi har verktøy for det også. Men det heter urpme:

[root@krypton kenneth]# urpme xpilot
 
fjerner xpilot-4.5.4-2mdk.i586

Hm. Men la oss nå si at vi har navnet på ei fil, og lurer på hvilken pakke vi må installere for å få den. La oss si /etc/php.ini. Dette fikser urpmf!


[root@krypton kenneth]# urpmf /etc/php.ini
php-ini:/etc/php.ini

Vi ser at pakka heter php-ini. Hvordan denne installeres bør leseren klare å finne ut av nå :)

Kildekonfigurasjon

Av og til kan det være aktuelt å endre pakkekilde. For eksempel kan det være at du har installert fra CD, men ønsker å kunne fortsette med å installere fra en nettverksressurs. urpmi har et eget sett med kommandoer for å administrere dette, urpmi.removemedia og urpmi.addmedia.

For å fjerne en urpmi kilde kjører vi denne kommandoen:

[root@krypton kenneth]# urpmi.removemedia
oppføringen til fjerning mangler
(en av Installation CD, Contribution CD, updates, plf)

Her ser vi at urpmi.removemedia ikke fikk noe parameter, da lister den opp de tilgjengelige kildene. La oss fjerne Contribution CD:

[root@krypton kenneth]# urpmi.removemedia Contribution CD
velger flere media: "Installation CD", "Contribution CD"
fjerner medium "Installation CD"
fjerner medium "Contribution CD"
eksaminerer synthesis-fil [/var/lib/urpmi/synthesis.hdlist.updates.cz]
eksaminerer synthesis-fil [/var/lib/urpmi/synthesis.hdlist.plf.cz]
fant 0 hoder i cache
fjerner 0 obsolete hoder i cache
skriv konfigurasjonsfil [/etc/urpmi/urpmi.cfg]

Hva skjedde her? Jo, Installation CD og Contribution CD hører sammen. De blir deror begge fjernet. Merk at begge disse egentlig var nettverkskilder i dette oppsettet, som var navngitt med "CD" på speilet. Skal vi legge dem til igjen?

                                                
[root@krypton kenneth]# urpmi.addmedia --distrib http://neon/Mandrake/9.2/i586 
mottar hdlists-fil...
...ferdig mottatt
lagt til medium Main
lagt til medium Contrib
eksaminerer synthesis-fil [/var/lib/urpmi/synthesis.hdlist.updates.cz]
eksaminerer synthesis-fil [/var/lib/urpmi/synthesis.hdlist.plf.cz]
regner ut md5sum av eksisterende kildehdlist(eller synthesis)
mottar kildehdlist (eller synthesis) av "Main"...
    http://neon/Mandrake/9.2/i586/Mandrake/base/hdlist.cz
fant test hdlist (eller synthesis) som ../base/hdlist.cz
...ferdig mottatt
eksaminerer hdlist-fil [/var/cache/urpmi/partial/hdlist.Main.cz]
mottar offentlignøkkel-fil med beskrivelse av "Main"...
regner ut md5sum av eksisterende kildehdlist(eller synthesis)
mottar kildehdlist (eller synthesis) av "Contrib"...
    http://neon/Mandrake/9.2/i586/Mandrake/base/hdlist2.cz
fant test hdlist (eller synthesis) som ../base/hdlist2.cz
...ferdig mottatt
eksaminerer hdlist-fil [/var/cache/urpmi/partial/hdlist.Contrib.cz]
skriver listefil for medium "Contrib"
mottar offentlignøkkel-fil med beskrivelse av "Contrib"...
utfører andre rundgang for å beregne avhengigheter
 
eksaminerer hdlist-fil [/var/lib/urpmi/hdlist.updates.cz]
bygd hdlist synthesis-fil for medium "updates"
eksaminerer hdlist-fil [/var/lib/urpmi/hdlist.plf.cz]
bygd hdlist synthesis-fil for medium "plf"
eksaminerer hdlist-fil [/var/lib/urpmi/hdlist.Main.cz]
bygd hdlist synthesis-fil for medium "Main"
eksaminerer hdlist-fil [/var/lib/urpmi/hdlist.Contrib.cz]
bygd hdlist synthesis-fil for medium "Contrib"
fant 0 hoder i cache
fjerner 0 obsolete hoder i cache
skriv konfigurasjonsfil [/etc/urpmi/urpmi.cfg]

Her legges to kilder til, Main og Contrib. Disse er navngitt slik på speilet som brukes (i dette tilfellet en lokal maskin, neon). --distrib switchen angir at alle media skal installeres fra adressen som oppgies. Dette er nyttig for distribusjonskilder, for eksempel på speil der både Main (selve distribusjonen) og Contrib (Masse tilleggspakker) finnes.<p>

Legge til updates kilde

Updates kilde legges til automatisk dersom du velger å gjøre dette ved installasjon. I tillegg kan du sette opp denne manuelt på denne måten:

[root@krypton kenneth]# urpmi.addmedia updates http://10.0.2.1/Mandrake/updates/9.2/i586 with ../base/hdlist.cz
lagt til medium updates
eksaminerer synthesis-fil [/var/lib/urpmi/synthesis.hdlist.Main.cz]
eksaminerer synthesis-fil [/var/lib/urpmi/synthesis.hdlist.Contrib.cz]
eksaminerer synthesis-fil [/var/lib/urpmi/synthesis.hdlist.plf.cz]
mottar kildehdlist (eller synthesis) av "updates"...
    http://10.0.2.1/Mandrake/updates/9.2/base/hdlist.cz
fant test hdlist (eller synthesis) som ../base/hdlist.cz
...ferdig mottatt
eksaminerer hdlist-fil [/var/cache/urpmi/partial/hdlist.updates.cz]
skriver listefil for medium "updates"
mottar offentlignøkkel-fil med beskrivelse av "updates"...
bygd hdlist synthesis-fil for medium "updates"
fant 0 hoder i cache
fjerner 0 obsolete hoder i cache
skriv konfigurasjonsfil [/etc/urpmi/urpmi.cfg]

Her legger vi til oppdateringer fra en lokal IP, men her må vi angi manuelt en fil som heter hdlist.cz. Denne inneholder en beskrivelse av pakkene som skal være tilgjengelige. Når vi i sted brukte --distrib ble denne funnet automagisk. I dette tilfellet spesifiserer vi den.<p>

Når urpmi kilder endrer seg

Det hender at urpmi kilder endrer seg. Contrib får av og til nye programmer, og ofte kommer det sikkerhetsoppdateringer og bugfixer i updates. Vi kan bruke urpmi.update til å oppdatere enten enkeltkilder eller alle kilder. Først ser vi på en enkeltkilde:

[root@krypton kenneth]# urpmi.update updates
eksaminerer synthesis-fil [/var/lib/urpmi/synthesis.hdlist.Main.cz]
eksaminerer synthesis-fil [/var/lib/urpmi/synthesis.hdlist.Contrib.cz]
eksaminerer synthesis-fil [/var/lib/urpmi/synthesis.hdlist.plf.cz]
mottar kildehdlist (eller synthesis) av "updates"...
    http://10.0.2.1/Mandrake/updates/9.2/base/hdlist.cz
...ferdig mottatt
eksaminerer synthesis-fil [/var/lib/urpmi/synthesis.hdlist.updates.cz]

Når dette er gjort er urpmi databasen oppdatert med de nye pakkene som er tilgjengelige. Når vi oppdaterer en kilde med oppdateringer vil vi gjerne at alle pakker som trenger det blir oppdatert. Dette ordner vi med urpmi --auto-select:

[root@krypton kenneth]# urpmi --auto-select
Alt er allerede installert

I dag var det ingen oppdateringer :)


Oppgradering av distribusjon via urpmi

Fra tid til annen kommer det større oppdateringer i form av en ny versjon av Mandrake. Og selvsagt kan urpmi brukes til oppgraderinger :) Prosedyren er som følger: Fjern de ekisterende kildene, legg til nye som er for den nye versjonen, og kjør urpmi --auto-select:

# urpmi.removemedia -a
# urpmi.addmedia --distrib http://server/sti/til/mandrake/9.2
# urpmi --auto-select

Merk at dersom du har lagt til tredjeparts kilder må også disse legges inn pånytt for du kjører urpmi --auto-select dersom du vil dra nytte av nye versjoner av disse pakkene. <p>

Det var det for denne gang. Er det mer du lurer på om urpmi er dette en glimrende side.

Personlige verktøy