---
title: "Arreglar el aviso «Waiting for Transaction Lock on /var/lib/rpm/.rpm.lock»"
description: "Aprende a resolver el error de bloqueo de transacciones de RPM que impide instalar y gestionar paquetes en sistemas Linux."
date: 2025-06-27
categories: ["self-hosting"]
tags: ["linux"]
---

¿Ves este error al ejecutar `yum` o `dnf`?

```sh
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/
```