La comanda rpm a Linux: gestionar paquets RPM | Iespai

La comanda rpm a Linux: instal·lar, consultar i verificar paquets RPM



rpm (RPM Package Manager, abans Red Hat Package Manager) és l’eina de baix nivell per instal·lar, actualitzar, esborrar i consultar paquets .rpm a Red Hat Enterprise Linux, Fedora, Rocky Linux, AlmaLinux, CentOS Stream, openSUSE i derivades. Manté la base de dades de tot el que hi ha instal·lat al sistema.

La diferència clau amb dnf (abans yum) és que rpm no resol dependències ni descarrega res: treballa amb fitxers .rpm que ja tens i amb la base de dades local. Per instal·lar i actualitzar programes, el dia a dia es fa amb dnf; rpm és imprescindible per consultar què hi ha instal·lat i d’on surt cada fitxer.

Sintaxi

rpm [mode] [opcions] paquet...

Modes principals

ModeQuè fa
-iInstal·la un paquet nou (fitxer .rpm)
-UActualitza un paquet, o l’instal·la si no hi és
-FActualitza només si ja està instal·lat (freshen)
-eEsborra (desinstal·la) un paquet
-qConsulta la base de dades (amb submodes, vegeu més avall)
-VVerifica que els fitxers d’un paquet no hagin canviat
-KComprova les signatures i sumes de verificació d’un fitxer .rpm

Opcions més útils

OpcióQuè fa
-vMostra més informació
-hMostra una barra de progrés amb # (es fa servir sempre amb -v: -ivh, -Uvh)
--testSimula l’operació sense fer-la
-aAmb -q o -V: tots els paquets instal·lats
-pAmb -q: consulta un fitxer .rpm en lloc d’un paquet instal·lat
-f fitxerAmb -q: quin paquet ha instal·lat aquest fitxer
-i, -l, -c, -d, -RAmb -q: informació, llista de fitxers, de configuració, de documentació, dependències
--lastAmb -qa: ordena per data d’instal·lació, els més recents primer

Consultar paquets instal·lats

Si un paquet és instal·lat, i quina versió:

$ rpm -q bash
bash-5.1.8-9.el9.aarch64

$ rpm -q httpd
package httpd is not installed

Informació detallada:

$ rpm -qi bash
Name        : bash
Version     : 5.1.8
Release     : 9.el9
Architecture: aarch64
Install Date: Mon May 25 20:13:49 2026
Size        : 7716567
License     : GPLv3+
Signature   : RSA/SHA256, Tue Apr 30 11:39:20 2024, Key ID 702d426d350d275d
...
Summary     : The GNU Bourne Again shell

Quins fitxers instal·la un paquet, i només els de configuració:

rpm -ql bash
rpm -qc bash

Quin paquet ha instal·lat un fitxer (molt útil per saber d’on surt una comanda):

$ rpm -qf /usr/bin/ls
coreutils-single-8.32-40.el9.aarch64

Els últims paquets instal·lats o actualitzats:

$ rpm -qa --last | head -3
gpg-pubkey-350d275d-6279464b                  Mon May 25 20:13:59 2026
rootfiles-8.1-35.el9.noarch                   Mon May 25 20:13:55 2026
less-590-6.el9.aarch64                        Mon May 25 20:13:55 2026

Tens més consultes (dependències, mides, format personalitzat…) a la fitxa consultar paquets amb rpm.

Consultar un fitxer .rpm abans d’instal·lar-lo

Amb -p consultes el fitxer en lloc de la base de dades:

$ rpm -qpi tree-1.8.0-10.el9.aarch64.rpm
Name        : tree
Version     : 1.8.0
...

$ rpm -qpl tree-1.8.0-10.el9.aarch64.rpm
/usr/bin/tree
...

I comprovar-ne la signatura i la integritat:

$ rpm -K tree-1.8.0-10.el9.aarch64.rpm
tree-1.8.0-10.el9.aarch64.rpm: digests signatures OK

Instal·lar, actualitzar i esborrar

sudo rpm -ivh tree-1.8.0-10.el9.aarch64.rpm
Verifying...                          ########################################
Preparing...                          ########################################
Updating / installing...
tree-1.8.0-10.el9                     ########################################

Si el paquet necessita altres paquets que no tens, rpm s’atura i t’ho diu:

$ sudo rpm -ivh httpd-2.4.62-13.el9_8.6.aarch64.rpm
error: Failed dependencies:
 httpd-core = 0:2.4.62-13.el9_8.6 is needed by httpd-2.4.62-13.el9_8.6.aarch64
 libbrotlienc.so.1()(64bit) is needed by httpd-2.4.62-13.el9_8.6.aarch64
 system-logos-httpd is needed by httpd-2.4.62-13.el9_8.6.aarch64
 systemd is needed by httpd-2.4.62-13.el9_8.6.aarch64

Per això, fins i tot per a un .rpm descarregat, és millor fer servir dnf, que busca les dependències als repositoris:

sudo dnf install ./httpd-2.4.62-13.el9_8.6.aarch64.rpm

Actualitzar (o instal·lar si no hi és):

sudo rpm -Uvh paquet-2.0-1.el9.x86_64.rpm

Esborrar (pel nom del paquet, no del fitxer):

sudo rpm -e tree

Si un altre paquet en depèn, rpm -e es nega i et diu quin. Abans d’esborrar res, pots simular-ho amb --test.

Verificar paquets instal·lats

-V compara els fitxers del disc amb la base de dades i només mostra el que ha canviat:

$ rpm -V setup
missing   c /run/motd
missing     /run/motd.d

Cada lletra indica què és diferent: S mida, 5 contingut (suma), M permisos, U propietari, G grup, T data… La c marca els fitxers de configuració, que és normal que canviïn. rpm -Va revisa tots els paquets: és lent, però útil si sospites que algú ha modificat binaris del sistema.

Claus de signatura

# Importar una clau (en general ho fa dnf en instal·lar el paquet *-release)
sudo rpm --import https://exemple.com/RPM-GPG-KEY

# Veure les claus importades
rpm -qa gpg-pubkey*

Compte amb…

  • --nodeps i --force: et deixen instal·lar o esborrar saltant-te les comprovacions, i és la manera més ràpida de trencar un sistema. Si necessites aquestes opcions, gairebé sempre hi ha una manera millor de fer-ho amb dnf.
  • Nuclis: no facis rpm -Uvh d’un paquet kernel, que substituiria el nucli que funciona. Els nuclis s’instal·len en paral·lel (dnf ja ho fa bé).
  • Barrejar rpm i dnf és correcte (comparteixen la base de dades), però dnf avisa si algú ha tocat la base de dades per fora.

Comandes relacionades

Esta web usa cookies.