O sistema de pacotes está quebrado. Como corrigi-lo?

40

Eu comprei recentemente um arduino e requer que o gcc-avr / avrdude compile o software. Eu instalei o avr para outro componente de microprocessador há um tempo atrás, mas é obviamente uma versão desatualizada (gcc versão 3.3 20030512 (pré-lançamento)), então fui em frente para atualizá-los, mas não funcionou.

(Por favor note que antes eu também quebrei o meu aptdaemon através de uma instalação de vinho incompleta (não consegui obter um acordo de instalação de fonte), mas consertei isso através de uma reinstalação e aceitei o acordo.

Estou tentando atualizá-los executando o script de criação do bingo mas as dependências requer não podem ser instaladas devido a avr ... relatórios de terminal

Reading package lists... Done
Building dependency tree       
Reading state information... Done
build-essential is already the newest version.
libncurses5-dev is already the newest version.
libncurses5-dev set to manually installed.
libusb-0.1-4 is already the newest version.
libx11-dev is already the newest version.
You might want to run 'apt-get -f install' to correct these:
The following packages have unmet dependencies:
arduino-core : Depends: gcc-avr but it is not going to be installed
avr-libc : Depends: gcc-avr (>= 1:4.3.4) but it is not going to be installed
Depends: binutils-avr (>= 2.20) but it is not going to be installed
binutils-dev : Depends: binutils (= 2.21.0.20110327-2ubuntu3) but 2.21.0.20110327-2ubuntu2 is to be installed
libcwidget-dev : Depends: libcwidget3 (= 0.5.16-3ubuntu2) but it is not going to be installed
Depends: libsigc++-2.0-dev but it is not going to be installed
Depends: libncursesw5-dev but it is not going to be installed
libmpfr-dev : Depends: libgmp3-dev (>= 4.2.dfsg-1) but it is not going to be installed
python-dev : Depends: python (= 2.7.1-0ubuntu5.1) but 2.7.1-0ubuntu5 is to be installed
Depends: python2.7-dev (>= 2.7.1-1~) but it is not going to be installed
tk8.4-dev : Depends: tk8.4 (= 8.4.19-4) but it is not going to be installed
E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).

Mas correndo

apt-get -f install

resulta em

(Reading database ... 163021 files and directories currently installed.)
Unpacking binutils-avr (from .../binutils-avr_2.20.1-1ubuntu2_i386.deb) ...
dpkg: error processing /var/cache/apt/archives/binutils-avr_2.20.1-1ubuntu2_i386.deb (--unpack):
trying to overwrite '/usr/bin/avr-size', which is also in package avr-binutils 2.13.90.030512-2
dpkg-deb: error: subprocess paste was killed by signal (Broken pipe)
Unpacking gcc-avr (from .../gcc-avr_1%3a4.3.5-1_i386.deb) ...
dpkg: error processing /var/cache/apt/archives/gcc-avr_1%3a4.3.5-1_i386.deb (--unpack):
trying to overwrite '/usr/bin/avr-g++', which is also in package avr-gcc-c++ 3.2.90.20030512-2
dpkg-deb: error: subprocess paste was killed by signal (Broken pipe)
Errors were encountered while processing:
/var/cache/apt/archives/binutils-avr_2.20.1-1ubuntu2_i386.deb
/var/cache/apt/archives/gcc-avr_1%3a4.3.5-1_i386.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

Eu tentei executar o gerenciador de atualização e atualizar meu sistema por meio dele, mas tudo que recebi é uma mensagem de erro

The following packages have unmet dependencies:
arduino-core: Depends: gcc-avr but it is not installed
avr-libc: Depends: gcc-avr (>= 1:4.3.4) but it is not installed
Depends: binutils-avr (>= 2.20) but it is not installed

que então me diz para tentar executar o apt-get -f install que apenas resulta da mesma maneira que da última vez.

Então, como posso consertar meu sistema, eu realmente preciso do novo AVR, por favor :) BTW, meu sistema é o Ubuntu 11.04

    
por Vigi 04.04.2012 / 03:41

6 respostas

27

Depois de obter esse erro, tente sudo apt-get -f install para forçar uma instalação dos arquivos que não foram carregados devido ao erro.

Em seguida, tente sudo apt-get update novamente, sudo apt-get -f install para trás e para frente até que apenas o pacote com o erro seja deixado.

sudo dpkg --configure -a

e limpe o cache

sudo apt-get clean

    
por Ringtail 04.04.2012 / 04:41
17

Isso geralmente acontece como resultado de 'Dependências não atendidas para pacotes instalados'.

Aqui está uma solução simples se você tiver o 'Synaptic' instalado:

  • Abra o Synaptic.
  • Ir para "Status" (na navegação à esquerda).
  • Escolha "Quebrado".
  • Remova esses pacotes quebrados.

Caso contrário, pode ser distribuído via CLI:

Abra o terminal e execute este comando:

sudo apt-get clean

O comando acima limpará o repositório local do arquivo do pacote recuperado.

sudo apt-get install -f

Corrigirá dependências quebradas, por exemplo, -f significa "consertar avariadas".

sudo dpkg --configure -a

irá configurar todos ( -a ) os pacotes que ainda não foram configurados. No final, execute o comando de atualização sudo apt-get update .

    
por Nabeel Ahmed 21.04.2013 / 16:22
14

Abra o synaptic . Em seguida, vá para o status e escolha Broken . Em seguida, remova completamente os pacotes quebrados.

Isso deve corrigir seu sistema.

    
por user61928 03.10.2012 / 12:34
3

Tente: sudo apt-get update && sudo apt-get -f install
Espero que isso resolva o problema.

    
por Frantique 03.10.2012 / 12:09
1

Se ainda não o fez, tente alterar a referência do seu repositório de pacotes para 'Principal' ou os Estados Unidos . Isso corrigiu meu problema de dependências não-preenchidas do Python-dev (minha instalação do 12.04 era usando o repositório de pacotes do Reino Unido, anteriormente).

  1. No 'Ubuntu Software Center' (USC), vá para o menu / guia 'Editar = & gt; Fontes de Software '.
  2. Altere o valor suspenso "Fazer o download de" para "Servidor principal" ou um servidor nos Estados Unidos.
  3. Saia do USC, abra o 'Update Manager' do menu do programa do Ubuntu e 'Check' para atualização do software (ou edite 'sudo apt-get update' em uma janela de terminal).
  4. Atualize seu software como faria normalmente, por exemplo via 'Update Manager' ou apt-get / aptitude em um terminal.

Isso consertou meu repositório e eu instalei o que eu precisava depois, como de costume.

Antes de corrigir meu problema com as instruções acima, vários comandos do aptitude / apt-get sugeriram que eu removesse muitos, muitos pacotes, mas, como você pode apreciar, eu não quis perder meus 6 meses + de pacotes adicionais, e isso é mesmo que eu tire um instantâneo da lista de pacotes às vezes (veja meu gist para dicas)! Estou muito feliz por ter descoberto as instruções que estou deixando aqui.

Espero que isso ajude.

    
por Big Rich 12.04.2013 / 00:38
0

Tive o mesmo problema, um

sudo apt-get clean

seguido por um

sudo apt-get update

seguido por um

sudo apt-get upgrade -f

consertou. Espero que isso ajude!

    
por user152730 28.04.2013 / 02:40