Installere programvare fra RPM-pakker

Lær hvordan du installerer programvare fra RPM-pakker i Linux. Du lærer også hvordan du oppgraderer, fjerner og administrerer RPM-pakkene på systemet ditt.

Hva er RPM >

RPM står for Red Hat Package Manager. Imidlertid er RPM i dag ikke bare spesifikk for Red Hat fordi mange andre Linux-distroer bruker RPM for å administrere programvaren. For eksempel bruker både Mandriva og SuSE RPM for programvarestyring. Med RPM kan du installere, oppgradere og avinstallere programvare på Linux, samt holde oversikt over allerede installerte RPM-pakker på systemet ditt. Dette kan gjøres fordi RPM beholder en database med all programvare som ble installert sammen med den.

RPM bruker programvarepakker som har (overraskelse) .rpm forlengelse. En RPM-pakke inneholder den faktiske programvaren som blir installert, kanskje noen ekstra filer for programvaren, informasjon om hvor programvaren og dens filer blir installert, og en liste over andre filer du må ha på systemet ditt for å kunne kjøre dette bestemte stykket av programvare.

Når du bruker RPM for å installere programvarepakken, kontrollerer RPM om systemet er egnet for programvaren i RPM-pakken, viser ut hvor du skal installere filene pakken gir, installerer dem på systemet, og legger til det aktuelle programvaren i sin database med installerte RPM-pakker.

Merk at forskjellige Linux-distribusjoner kan beholde programvaren og filene relatert til den programvaren i forskjellige kataloger. Derfor er det viktig å bruke RPM-pakken som ble laget for distribusjonen din. Hvis du for eksempel installerer en SuSE-spesifikk programvarepakke på et Red Hat-system, kan RPM legge filene fra den pakken i feil kataloger. I verste fall er resultatet at programmet ikke finner alle filene det trenger og ikke fungerer som det skal.

Det er noen gode grafiske programmer for å installere RPM-pakker, men i denne tuXfilen vil jeg diskutere den idiotsikre kommandolinjemetoden for å installere programvare. Merk at du må være rot når du installerer programvare i Linux. Når du har rotprivilegiene, bruker du rpm kommandoen med passende alternativer for å administrere RPM-programvarepakker.

Installere og oppgradere RPM-pakker >

For å installere en programvarepakke, bruker du rpm kommandoen med -i alternativet (som står for "installer"). For eksempel å installere en RPM-pakke kalt software-2.3.4.rpm:
rpm -i software-2.3.4.rpm

Hvis du allerede har noen versjon installert på systemet ditt og vil oppgradere den til den nye versjonen, bruker du -U alternativet i stedet (som står for "oppgradering"). For eksempel hvis du har software-2.3.3.rpm installert og vil oppgradere det:
rpm -U software-2.3.4.rpm

Hvis alt går bra, vil filene i pakken bli installert i systemet ditt, og du kan gjerne kjøre det nye programmet. Men hvor er ditt nye program? Noter det rpm oppretter vanligvis ikke en spesiell katalog for programvarepakkens filer. I stedet blir de forskjellige filene fra pakken plassert i passende eksisterende kataloger på Linux-systemet ditt. Kjørbare programmer går vanligvis inn i / bin, / usr / bin, / usr / X11 / bin, eller / usr / X11R6 / bin etter installasjon med rpm.

Men hvordan kan du kjøre det nye programmet ditt hvis du ikke vet hvor den kjørbare filen er? Noen ganger blir programmet automatisk lagt til i menyen, men vanligvis kan du bare kjøre programmet ved å skrive navnet ved ledeteksten. I de fleste tilfeller trenger du ikke å vite hvor programmet ble installert fordi du ikke trenger å skrive hele banen når du kjører programmet, bare programmets navn er nødvendig.

Feil: mislykkede avhengigheter >

utstede rpm -i or rpm -U installerer programvaren, og du kan begynne å bruke den. RPM er veldig enkelt når det fungerer. RPM kan imidlertid være en djevel når det ikke fungerer. Det er mange grunner til at installering av programvare går galt, men vanligvis skyldes det mislykkede avhengigheter.

Du ser at mange Linux-programmer trenger andre filer eller programmer for å kunne fungere skikkelig. Med andre ord, et bestemt stykke programvare avhenger på annen programvare. Når du prøver å installere en RPM-pakke, sjekker RPM automatisk databasen for andre filer som programvaren som installeres trenger. Hvis RPM ikke finner disse filene i databasen, slutter den å installere programvaren og klager over mislykkede avhengigheter.

