In eerdere artikelen hebben we het systeem onderzocht dat wordt gebruikt om software te installeren op Debian-gebaseerde systemen, waaronder Ubuntu. RPM, of de "Red Hat Package Manager", debuteerde in 1995 in Red Hat Linux 2.0 en is nu het geprefereerde pakketbeheersysteem van distributies op basis van Red Hat, inclusief CentOS en Oracle's Linux distro, evenals SuSE.

Nu zullen we zien hoe dit systeem zich verhoudt tot de "Ubuntu-manier" van het beheren van software.

Opmerking : als u een op DEB gebaseerd systeem gebruikt, hebt u mogelijk de opdracht rpm. U hebt echter waarschijnlijk geen pakketdatabase, dus sommige van de onderstaande opdrachten kunnen fouten weergeven waarnaar hiernaar wordt verwezen.

RPM Package Basics

Een RPM-pakket, zoals DEB's, bestaat uit een archief met bestanden dat de pakketbeheerder op uw computer zal plaatsen als deze is geïnstalleerd. Het bevat ook hetzelfde type informatie over andere software die het nodig heeft, zodat het systeem uw afhankelijkheden voor u kan downloaden en installeren. Het verpakt dit allemaal op een andere manier.

Net als DEB-bestanden kan een RPM-pakket binaire (of uitvoerbare) code bevatten, broncode die vóór installatie in binair bestand is gecompileerd, of architectuuronafhankelijke bestanden (zoals documentatie). Een RPM-bestand is een cpio- archief, een archiefindeling die oorspronkelijk werd gebruikt voor back-ups van banden. RPM's bevatten drie primaire soorten gegevens:

  • Gegevens die het bestand identificeren als een RPM-pakket
  • Een handtekening zodat het systeem kan verifiëren dat er niet met het pakket is geknoeid (bijvoorbeeld een MD5-hash van het pakket)
  • De "Koptekst", die informatie over het pakket bevat, zoals naam, versienummer en samenvatting
  • De "Payload" of de bestanden die het pakket op uw systeem zal installeren

In tegenstelling tot Debian-pakketten is het bekijken van sommige van deze informatie niet zo eenvoudig als het opnieuw archiveren van het pakket en het bekijken van enkele tekstbestanden. Als we de handtekening willen bekijken, zeg om deze te vergelijken met een handtekening in de RPM-database van het systeem, moeten we het opdrachtregel-RPM-programma als volgt gebruiken:

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

Om de Header-informatie te bekijken, kunt u het pakket opvragen met de volgende opdracht:

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

Hier geeft de vlag "-q" aan RPM om het pakket te vragen, de "i" om er informatie over te krijgen, en de "p" om een ​​pakketbestand aan te duiden als een argument. Dus om te zien welke bestanden in het pakket zitten, wil je een lijst in plaats van info, of het volgende:

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

U kunt RPM-bestanden ook rechtstreeks in veel archiefbeheerders openen om te zien hoe de bestanden in het pakket zijn georganiseerd.

De RPM-database

Zoals hierboven vermeld, is een van de belangrijkste elementen van het Red Hat-pakketsysteem de RPM-database. Opgeslagen in "/ var / lib / rpm", bevat deze map een aantal submappen en bestanden die informatie bevatten over de pakketten die op het systeem zijn geïnstalleerd. Deze database wordt normaal opgezet tijdens de installatie van het systeem. Eenmaal geïnitialiseerd, wordt elk pakket dat op het systeem is geïnstalleerd, opgenomen in deze database - bijvoorbeeld, het merendeel van de pakketten die met het systeem zijn geïnstalleerd, worden uitgevoerd met RPM, dus hun records worden opgenomen.

Om de RPM-database te doorzoeken, kunt u opdrachten gebruiken die lijken op het bovenstaande en de vlag "p" weglaten (omdat we geen argument voor het pakketbestand leveren). Met de volgende opdracht wordt bijvoorbeeld de RPM-database doorzocht en worden alle bestanden weergegeven die deel uitmaken van het rpm- pakket (als het is geïnstalleerd):

 sudo rpm -ql rpm 

Op dezelfde manier toont de volgende opdracht alle pakketten die in het systeem zijn geïnstalleerd:

 sudo rpm -qa 

Er zijn een enorm aantal vlaggen en opties die kunnen worden gebruikt met de RPM-tools om uw software te beheren. Een goede referentie is de documentatie die door het Fedora-project wordt onderhouden.