Logotipo de Bitdoze

Arreglar el aviso «Waiting for Transaction Lock on /var/lib/rpm/.rpm.lock»

Aprende a resolver el error de bloqueo de transacciones de RPM que impide instalar y gestionar paquetes en sistemas Linux.

Dragos

2 min de lectura

Arreglar el aviso «Waiting for Transaction Lock on /var/lib/rpm/.rpm.lock»

¿Ves este error al ejecutar yum o dnf?

bash
warning: waiting for transaction lock on /var/lib/rpm/.rpm.lock

Hay otro proceso de paquetes en ejecución, o uno anterior falló y dejó atrás un archivo de bloqueo. Así se soluciona.

Causas del problema

  1. Operaciones simultáneas - Varios comandos yum/dnf ejecutándose a la vez
  2. Procesos interrumpidos - Una instalación o actualización anterior se interrumpió
  3. Bloqueos residuales - Un fallo del sistema dejó archivos de bloqueo atrás

La solución

Paso 1: Terminar los procesos atascados

bash
sudo pkill -9 -f 'dnf|yum|rpm'

Paso 2: Eliminar los archivos de bloqueo

bash
sudo rm -f /var/lib/rpm/.rpm.lock
sudo rm -f /var/cache/dnf/metadata_lock.pid

Paso 3: Reconstruir la base de datos RPM (si es necesario)

bash
mkdir /var/lib/rpm/backup
cp -a /var/lib/rpm/__db* /var/lib/rpm/backup/
rm -f /var/lib/rpm/__db.[0-9][0-9]*
rpm --rebuilddb
yum clean all

Solución rápida (sin reconstruir la base de datos)

Si solo necesitas liberar el bloqueo:

bash
sudo pkill -9 -f 'dnf|yum|rpm'
sudo rm -f /var/lib/rpm/.rpm.lock
sudo rm -f /var/cache/dnf/metadata_lock.pid

Comprueba que funcionó

bash
rpm -qa | head -5
sudo yum update

Prevención

  1. No ejecutes varios comandos de paquetes a la vez
  2. Comprueba qué se está ejecutando antes de empezar:
    bash
    ps aux | grep -E 'yum|dnf|rpm'
  3. Usa Ctrl+C para detener procesos en lugar de kill -9
  4. Evita que los scripts automatizados se solapen

¿Sigue sin funcionar?

Revisa los registros:

bash
sudo journalctl -xe | grep -E 'yum|dnf|rpm'
ls -la /var/lib/rpm/