Skip to Content

Síntomas comunes

  • apt install informa “dependencia no satisfecha”
  • dpkg se interrumpe y no puede continuar con la instalación
  • Aparece el mensaje “paquetes rotos retenidos”
  • El estado del paquete es “medio instalado” o “medio configurado”
Note

La mayoría de los problemas de paquetes se pueden resolver con los primeros tres pasos (dpkg --configure -a, apt --fix-broken install, apt update && apt upgrade). Pruébelos en orden y no se apresure a utilizar métodos de reparación avanzados.

Procedimiento de reparación estándar

Pruebe los siguientes pasos en orden. Los primeros pasos suelen resolver el problema.

Paso 1: Reparar dpkg interrumpido

sudo dpkg --configure -a

Paso 2: arreglar las dependencias

sudo apt --fix-broken install

Paso 3: actualizar y limpiar

sudo apt update sudo apt upgrade sudo apt autoremove sudo apt autoclean

Reparación avanzada

Forzar paquetes de reparación

# View problematic packages dpkg -l | grep -E "^..[^i ]" # Force reinstall a package sudo apt install --reinstall PACKAGE_NAME # Force remove a broken package sudo dpkg --remove --force-remove-reinstreq PACKAGE_NAME

Borrar caché de paquetes

# Delete all downloaded package cache sudo apt clean # Delete only outdated packages sudo apt autoclean # Manual cleanup sudo rm /var/cache/apt/archives/*.deb sudo rm /var/cache/apt/archives/partial/*.deb

Reparar bloqueo dpkg

Si aparece “No se puede bloquear el directorio de administración”:

# Check if other apt/dpkg processes are running ps aux | grep -E "apt|dpkg" # If you confirm no other processes are running, delete the lock files sudo rm /var/lib/dpkg/lock-frontend sudo rm /var/lib/dpkg/lock sudo rm /var/cache/apt/archives/lock sudo dpkg --configure -a

Reconstruir la base de datos dpkg

En casos extremos en los que la base de datos dpkg esté dañada:

# Back up existing database sudo cp -r /var/lib/dpkg /var/lib/dpkg.backup # Restore the status file from the system's daily backup (status is dpkg's core database) ls -t /var/backups/dpkg.status.* # List available backup snapshots sudo cp /var/backups/dpkg.status.0 /var/lib/dpkg/status # .0 is newest; use an older snapshot if needed sudo dpkg --clear-avail sudo apt update

Solución de problemas de conflictos de dependencia

Ver dependencias de paquetes

# View dependencies of a package apt depends PACKAGE_NAME # View which packages depend on a package apt rdepends PACKAGE_NAME # Simulate installation to see conflicts apt install -s PACKAGE_NAME

Conflictos causados ​​por los PPA

Los PPA de terceros son una fuente común de conflictos de dependencia:

# List added PPAs grep -rh "^deb " /etc/apt/sources.list.d/ | sort # Disable a problematic PPA sudo add-apt-repository --remove ppa:xxx/yyy # Downgrade PPA-installed packages to official versions sudo apt install ppa-purge sudo ppa-purge ppa:xxx/yyy

Conflictos de retención de versiones

# View held packages apt-mark showhold # Unhold a package sudo apt-mark unhold PACKAGE_NAME

Snap Problemas con el paquete

# View snap status snap list # Fix snap sudo snap refresh # Reinstall a problematic snap sudo snap remove PACKAGE_NAME sudo snap install PACKAGE_NAME

Último recurso

Si ninguno de los métodos anteriores funciona, intente:

# Completely reinstall the package management system (use with caution) sudo apt install --reinstall dpkg apt # Or use aptitude for interactive conflict resolution sudo apt install aptitude sudo aptitude install PACKAGE_NAME # aptitude will offer multiple solutions to choose from

Consejos de prevención

  1. Evite agregar PPA de terceros que no sean de confianza
  2. No mezcle fuentes de software de diferentes versiones de Ubuntu
  3. Ejecute regularmente sudo apt update && sudo apt upgrade
  4. Utilice apt install -s para simular la instalación y comprobar si hay conflictos
  5. Mantenga las versiones de los paquetes del sistema consistentes; evite instalar manualmente archivos .deb que anulan los paquetes del sistema