La comanda rpm gestiona els paquets .rpm de Red Hat Enterprise Linux, Fedora, Rocky Linux, AlmaLinux, CentOS Stream o openSUSE. Pot instal·lar i esborrar paquets, però on és insubstituïble és a l’hora de consultar: quins paquets tens, quina versió, quins fitxers instal·len, d’on surt un fitxer, què necessita cada paquet o quant ocupa. Aquesta fitxa se centra en les consultes; la fitxa general de la comanda rpm explica també com instal·lar, actualitzar i verificar.
Per instal·lar i actualitzar programes, avui es fa servir dnf (el successor de yum), que resol les dependències. Les consultes amb rpm no necessiten sudo.
Sintaxi
rpm -q [opcions] paquet...
rpm -qa [opcions] [patró]
rpm -qf fitxer...
rpm -qp [opcions] fitxer.rpm
Consultes més útils
| Comanda | Què mostra |
|---|---|
rpm -q paquet | Si està instal·lat i quina versió |
rpm -qa | Tots els paquets instal·lats |
rpm -qa 'patró*' | Els paquets instal·lats que coincideixen amb el patró |
rpm -qi paquet | Informació: versió, mida, llicència, data d’instal·lació, descripció |
rpm -ql paquet | Tots els fitxers que instal·la |
rpm -qc paquet | Només els fitxers de configuració |
rpm -qd paquet | Només la documentació |
rpm -qf /ruta/fitxer | Quin paquet ha instal·lat aquest fitxer |
rpm -qR paquet | Què necessita el paquet (dependències) |
rpm -q --provides paquet | Què ofereix el paquet a altres paquets |
rpm -q --whatrequires capacitat | Quins paquets instal·lats necessiten aquesta capacitat |
rpm -q --changelog paquet | Historial de canvis del paquet |
rpm -q --scripts paquet | Els scripts que s’executen en instal·lar-lo o esborrar-lo |
rpm -qa --last | Els paquets ordenats per data d’instal·lació |
Amb -p davant (-qpi, -qpl, -qpR…) consultes un fitxer .rpm que encara no has instal·lat.
Exemples
Està instal·lat? El codi de sortida també t’ho diu (0 si hi és, 1 si no), cosa útil als scripts:
$ rpm -q bash
bash-5.1.8-9.el9.aarch64
$ rpm -q nginx
package nginx is not installed
Quants paquets hi ha instal·lats:
$ rpm -qa | wc -l
148
D’on surt un fitxer:
$ rpm -qf /etc/hosts /etc/hostname
setup-2.13.7-10.el9.noarch
file /etc/hostname is not owned by any package
Què ofereix un paquet (fixa’t que bash també proporciona /bin/sh):
$ rpm -q --provides bash
/bin/bash
/bin/sh
bash = 5.1.8-9.el9
bash(aarch-64) = 5.1.8-9.el9
config(bash) = 5.1.8-9.el9
Els últims canvis d’un paquet (útil per saber si una actualització corregeix una vulnerabilitat):
$ rpm -q --changelog bash | head -3
* Tue Feb 13 2024 Siteshwar Vashisht <svashisht@redhat.com> - 5.1.8-9
- Fix a performance regression while using large number of environment variables
Resolves: RHEL-20020
Format de sortida personalitzat: --qf
Amb --queryformat (o --qf) tries quins camps vols veure. Els noms dels camps (tags) es llisten amb rpm --querytags.
$ rpm -q --qf "%{NAME}-%{VERSION}-%{RELEASE}.%{ARCH} %{INSTALLTIME:date}\n" bash
bash-5.1.8-9.el9.aarch64 Mon May 25 20:13:49 2026
Els cinc paquets que ocupen més espai, amb la mida en format llegible:
$ rpm -qa --qf "%{SIZE}\t%{NAME}\n" | sort -nr | head -5 | numfmt --to=iec --field=1
34M python3-libs
27M binutils
14M util-linux
14M glib2
9.4M cracklib-dicts
D’on venen els paquets instal·lats (útil per detectar paquets de repositoris externs):
$ rpm -qa --qf "%{VENDOR}\n" | sort | uniq -c
1 (none)
147 Rocky Enterprise Software Foundation
El (none) correspon a la clau de signatura importada (gpg-pubkey), que la base de dades també compta com a paquet.
Les mateixes consultes amb dnf
dnf també consulta els paquets que encara no tens, als repositoris:
Amb rpm (només instal·lats) | Amb dnf (també repositoris) |
|---|---|
rpm -qi paquet | dnf info paquet |
rpm -qf /ruta/fitxer | dnf provides /ruta/fitxer |
rpm -ql paquet | dnf repoquery -l paquet |
rpm -q --whatrequires paquet | dnf repoquery --installed --whatrequires paquet |
Comandes relacionades
- La comanda rpm: instal·lar, actualitzar, esborrar i verificar paquets.
rpm -qa | grep httpd: buscar un paquet entre els instal·lats.rpm -q --whatrequires: qui depèn d’un paquet.- Els paquets que ocupen més espai amb rpm: una altra manera d’ordenar-los per mida.
yumidnf: el gestor de paquets d’alt nivell.dpkg-query: les mateixes consultes a Debian i Ubuntu.