Como consertar um pacote quebrado, quando o “apt-get install -f” não funciona? [duplicado]

22

Eu tentei instalar Scala com a pilha typesafe e tive problemas. Agora eu não posso fazer muito com o apt (exceto update), o pacote quebrado parece ser impossível de remover / limpar:

Veja o resultado de apt-get -f install :

$ sudo apt-get -f install
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Correcting dependencies... Done
The following packages were automatically installed and are no longer required:
  gstreamer0.10-fluendo-mp3:i386 scala-library liboil0.3:i386
Use 'apt-get autoremove' to remove them.
The following extra packages will be installed:
  scala
The following NEW packages will be installed:
  scala
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
4 not fully installed or removed.
Need to get 21.5 MB of archives.
After this operation, 0 B of additional disk space will be used.
Do you want to continue [Y/n]? Y
Get:1 http://apt.typesafe.com/ unicorn/main scala all 2.9.2-400 [21.5 MB]
Fetched 21.5 MB in 13s (1,567 kB/s)                                                                          
(Reading database ... 329381 files and directories currently installed.)
Unpacking scala (from .../scala_2.9.2-400_all.deb) ...
dpkg: error processing /var/cache/apt/archives/scala_2.9.2-400_all.deb (--unpack):
 trying to overwrite '/usr/share/java/scala-partest.jar', which is also in package scala-library 2.9.1.dfsg-3
dpkg-deb: error: subprocess paste was killed by signal (Broken pipe)
Errors were encountered while processing:
 /var/cache/apt/archives/scala_2.9.2-400_all.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

Aqui está minha tentativa de autoremove :

$ apt-get autoremove
E: Could not open lock file /var/lib/dpkg/lock - open (13: Permission denied)
E: Unable to lock the administration directory (/var/lib/dpkg/), are you root?
phdp@desktop:~/work/manuscripts/ideas/ibm_food_webs$ sudo apt-get autoremove
Reading package lists... Done
Building dependency tree       
Reading state information... Done
You might want to run 'apt-get -f install' to correct these.
The following packages have unmet dependencies:
 typesafe-stack : Depends: scala but it is not installed
E: Unmet dependencies. Try using -f.
    
por PhDP 23.05.2012 / 22:39

8 respostas

25

Corrigi meu problema usando este comando:

sudo dpkg -i --force-overwrite path-to-the-deb-file
  • Se --force-overwrite não funcionar, tente:

    sudo dpkg -i --force-overwrite-all path-to-the-deb-file

No seu caso:

sudo dpkg -i --force-overwrite /var/cache/apt/archives/scala_2.9.2-400_all.deb
    
por dzgeek 12.07.2012 / 01:07
7

Parece que a remoção do pacote scala-library e a reconfiguração podem funcionar. Então você está no caminho certo. Os comandos corretos são, nesta ordem:

sudo apt-get autoremove
sudo apt-get install -f

Seu comando autoremove não foi bem-sucedido porque você não o executou como root (usando sudo ).

    
por Eliah Kagan 23.05.2012 / 22:50
4

No meu caso, isso funcionou:

sudo dpkg -P package_name 

(nome não deb)

    
por Ula Karzelek 09.07.2014 / 13:18
2

O seguinte funcionou para mim (embora eu esteja no x86):

$ sudo vim /var/lib/apt/lists/apt.typesafe.com_dists_unicorn_main_binary-i386_Packages

Altere a leitura da linha

Filename: pool/main/s/scala/scala_     2.9.2-400_all.deb

para:

Filename: pool/main/s/scala/scala_%20%20%20%20%202.9.2-400_all.deb

Seguido por:

sudo apt-get remove scala-library
sudo apt-get remove scala
sudo apt-get install scala
    
por Steven Shaw 18.09.2012 / 00:54
2

A maneira fácil de abrir o synaptic . Ele afirma que pacotes quebrados são encontrados, então você tem que localizar os pacotes quebrados e apenas remover, então você pode fazer o que quiser.

    
por user61928 26.09.2012 / 08:47
2

o seguinte comando funcionou.

sudo rm -rf /var/lib/dpkg/updates/*
sudo rm -rf /var/lib/apt/lists/*
sudo rm /var/cache/apt/*.bin
sudo apt-get clean
sudo apt-get autoremove
sudo apt-get update
sudo dpkg --configure -a
sudo apt-get install -f

se ainda estiver recebendo o mesmo erro, tente

sudo dpkg --remove --force-remove-reinstreq package_name 

após remover o pacote, atualize seu sistema e reinicie uma vez.

    
por premal 06.05.2015 / 10:47
0

No meu caso, não consegui atualizar o sistema devido ao seguinte erro ao tentar o sudo apt-get install -f :

update-alternatives: error: /var/lib/dpkg/alternatives/package_name broken: invalid status

Um remédio era remover o arquivo de /var/lib/dpkg/alternatives e repetir o comando acima. Eu corri algumas vezes até que todos os pacotes inválidos foram corrigidos.

No meu caso, isso me impediu de configurar o Java corretamente.

    
por user93144 26.07.2013 / 15:02
-1

Eu tive esse problema uma vez, por alguma razão eu acho que foi um pacote skype

na verdade eu lembro que eu tinha duas vezes, uma vez quando o pacote do Skype só estava quebrado neste caso, se apenas alguns 1. abra o atualizador de software e espere que ele carregue 2. clique em configurações 3. clique em outro separador de software Estes são todos os seus pacotes, olhe para a saída do console, use as últimas linhas para localizar o pacote e remova-o, ou faça-o um por um até não receber mais o erro

Se foi como eu tive uma vez, todos os pacotes não puderam ser restaurados corretamente mesmo que acima, mas clique na guia Software do Ubuntu

verifique apenas a primeira e terceira caixa Selecione o servidor principal na lista suspensa, clique em fechar sudo apt-get update

    
por kris2340k 06.01.2014 / 21:16

Tags