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