I tidligere artikler har vi udforsket det system, der bruges til at installere software på Debian-baserede systemer, herunder bl.a. Ubuntu. RPM eller Red Hat Package Manager debuterede i Red Hat Linux 2.0 i 1995 og er nu det foretrukne pakkehåndteringssystem for distributioner baseret på Red Hat, herunder CentOS og Oracle's Linux distro, samt SuSE.

Nu kan vi se, hvordan dette system sammenligner med "Ubuntu-måden" til styring af software.

Bemærk : Hvis du bruger et DEB-baseret system, kan du have kommandoen rpm. Du har sandsynligvis ikke en pakkedatabase, så nogle af nedenstående kommandoer kan vise nogle fejl, der refererer til dette.

RPM-pakke Basics

En RPM-pakke, som DEB, består af et arkiv af filer, som pakkechefen placerer på din computer, når den installeres. Den indeholder også den samme type information om anden software, som den har brug for, så systemet kan downloade og installere dine afhængigheder for dig. Det pakker bare alt dette op på en anden måde.

Ligesom DEB-filer kan en RPM-pakke indeholde enten binær (eller eksekverbar) kode, kildekode, der er kompileret til binær før installation eller arkitekturafhængige filer (som dokumentation). En RPM-fil er et cpio- arkiv, som er et arkivformat, der oprindeligt blev brugt til tapetbackups. RPM'erne indeholder tre primære typer af data:

  • Data, der identificerer filen som en RPM-pakke
  • En underskrift, så systemet kan kontrollere, at pakken ikke er blevet manipuleret (for eksempel en MD5 hash af pakken)
  • "Header", som indeholder oplysninger om pakken, som navn, versionsnummer og sammendrag
  • "Payload" eller de filer, pakken vil installere på dit system

I modsætning til Debian-pakker er det ikke helt så nemt at se nogle af disse oplysninger, som at ophæve pakken og se på nogle tekstfiler. Hvis vi ønsker at se på underskriften, skal du sige at sammenligne den med en underskrift i systemets RPM-database, skal vi bruge kommandolinje-RPM-programmet som følger:

 sudo omdrejningstal - kontrolleret rpm-4.9.1.3-6.fc17.x86_64.rpm 

For at se headerinformationen kan du søge efter pakken med følgende kommando:

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

Her fortæller "-q" -flagget RPM for at forespørge pakken, "jeg" for at få info om det og "p", som du vil angive en pakkefil som et argument. Så for at se, hvilke filer der er i pakken, vil du have 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å åbne RPM-filer direkte i mange arkivforvaltere for at se, hvordan filerne i pakken er organiseret.

RPM Database

Som nævnt ovenfor er et af hovedelementerne i Red Hat-pakkesystemet RPM-databasen. Gemt i "/ var / lib / rpm" indeholder denne mappe et antal underkataloger og filer, der indeholder oplysninger om de pakker, der er installeret på systemet. Denne database oprettes normalt under installationen af ​​systemet. Når en gang er initialiseret, vil enhver pakke, der er installeret på systemet, blive optaget i denne database - for eksempel er størstedelen af ​​de pakker, der er installeret med systemet, lavet ved hjælp af omdrejningstal, så deres optegnelser vil blive inkluderet.

For at kunne spørge om RPM-databasen kan du bruge kommandoer svarende til ovenstående, forlader "p" -flaget (fordi vi ikke leverer et pakkefilargument). F.eks. Vil den følgende kommando søge i RPM-databasen og liste alle de filer, der er en del af omdrejningspakken (hvis den er installeret):

 sudo rpm -ql rpm 

På samme måde vil følgende kommando liste over alle de pakker, der er installeret i systemet:

 sudo rpm -qa 

Der er et stort antal flag og muligheder, der kan bruges med omdrejningsværktøjet til at styre din software. En god reference er den dokumentation, der opretholdes af Fedora-projektet.