Sistemas de paquetes Red Hat: rpm, yum y dnf

Introducción

Las distribuciones basadas en Red Hat (RHEL, Rocky Linux, AlmaLinux, Fedora, CentOS) usan el formato de paquete RPM (RPM Package Manager). La herramienta de bajo nivel es rpm. La herramienta de alto nivel moderna es dnf (Dandified YUM), que reemplaza al clásico yum y resuelve dependencias automáticamente consultando repositorios.

rpm — Gestión a bajo nivel

Opera directamente sobre ficheros .rpm locales, sin resolver dependencias de repositorios.

Instalar, actualizar y eliminar:


# rpm -ivh paquete.rpm           # instalar con verbose y barra de progreso
# rpm -Uvh paquete.rpm           # instalar o actualizar
# rpm -e nombre-paquete          # desinstalar
          

Consultas frecuentes:


$ rpm -qa                        # listar todos los paquetes instalados
$ rpm -qi nginx                  # información de un paquete instalado
$ rpm -ql nginx                  # archivos instalados por un paquete
$ rpm -qf /usr/sbin/nginx        # a qué paquete pertenece un archivo
$ rpm -qp paquete.rpm            # consultar un .rpm sin instalar
$ rpm -qlp paquete.rpm           # listar contenido de un .rpm sin instalar
$ rpm -V nginx                   # verificar integridad de los archivos instalados
          

Verificación de firmas GPG:


$ rpm --checksig paquete.rpm     # verificar firma del paquete
# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
          

dnf — Gestión moderna a alto nivel

dnf es la herramienta estándar en Fedora 22+, RHEL 8+ y Rocky/AlmaLinux. Resuelve dependencias, descarga desde repositorios y gestiona grupos de paquetes.

Operaciones básicas:


# dnf check-update               # comprobar actualizaciones disponibles
# dnf upgrade                    # actualizar todos los paquetes
# dnf install nginx              # instalar un paquete
# dnf remove nginx               # desinstalar
# dnf autoremove                 # eliminar dependencias huérfanas
# dnf clean all                  # limpiar caché de metadatos y paquetes
          

Búsqueda e información:


$ dnf search nginx
$ dnf info nginx
$ dnf list installed
$ dnf list available
$ dnf provides /usr/sbin/nginx   # qué paquete proporciona un archivo
          

Grupos de paquetes:


$ dnf group list
# dnf group install "Development Tools"
# dnf group remove "Development Tools"
          

Historial y reversión:


$ dnf history                    # ver historial de transacciones
# dnf history undo 5             # deshacer la transacción 5
          

yum — La herramienta clásica

yum es el predecesor de dnf. En RHEL 8+ yum es un alias de dnf. Sigue presente en RHEL 7 y CentOS 7.


# yum update
# yum install nginx
# yum remove nginx
$ yum search nginx
$ yum info nginx
$ yum list installed
          

Repositorios en sistemas RPM

Los repositorios se configuran con ficheros .repo en /etc/yum.repos.d/.


# /etc/yum.repos.d/rocky.repo
[baseos]
name=Rocky Linux $releasever - BaseOS
baseurl=https://dl.rockylinux.org/$contentdir/$releasever/BaseOS/$basearch/os/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Rocky-9
enabled=1
          

$ dnf repolist                   # listar repositorios activos
$ dnf repolist all               # listar todos (activos e inactivos)
# dnf config-manager --enable epel
# dnf config-manager --disable epel
          

En sistemas RHEL modernos usa dnf como herramienta habitual; reserva rpm para consultas detalladas o instalación de paquetes locales.

Gestión de paquetes con APT en profundidad

Índice de la sección

Índice del curso