Når du får en avhengighetsfeil, spytter RPM ut en liste over filer programmet trenger. Ta en titt på listen. Filene i listen er sannsynligvis de du ikke har på systemet ditt, eller filer du har, men er feil versjoner. Når du får den fryktede avhengighetsfeilen, må du finne filene RPM klager over, installere eller oppgradere disse filene først, og deretter prøve å installere pakken du installerte i utgangspunktet.

Imidlertid er noen ganger RPM bare ren dum. Du ser, bare programvare som ble installert med RPM blir lagt til i databasen med installert programvare. Dette betyr at hvis du har brukt en annen metode for å installere et bestemt program, vet ikke RPM at programmet eksisterer på systemet ditt. I dette tilfellet klager RPM over mislykkede avhengigheter selv når det nødvendige programmet finnes på systemet ditt og det ikke er noen mislykkede avhengigheter!

Hvis du Vet De nødvendige filene er der, og RPM er bare dum, du kan ignorere avhengighetene. Bruke --nodeps alternativ hvis du vil fortelle omdreiningstid for ikke å kontrollere eventuelle avhengigheter før du installerer pakken:
rpm -i software-2.3.4.rpm --nodeps

Dette tvinger RPM til å ignorere avhengighetsfeil og installere programvare uansett, men merk at hvis de nødvendige filene mangler uansett, vil ikke programmet fungere bra eller ikke fungere i det hele tatt. Bruke --nodeps alternativet bare når du vet hva du holder på med eller når du er nok med beinhodet

Fjerner programvare installert med RPM >

For å fjerne programvare som ble installert med RPM, bruker du -e alternativ (som står for "slett"):
rpm -e software-2.3.4

Legg merke til at når installere programvare, må du skrive navnet på RPM-pakken. Men når fjerne programvare, trenger du ikke å skrive inn hele navnet på pakken som inneholdt programvaren. Du trenger ikke å skrive inn .rpm utvidelse når du fjerner programvare. Sannsynligvis trenger du heller ikke å skrive inn versjonsnummeret, så dette vil gjøre nøyaktig det samme som ovenfor:
rpm -e software

Dette rpm -e kommandoen bruker RPM-databasen for å sjekke hvor alle filene relatert til denne programvaren ble installert og deretter automatisk fjerner alle disse filene. Etter fjerning av programfilene fjerner den også programmet fra databasen med installert programvare.

Dette er grunnen til at det er så viktig at du ALDRI fjerner RPM-programvare manuelt (for eksempel ved å slette enkeltfiler med rm). Hvis du bare kjører rundt systemet ditt ved å slette filer som ble installert med RPM tilfeldig, blir du kvitt programvaren, men RPM vet ikke den og fjerner ikke programvarepakken fra databasen. Resultatet er at RPM fremdeles mener at programmet er installert på systemet ditt, og at du kan komme i avhengighetsproblemer senere.

Hvis du brukte RPM for å installere et bestemt program, bruker du RPM for å fjerne det programvaren også!

Spør om RPM-databasen >

Som du allerede vet, inneholder RPM-databasen en liste over alle installerte RPM-pakker på systemet ditt. Du kan spørre denne databasen for å få informasjon om pakkene på ditt Linux-system. For å spørre en enkelt pakke, bruker du -q alternativ. For eksempel for å spørre en pakke med navnet “programvare”:
rpm -q software

Etter å ha utstedt denne kommandoen, rpm enten forteller deg versjonen av pakken, eller at pakken ikke er installert.

Hvis du vil ha en liste over alle pakker som er installert på systemet ditt, må du spørre alle med -qa:
rpm -qa

Mest sannsynlig vil denne listen være veldig lang, så du trenger en måte å bla den på. Den beste måten er å pipe listen til less:
rpm -qa | less

Hvis du leter etter pakker med navn som inneholder et bestemt ord, kan du bruke grep for å finne disse pakkene. For eksempel, for å få en liste over alle installerte RPM-pakker hvis navn inneholder ordet “kde”, kan du gjøre noe sånt:
rpm -qa | grep kde

Kommandoen ovenfor gjør rpm liste alle pakkene i databasen og send listen til grep. da grep sjekker hver linje for "kde" og viser til slutt alle linjene som inneholder ordet "kde".

Hvis du ikke har noen ide om hva som er grep eller rør, ta en titt på Redirecting standard input and output tuXfile.