Dependências não atendidas - não é possível remover o pacote libgbm1

13

Nesse caso, eu estou libgbm1sendo realizada, me dando uma mensagem como:

Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.

Como li atentamente Como resolver dependências não atendidas após adicionar um PPA? Tentei remover o pacote quebrado com sudo apt-get remove libgbm1o sugerido. No entanto, o comando remove me deu o mesmo erro.

sudo apt-get upgradenão atualiza este pacote ( "...and 1 not upgraded."). E eu preciso deste para construir alguns outros pacotes que dependem dele ( pkgProblemResoverproblema novamente). Parece que não posso reverter a versão nem avançar.

Etapas que eu já tentei:

  • desabilitando alguns repositórios ppa software updatese sudo apt-get updatedepois tentei consertar com o apt, o que não funcionou.
  • sudo apt-get -f installcom and 1 not upgraded.
  • tentou instalar pacotes que libgbm1dependem. Porém, mais pacotes são apresentados e acumulam rapidamente dezenas deles, o que parece pouco confiável, e eles também relataram erros semelhantes.

Por que não consegui remover o pacote? Como corrigi-lo?

knh170
fonte

Respostas:

23

O problema aqui é bloquear o pacote do criador de problemas e expulsá-lo. Em seguida, você pode corrigir dependências inconsistentes com sudo apt-get -f install.

Portanto, com cautela, você pode usar: sudo dpkg --force-all -P libgbm1para forçar a remoção dos quebrados. Este comando pode danificar seu sistema, então você deve assisti-lo. E tentar corrigir: sudo apt-get -f install.

Se algum pacote também estiver corrompido, repita as etapas acima com cuidado. E sempre que você removeu pacotes quebrados, tente corrigi-los. Eu lidei com o meu problema neste caso.

knh170
fonte
Obrigado, dois dias de dor antes de encontrar sua resposta! Contudo, tenho de completar a sua resposta, porque eu tive que correr sudo apt --fix-broken installdepois sudo dpkg --force-all -P libgbm1de terminar a instalar
Jérémy Pouyet
4

Em vez de se apressar para remover seus pacotes quebrados usando a --force-allopção de dpkg, primeiro tente removê-lo sem essa opção, usando simplesmente

dpkg -P package-name

No meu caso, dpkgimprimi por que não foi possível remover este pacote: outro pacote dependia dele. Depois de remover o dependente, o pacote quebrado pode finalmente ser removido, sem nenhum --force-anything.

Isso pode exigir várias remoções recursivas, caso o dependente também esteja quebrado, mas o resultado final deve ser a correção da cadeia de dependências, que aptnão pôde ser corrigida, pelas remoções.

Ruslan
fonte
1
Esta foi a única solução que eu poderia achar que trabalhou para me ajudar com o meu problema, não conseguir instalar devido a dependências não satisfeitas
WLH