¿Qué es el error "Sub-process /usr/bin/dpkg returned an error code (1)"?
Este error es uno de los fallos más comunes y frustrantes para los usuarios de distribuciones basadas en Debian, como Ubuntu, Linux Mint o Pop!_OS. Ocurre cuando el gestor de paquetes de bajo nivel (dpkg) encuentra un problema inesperado durante la instalación, actualización o desinstalación de un software, lo que bloquea el sistema de empaquetado APT e impide realizar cualquier otra operación.
Causas comunes de este fallo en Linux
- Instalaciones interrumpidas: Apagar el equipo o perder la conexión mientras se instalaba un paquete.
- Dependencias rotas: Paquetes que requieren de otros componentes que no se han configurado correctamente.
- Archivos de configuración corruptos: Problemas en los scripts de preinstalación o postinstalación del paquete.
- Conflictos de software: Intentar instalar programas que chocan con versiones ya existentes.
Método 1: Reconfigurar la base de datos de dpkg
La primera solución y la más sencilla consiste en reconfigurar el gestor de paquetes para que intente retomar y finalizar los procesos que quedaron a medias.
- Abre tu terminal de comandos.
- Ejecuta el siguiente comando para reconfigurar los paquetes pendientes:
sudo dpkg --configure -a - Si el proceso finaliza sin errores, limpia la caché de APT con:
sudo apt clean - Actualiza la lista de paquetes para verificar que todo funciona:
sudo apt update
Método 2: Forzar la instalación y reparar dependencias rotas
Si el método anterior no funciona, es muy probable que existan dependencias rotas que bloquean el instalador. Podemos forzar a APT a buscar y solucionar estas inconsistencias de manera automática.
- En la terminal, ejecuta el comando de reparación de dependencias:
sudo apt --fix-broken install - Si el sistema te solicita confirmación para descargar o eliminar paquetes conflictivos, presiona S o Y y luego Enter.
- Una vez finalizado, ejecuta una actualización general del sistema para asegurar la estabilidad:
sudo apt upgrade
Método 3: Eliminar manualmente los archivos de control del paquete corrupto
Si el error persiste y el mensaje de la terminal señala a un paquete específico como el causante (por ejemplo, 'software-problematico'), puedes eliminar sus archivos de configuración interna en la base de datos de dpkg para desbloquear el sistema.
- Identifica el nombre exacto del paquete que causa el error en la salida de tu terminal.
- Mueve o elimina los archivos de control asociados a ese paquete específico con el siguiente comando (reemplaza 'nombre-paquete' por el software conflictivo):
sudo rm -rf /var/lib/dpkg/info/nombre-paquete.* - Fuerza la limpieza del sistema de paquetes ejecutando:
sudo apt-get clean - Actualiza los repositorios de nuevo:
sudo apt update
Conclusión
El error dpkg devuelto con código de salida 1 suele alarmar a los usuarios, pero generalmente se resuelve limpiando el estado del gestor de paquetes. Siguiendo estos métodos estructurados, recuperarás el control de tu terminal y podrás seguir instalando software en tu sistema Linux de forma segura.