RPM (Red Hat Package Manager) is een standaard open-source en veelgebruikt hulpprogramma voor pakketbeheer voor Red Hat-gebaseerde systemen zoals CentOS, Fedora, Rocky en Alma Linux.
De rpm-pakketbeheertool stelt systeembeheerders en gebruikers in staat om softwarepakketten te installeren, bij te werken, te verwijderen, te bevragen, te verifiëren en te beheren op Unix/Linux-besturingssystemen. Deze pakketten, voorheen bekend als een .rpm
-bestand, bevatten gecompileerde softwareprogramma’s en bibliotheken die nodig zijn voor de pakketten.
Dit artikel geeft 20 nuttige voorbeelden van RPM-commando’s die nuttig voor je kunnen zijn. Met behulp van deze RPM-commando’s kun je de installatie, bijwerking en verwijdering van pakketten op je Linux-systemen beheren.
RPM Feiten
Hier zijn enkele feiten over RPM (Red Hat Package Manager):
- RPM is vrij beschikbaar en uitgebracht onder de Algemene Openbare Licentie (GPL).
- RPM onderhoudt een database van alle geïnstalleerde pakketten, waarbij deze informatie wordt opgeslagen in de
/var/lib/rpm
-directory. - RPM dient als de primaire methode voor het installeren van pakketten op Linux-systemen. Als pakketten zijn geïnstalleerd met behulp van broncode, beheert RPM ze niet.
- RPM werkt met
.rpm
-bestanden, die vitale pakketinformatie bevatten zoals de identiteit, bron, afhankelijkheden, versiegegevens en meer.
Basismodi voor RPM-commando
Hier zijn de primaire modi voor het RPM-commando:
- Installeren – Het
rpm -i
commando installeert een nieuw pakket op het systeem. - Upgraden – Het
rpm -U
commando werkt een bestaand pakket bij naar een nieuwere versie. - Verwijderen – Het
rpm -e
commando verwijdert een pakket van het systeem. - Opvragen – Het
rpm -q
commando raadpleegt de RPM-database voor informatie over geïnstalleerde pakketten. - Controleren – Het
rpm -V
commando controleert de integriteit van geïnstalleerde pakketbestanden. - Vernieuwen – Het
rpm -F
commando werkt een pakket bij of installeert het alleen als het al geïnstalleerd is. - Database Herbouwen – Het
rpm --rebuilddb
commando herbouwt de RPM-database en lost databasecorruptieproblemen op. - GPG Sleutel Importeren – Het
rpm --import
commando importeert een GPG-sleutel die wordt gebruikt voor pakketondertekeningcontrole. - Alle Opvragen – Het
rpm -qa
commando geeft een lijst van alle geïnstalleerde pakketten op het systeem. - Bestanden Opvragen – Het
rpm -ql
commando geeft een lijst van alle bestanden geïnstalleerd door een specifiek pakket. - Documentatie Opvragen – Het
rpm -qd
commando geeft een lijst van documentatiebestanden die door een pakket worden geleverd. - Dependencies Opvragen – Het
rpm -qR
commando geeft een lijst van runtime-afhankelijkheden voor een pakket. - Query Provides – De
rpm -q --provides
commando geeft de mogelijkheden weer die door een pakket worden geleverd. - Query Requires – Het
rpm -q --requires
commando geeft de afhankelijkheden weer die door een pakket worden vereist.
Waar RPM-pakketten te vinden zijn
Je kunt RPM-pakketten op verschillende plaatsen vinden, afhankelijk van je Linux-distributie. Hier zijn veelvoorkomende locaties waar je alle RPM-pakketten kunt vinden en downloaden.
Vergeet niet dat u een root gebruiker moet zijn bij het installeren van pakketten in Linux, met root-rechten kunt u rpm-commando’s beheren met hun juiste opties.
1. Hoe te controleren of RPM-pakket-handtekening
Controleer altijd de PGP-handtekening van pakketten voordat u ze op uw Linux-systemen installeert en zorg ervoor dat hun integriteit en oorsprong OK zijn.
Gebruik het volgende commando met --checksig
(handtekening controleren) optie om de handtekening van een pakket genaamd hardinfo te controleren.
rpm --checksig hardinfo-2.0.11-FedoraLinux-39.x86_64.rpm hardinfo-2.0.11-FedoraLinux-39.x86_64.rpm: digests OK
2. Hoe RPM-pakket te installeren
Om een RPM-softwarepakket te installeren, gebruik het volgende commando met -ivh
optie, wat het rpm-pakket genaamd hardinfo-2.0.11-FedoraLinux-39.x86_64.rpm op een Linux-systeem zal installeren.
rpm -ivh hardinfo-2.0.11-FedoraLinux-39.x86_64.rpm Verifying... ################################# [100%] Preparing... ################################# [100%] Updating / installing... 1:hardinfo-2.0.11-1 ################################# [100%]
Laten we de onderdelen van bovenstaand commando uitleggen:
-i
: een pakket installeren-v
: uitgebreide weergave voor een aangenamer display-h
: druk hash-tekens (#) af om de voortgang van de installatie weer te geven.
3. Hoe afhankelijkheden van RPM-pakket te controleren vóór installatie
Stel dat u de afhankelijkheden wilt controleren voordat u een pakket installeert of bijwerkt. Gebruik bijvoorbeeld het volgende commando om de afhankelijkheden van het hardinfo-2.0.11-FedoraLinux-39.x86_64.rpm pakket te controleren.
Het commando vraagt naar en toont de runtime-afhankelijkheden die vereist zijn door het “hardinfo” pakket, wat helpt bij het identificeren en zorgen dat alle noodzakelijke afhankelijkheden vervuld zijn voordat het pakket wordt geïnstalleerd.
rpm -qpR hardinfo-2.0.11-FedoraLinux-39.x86_64.rpm libX11.so.6()(64bit) libatk-1.0.so.0()(64bit) libc.so.6()(64bit) libc.so.6(GLIBC_2.14)(64bit) libc.so.6(GLIBC_2.2.5)(64bit) libc.so.6(GLIBC_2.3)(64bit) libc.so.6(GLIBC_2.33)(64bit) libc.so.6(GLIBC_2.34)(64bit) libc.so.6(GLIBC_2.38)(64bit) libc.so.6(GLIBC_2.7)(64bit) libcairo-gobject.so.2()(64bit) libcairo.so.2()(64bit) ...
Laten we de onderdelen van bovenstaand commando opsplitsen:
-q
: Vraag een pakket op.-p
: Geef de capaciteiten weer die dit pakket aanbiedt.-R
: Geef de capaciteiten weer waarop dit pakket aan is gebonden.
4. Hoe RPM-pakket zonder afhankelijkheden te installeren
Om een rpm-pakket zonder afhankelijkheden te installeren, kunt u de --nodeps
optie gebruiken, die een RPM-pakket forceert te installeren zonder afhankelijkheden te controleren of op te lossen.
rpm -ivh --nodeps hardinfo-2.0.11-FedoraLinux-39.x86_64.rpm
Het bovenstaande commando installeert het rpm-pakket met de onderdrukking van afhankelijkheidsfouten, maar als die afhankelijkheidsbestanden ontbreken, zal het programma helemaal niet werken totdat u ze installeert.
5. Hoe een geïnstalleerd RPM-pakket te controleren
Om een geïnstalleerd rpm-pakket te controleren, kunt u de -q
optie gebruiken, die informatie over de geïnstalleerde versie van het pakket opvraagt en weergeeft.
rpm -q hardinfo hardinfo-2.0.11-1.x86_64
6. Hoe RPM-bestanden te vinden waar ze geïnstalleerd zijn
Om alle bestanden van een geïnstalleerde rpm-pakket te bekijken, gebruik de -ql
(query list) met de rpm-opdracht.
rpm -ql hardinfo /usr/bin/hardinfo2 /usr/lib/.build-id /usr/lib/.build-id/3a /usr/lib/.build-id/53 /usr/lib/.build-id/7c /usr/lib/.build-id/ba /usr/lib/.build-id/e0 /usr/lib64/hardinfo2 /usr/lib64/hardinfo2/modules /usr/lib64/hardinfo2/modules/benchmark.so /usr/lib64/hardinfo2/modules/computer.so /usr/lib64/hardinfo2/modules/devices.so /usr/lib64/hardinfo2/modules/network.so ...
7. Hoe worden de meest recent geïnstalleerde RPM-pakketten weergegeven
Gebruik de volgende rpm-opdracht met -qa
(query all) optie, zal lijst alle meest recent geïnstalleerde rpm-pakketten.
rpm -qa --last hardinfo-2.0.11-1.x86_64 Mon 04 Mar 2024 01:32:14 PM IST pipewire-pulseaudio-1.0.3-1.fc39.x86_64 Mon 04 Mar 2024 01:32:02 PM IST pipewire-jack-audio-connection-kit-1.0.3-1.fc39.x86_64 Mon 04 Mar 2024 01:32:02 PM IST pipewire-alsa-1.0.3-1.fc39.x86_64 Mon 04 Mar 2024 01:32:02 PM IST libsoup-devel-2.74.3-3.fc39.x86_64 Mon 04 Mar 2024 01:32:02 PM IST json-glib-devel-1.8.0-1.fc39.x86_64 Mon 04 Mar 2024 01:32:02 PM IST gtk3-devel-3.24.41-1.fc39.x86_64 Mon 04 Mar 2024 01:32:02 PM IST xdg-desktop-portal-gtk-1.15.1-1.fc39.x86_64 Mon 04 Mar 2024 01:32:01 PM IST xdg-desktop-portal-1.18.2-1.fc39.x86_64 Mon 04 Mar 2024 01:32:01 PM IST libcanberra-gtk3-0.30-32.fc39.x86_64 Mon 04 Mar 2024 01:32:01 PM IST gtk3-3.24.41-1.fc39.x86_64 Mon 04 Mar 2024 01:32:01 PM IST ...
8. Hoe worden alle geïnstalleerde RPM-pakketten weergegeven
Voer de volgende opdracht in om alle namen van geïnstalleerde pakketten op uw Linux-systeem te printen.
rpm -qa fonts-filesystem-2.0.5-12.fc39.noarch libreport-filesystem-2.17.11-3.fc39.noarch hunspell-filesystem-1.7.2-5.fc39.x86_64 abattis-cantarell-vf-fonts-0.301-10.fc39.noarch fedora-gpg-keys-39-1.noarch fedora-repos-39-1.noarch setup-2.14.4-1.fc39.noarch filesystem-3.18-6.fc39.x86_64 basesystem-11-18.fc39.noarch default-fonts-core-sans-4.0-9.fc39.noarch langpacks-fonts-en-4.0-9.fc39.noarch ...
9. Hoe een RPM-pakket bij te werken
Als we een RPM-pakket willen bijwerken, wordt de –U
(upgrade) optie gebruikt. Een van de grote voordelen van het gebruik van deze optie is dat het niet alleen de nieuwste versie van elk pakket bijwerkt, maar ook de back-up van het oudere pakket behoudt, zodat in het geval dat het nieuw bijgewerkte pakket niet draait, het eerder geïnstalleerde pakket opnieuw kan worden gebruikt.
rpm -Uvh hardinfo-2.0.11-FedoraLinux-39.x86_64.rpm
10. Hoe een RPM-pakket te verwijderen
Om een RPM-pakket te de-installeren, bijvoorbeeld, gebruiken we de pakketnaam hardinfo, niet de originele pakketnaam hardinfo-2.0.11-FedoraLinux-39.x86_64.rpm. De -e (erase)
optie wordt gebruikt om het pakket te verwijderen.
rpm -evv hardinfo
11. Hoe een RPM-pakket zonder afhankelijkheden te verwijderen
De --nodeps
(do not check dependencies) optie verwijdert het rpm-pakket gewelddadig uit het systeem. Maar houd er rekening mee dat het verwijderen van een bepaald pakket andere werkende toepassingen kan breken.
rpm -ev --nodeps hardinfo
12. Hoe een RPM-pakket van een specifiek bestand te vinden
Laten we zeggen dat je een lijst hebt van bestanden en je wilt weten bij welk pakket deze bestanden horen. Bijvoorbeeld, het volgende commando met de -qf
(query bestand) optie zal een bestand /usr/bin/htpasswd tonen dat eigendom is van het pakket httpd-tools-2.4.58-1.fc39.x86_64.
rpm -qf /usr/bin/htpasswd httpd-tools-2.4.58-1.fc39.x86_64
13. Hoe Informatie van Geïnstalleerd RPM Pakket Opvragen
Laten we zeggen dat je een rpm pakket hebt geïnstalleerd en je wilt de informatie over het pakket weten. De volgende -qi
(query info) optie zal de beschikbare informatie van het geïnstalleerde pakket tonen.
rpm -qi hardinfo Name : hardinfo Version : 2.0.11 Release : 1 Architecture: x86_64 Install Date: Mon 04 Mar 2024 01:32:14 PM IST Group : unknown Size : 5174404 License : GPL2+ Signature : (none) Source RPM : hardinfo-2.0.11-1.src.rpm Build Date : Sat 02 Mar 2024 06:37:42 AM IST Build Host : fedora.bigbear.dk Relocations : /usr Vendor : Humanity URL : https://www.hardinfo2.org Summary : hardinfo2 built using CMake Description : Hardinfo2 is a small application that displays information about your hardware and operating system. It has online benchmarking to check your machine performance against other machines.
14. Krijg de Informatie van een RPM Pakket Voordat je het Installeert
Je hebt een pakket gedownload van het internet en wilt de informatie van een pakket weten voordat je het installeert. Bijvoorbeeld, de volgende optie -qip
(query info pakket) zal de informatie van een pakket sqlbuddy tonen.
rpm -qip sqlbuddy Name : sqlbuddy Relocations: (not relocatable) Version : 1.3.3 Vendor: (none) Release : 1 Build Date: Wed 02 Nov 2011 11:01:21 PM BDT Install Date: (not installed) Build Host: rpm.bar.baz Group : Applications/Internet Source RPM: sqlbuddy-1.3.3-1.src.rpm Size : 1155804 License: MIT Signature : (none) Packager : Erik M Jacobs URL : http://www.sqlbuddy.com/ Summary : SQL Buddy â Web based MySQL administration Description : SQLBuddy is a PHP script that allows for web-based MySQL administration.
15. Hoe Documentatie van Geïnstalleerd RPM Pakket Opvragen
Om de lijst van beschikbare documentatie van een geïnstalleerd pakket te krijgen, gebruik het volgende commando met de optie -qdf
(query document bestand) zal de handleidingen tonen die gerelateerd zijn aan het vmstat pakket.
rpm -qdf /usr/bin/vmstat /usr/share/doc/procps-ng/AUTHORS /usr/share/doc/procps-ng/FAQ /usr/share/doc/procps-ng/NEWS /usr/share/doc/procps-ng/README.md /usr/share/doc/procps-ng/bugs.md /usr/share/man/man1/free.1.gz /usr/share/man/man1/pgrep.1.gz ...
16. Hoe een RPM Pakket Verifiëren
Verifiëren van een pakket vergelijkt de informatie van geïnstalleerde bestanden van het pakket met de rpm-database. De -Vp
(verifieer pakket) wordt gebruikt om een pakket te verifiëren.
rpm -Vp sqlbuddy-1.3.3-1.noarch.rpm S.5....T. c /etc/httpd/conf.d/sqlbuddy.conf
17. Hoe alle RPM-pakketten te verifiëren
Typ het volgende commando om alle geïnstalleerde rpm-pakketten te verifiëren.
rpm -Va S.5....T. c /etc/rc.d/rc.local .......T. c /etc/dnsmasq.conf .......T. /etc/ld.so.conf.d/kernel-2.6.32-279.5.2.el6.i686.conf S.5....T. c /etc/yum.conf S.5....T. c /etc/yum.repos.d/epel.repo
18. Hoe een RPM GPG-sleutel te importeren
Om RHEL/CentOS/Fedora-pakketten te verifiëren, moet u de GPG-sleutel importeren. Voer hiervoor het volgende commando uit. Het zal de CentOS 8-GPG-sleutel importeren.
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-8
19. Hoe alle geïmporteerde RPM GPG-sleutels op te lijsten
Om alle geïmporteerde GPG-sleutels in uw systeem af te drukken, gebruikt u het volgende commando.
rpm -qa gpg-pubkey* gpg-pubkey-0608b895-4bd22942 gpg-pubkey-7fac5991-4615767f gpg-pubkey-0f2672c8-4cd950ee gpg-pubkey-c105b9de-4e0fd3a3 gpg-pubkey-00f97f56-467e318a gpg-pubkey-6b8d79e6-3f49313d gpg-pubkey-849c449f-4cb9df30
20. Hoe een beschadigde RPM-database opnieuw op te bouwen
Soms raakt de rpm-database beschadigd en stopt alle functionaliteit van rpm en andere toepassingen op het systeem. Dus, op dit moment moeten we de rpm-database herbouwen en herstellen met behulp van het volgende commando.
cd /var/lib rm __db* rpm --rebuilddb rpmdb_verify Packages
Ter afsluiting bieden de gepresenteerde rpm-commando’s een uitgebreide gids voor het efficiënt beheren van softwarepakketten op RHEL-gebaseerde Linux-distributies.
Source:
https://www.tecmint.com/20-practical-examples-of-rpm-commands-in-linux/