I tidligere artikler har vi utforsket systemet som brukes til å installere programvare på Debian-baserte systemer, blant annet blant annet Ubuntu. RPM, eller "Red Hat Package Manager", debuterte i Red Hat Linux 2.0 i 1995, og er nå det foretrukne pakkehåndteringssystemet for distribusjoner basert på Red Hat, inkludert CentOS og Oracle's Linux distro, samt SuSE.

Nå ser vi hvordan dette systemet sammenligner seg med "Ubuntu-måten" for å administrere programvare.

Merk : Hvis du bruker et DEB-basert system, kan du ha kommandoen rpm. Du vil sannsynligvis ikke ha en pakkedatabase, så noen av kommandoene nedenfor kan vise noen feil som refererer til dette.

RPM-pakke Grunnleggende

En RPM-pakke, som DEB, består av et arkiv av filer som pakkebehandleren vil plassere på datamaskinen når den er installert. Den inneholder også den samme typen informasjon om annen programvare den trenger, slik at systemet kan laste ned og installere dine avhengigheter for deg. Det bryter bare alt dette opp på en annen måte.

I likhet med DEB-filer kan en RPM-pakke inneholde enten binær (eller kjørbar) kode, kildekode som er kompilert til binær før installasjon, eller arkitektur-uavhengige filer (som dokumentasjon). En RPM-fil er et cpio- arkiv, som er et arkivformat som opprinnelig ble brukt til sikkerhetskopiering av kassetter. RPM inneholder tre primære typer data:

  • Data som identifiserer filen som en RPM-pakke
  • En signatur, slik at systemet kan verifisere at pakken ikke har blitt manipulert (for eksempel en MD5 hash av pakken)
  • "Header", som inneholder informasjon om pakken, for eksempel navn, versjonsnummer og oppsummering
  • "Lastbelastning", eller filene pakken vil installere på systemet ditt

I motsetning til Debian-pakker er det ikke så lett å se noe av denne informasjonen som å unarchive pakken og se på noen tekstfiler. Hvis vi ønsker å se på signaturen, si å sammenligne den med en signatur i systemets RPM-database, må vi bruke kommandolinje-RPM-programmet som følger:

 sudo rpm - kontrollert rpm-4.9.1.3-6.fc17.x86_64.rpm 

For å se Header-informasjonen kan du spørre pakken med følgende kommando:

 sudo rpm-qip rpm-4.9.1.3-6.fc17.x86_64.rpm 

Her forteller "-q" -flagget RPM for å spørre pakken, "jeg" for å få informasjon om det, og "p" som du vil indikere en pakkefil som et argument. Så for å se hvilke filer som er i pakken, vil du ha en liste i stedet for info, eller følgende:

 sudo rpm-qlp rpm-4.9.1.3-6.fc17.x86_64.rpm 

Du kan også åpne RPM-filer direkte i mange arkivforvaltere for å se hvordan filene i pakken er organisert.

RPM-databasen

Som nevnt ovenfor er en av hovedelementene i Red Hat-pakkesystemet RPM-databasen. Lagret i "/ var / lib / rpm" inneholder denne katalogen en rekke underkataloger og filer som inneholder informasjon om pakkene som er installert på systemet. Denne databasen er vanligvis satt opp under installasjonen av systemet. Når en gang er initialisert, vil alle pakker som er installert på systemet, bli registrert i denne databasen - for eksempel er flertallet av pakkene som er installert med systemet, gjort ved hjelp av RPM, slik at deres poster blir inkludert.

For å kunne spørre om RPM-databasen, kan du bruke kommandoer som ligner på ovennevnte, og la "p" -flagget ut (fordi vi ikke gir et pakkefilargument). For eksempel vil følgende kommando søke i RPM-databasen og liste alle filene som er en del av omdreiningspakken (hvis den er installert):

 sudo rpm -ql rpm 

På samme måte vil følgende kommando vise alle pakkene som er installert i systemet:

 sudo rpm-qa 

Det er et stort antall flagg og alternativer som kan brukes med RPM-verktøy for å administrere programvaren. En god referanse er dokumentasjonen vedlikeholdt av Fedora-prosjektet.