Inicio » [SOLUCIONADO] Could not get lock /var/lib/dpkg/lock-frontend en Ubuntu y Debian
Sistemas y Servidores

[SOLUCIONADO] Could not get lock /var/lib/dpkg/lock-frontend en Ubuntu y Debian

Al intentar ejecutar apt update o apt install en Ubuntu o Debian, la terminal arroja: E: Could not get lock /var/lib/dpkg/lock-frontend - open (11: Resource temporarily unavailable) y E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), is another process using it?. Esto ocurre porque dpkg utiliza un cerrojo exclusivo para evitar que dos procesos modifiquen la base de datos de paquetes al mismo tiempo.

El Diagnóstico Rápido

Causa
El servicio de actualizaciones automáticas en segundo plano (unattended-upgrades) está ocupando el gestor de paquetes
Solución
Esperar a que termine o detener el proceso apt/dpkg huérfano con kill
Causa
Bloqueo residual o corrupto tras cancelar abruptamente una instalación de software
Solución
Liberar los archivos de lock y reparar la base de datos con dpkg --configure -a

La Solución Paso a Paso

  1. 1

    Paso 1: Identificar el proceso que retiene el bloqueo

    No borres los archivos de bloqueo a ciegas. Primero comprueba si es el actualizador automático del sistema (unattended-upgrades o apt.systemd.daily):

    BASH
    sudo lsof /var/lib/dpkg/lock-frontend
    # O bien buscando procesos activos de apt
    ps aux | grep -i -E 'apt|dpkg'
    

    Si ves que unattended-upgrades está corriendo, lo más seguro es esperar de 2 a 5 minutos a que finalice la instalación de parches de seguridad.

  2. 2

    Paso 2: Detener procesos bloqueados si el sistema se colgó

    Si el proceso lleva horas atascado o la terminal anterior se cerró inesperadamente, finaliza el proceso por su PID:

    BASH
    sudo killall apt apt-get dpkg
    # Si no responde de forma suave
    sudo killall -9 apt apt-get dpkg
    
  3. 3

    Paso 3: Eliminar cerrojos residuales y reparar la base de datos

    Una vez que ningún proceso esté usando dpkg, elimina los cerrojos residuales y repara el estado de los paquetes pendientes:

    BASH
    sudo rm -f /var/lib/dpkg/lock-frontend
    sudo rm -f /var/lib/dpkg/lock
    sudo rm -f /var/lib/apt/lists/lock
    sudo rm -f /var/cache/apt/archives/lock
    
    # Reconfigurar paquetes que quedaron a medio instalar
    sudo dpkg --configure -a
    sudo apt-get install -f
    

Preguntas Frecuentes

¿Es peligroso borrar los archivos lock directamente?

Sí, si un proceso de actualización está realmente escribiendo en el disco, borrar el bloqueo y lanzar otra instalación simultánea corromperá la base de datos de dpkg.

¿Cómo desactivo las actualizaciones automáticas desatendidas si interfieren con mis despliegues?

Ejecuta sudo dpkg-reconfigure unattended-upgrades y selecciona "No", o deshabilita los temporizadores con sudo systemctl disable --now apt-daily.timer apt-daily-upgrade.timer.

Consejo de Prevención

Prácticas de seguridad recomendadas:

  • Nunca apagues el servidor ni cierres bruscamente la terminal mientras apt o dpkg estén desempaquetando paquetes.
  • Si gestionas servidores con Ansible o scripts de aprovisionamiento, añade una tarea que espere a que /var/lib/dpkg/lock-frontend se libere antes de lanzar comandos apt.
Autor • Diseñador Web & Creador de Apps

Rodolfo Castro

Diseñador web, creador de aplicaciones y fundador de SoporteCero. Especialista en desarrollo de productos digitales, interfaz de usuario y arquitectura web (Pixel Digital Dz). Cada tutorial y solución de SoporteCero es reproducido y verificado en laboratorio técnico para ofrecer guías funcionales y actualizadas.