Skip to Content

Sintomas comuns

  • apt install relata “dependência não satisfeita”
  • dpkg é interrompido e não pode continuar a instalação
  • A mensagem “pacotes quebrados retidos” aparece
  • O status do pacote é “meio instalado” ou “meio configurado”
Note

A maioria dos problemas de pacotes podem ser resolvidos com as três primeiras etapas (dpkg --configure -a, apt --fix-broken install, apt update && apt upgrade). Experimente-os em ordem e não se apresse em usar métodos de reparo avançados.

Procedimento de reparo padrão

Experimente as etapas a seguir em ordem. As primeiras etapas geralmente resolvem o problema.

Etapa 1: corrigir dpkg interrompido

sudo dpkg --configure -a

Etapa 2: corrigir dependências

sudo apt --fix-broken install

Etapa 3: atualizar e limpar

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

Reparo Avançado

Forçar pacotes de correção

# 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

Limpar cache do pacote

# 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

Corrigir bloqueio do dpkg

Se você receber “Não é possível bloquear o diretório de administração”:

# 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 banco de dados dpkg

Em casos extremos onde o banco de dados dpkg está corrompido:

# 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

Solução de problemas de conflitos de dependência

Ver dependências do pacote

# 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

Conflitos causados ​​por PPAs

PPAs de terceiros são uma fonte comum de conflitos de dependência:

# 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

Conflitos de retenção de versão

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

Problemas com o pacote Snap

# 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

Se nenhum dos métodos acima funcionar, tente:

# 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

Dicas de prevenção

  1. Evite adicionar PPAs de terceiros não confiáveis
  2. Não misture fontes de software de diferentes versões do Ubuntu
  3. Execute regularmente sudo apt update && sudo apt upgrade
  4. Use apt install -s para simular a instalação e verificar conflitos
  5. Mantenha as versões dos pacotes do sistema consistentes; evite instalar manualmente arquivos .deb que substituem pacotes do sistema