Não é mais possível usar o “apt-get install” devido a “dependências não atendidas”

3

Não me lembro de ter feito nada extravagante em meu computador recentemente, mas não posso executar apt-get install anymore

$ sudo apt-get install phantomjs
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:
 libnspr4 : Breaks: libnspr4:i386 (!= 4.10.7-0ubuntu0.12.04.1) but 4.10.10-0ubuntu0.12.04.1 is to be installed
 libnspr4:i386 : Breaks: libnspr4 (!= 4.10.10-0ubuntu0.12.04.1) but 4.10.7-0ubuntu0.12.04.1 is to be installed
E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).
$ sudo apt-get install -f
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:
  linux-headers-3.2.0-83-generic gir1.2-timezonemap-1.0 node-node-uuid linux-image-3.2.0-89-generic realpath efibootmgr diffstat linux-headers-3.2.0-70-generic
  linux-headers-3.2.0-65-generic linux-headers-3.2.0-26-generic libdmraid1.0.0.rc16 libdebconfclient0 linux-headers-3.2.0-91-generic linux-headers-3.2.0-86-generic linux-headers-3.2.0-26
  linux-headers-3.2.0-63 linux-headers-3.2.0-64 linux-headers-3.2.0-70 linux-headers-3.2.0-65 linux-headers-3.2.0-72 linux-headers-3.2.0-67 linux-headers-3.2.0-68 linux-headers-3.2.0-74
  linux-headers-3.2.0-69 linux-headers-3.2.0-80 linux-headers-3.2.0-75 linux-headers-3.2.0-76 linux-headers-3.2.0-77 linux-headers-3.2.0-83 linux-headers-3.2.0-84 linux-headers-3.2.0-79
  linux-headers-3.2.0-90 linux-headers-3.2.0-91 linux-headers-3.2.0-86 linux-headers-3.2.0-87 linux-headers-3.2.0-88 linux-headers-3.2.0-89 linux-headers-3.2.0-68-generic kpartx-boot
  libopts25 libv8-3.7.12.22 linux-headers-3.2.0-89-generic quilt autogen linux-headers-3.2.0-76-generic linux-tools-3.2.0-90 linux-tools-3.2.0-91 linux-tools-3.2.0-89
  linux-headers-3.2.0-63-generic linux-headers-3.2.0-84-generic linux-headers-3.2.0-79-generic kpartx linux-image-3.13.0-63-generic rdate linux-headers-3.13.0-63
  linux-headers-3.2.0-87-generic libssl-dev libdebian-installer4 linux-headers-3.2.0-74-generic linux-headers-3.2.0-69-generic libopts25-dev libssl-doc linux-image-3.2.0-90-generic
  zlib1g-dev apt-clone linux-headers-3.13.0-63-generic linux-headers-3.2.0-77-generic libev4 libv8-dev linux-headers-3.2.0-64-generic libc-ares2 linux-headers-3.2.0-90-generic libev-dev
  linux-headers-3.2.0-72-generic linux-headers-3.2.0-67-generic archdetect-deb dmraid libc-ares-dev python-pyicu linux-headers-3.2.0-88-generic linux-headers-3.2.0-80-generic
  linux-headers-3.2.0-75-generic linux-image-3.2.0-91-generic libllvm3.0:i386
Use 'apt-get autoremove' to remove them.
The following extra packages will be installed:
  libnspr4
The following packages will be upgraded:
  libnspr4
1 upgraded, 0 newly installed, 0 to remove and 212 not upgraded.
2 not fully installed or removed.
Need to get 0 B/141 kB of archives.
After this operation, 0 B of additional disk space will be used.
Do you want to continue [Y/n]? Y
dpkg: error processing libnspr4 (--configure):
 libnspr4:amd64 4.10.7-0ubuntu0.12.04.1 cannot be configured because libnspr4:i386 is in a different version (4.10.10-0ubuntu0.12.04.1)
dpkg: error processing libnspr4:i386 (--configure):
 libnspr4:i386 4.10.10-0ubuntu0.12.04.1 cannot be configured because libnspr4:amd64 is in a different version (4.10.7-0ubuntu0.12.04.1)
Errors were encountered while processing:
 libnspr4
 libnspr4:i386
E: Sub-process /usr/bin/dpkg returned an error code (1)
$ apt-cache policy libnspr4 libnspr4:i386
libnspr4:
  Installed: 4.10.7-0ubuntu0.12.04.1
  Candidate: 4.10.10-0ubuntu0.12.04.1
  Version table:
     4.10.10-0ubuntu0.12.04.1 0
        500 http://archive.ubuntu.com/ubuntu/ precise-updates/main amd64 Packages
        500 http://security.ubuntu.com/ubuntu/ precise-security/main amd64 Packages
 *** 4.10.7-0ubuntu0.12.04.1 0
        100 /var/lib/dpkg/status
     4.8.9-1ubuntu2 0
        500 http://archive.ubuntu.com/ubuntu/ precise/main amd64 Packages
libnspr4:i386:
  Installed: 4.10.10-0ubuntu0.12.04.1
  Candidate: 4.10.10-0ubuntu0.12.04.1
  Version table:
 *** 4.10.10-0ubuntu0.12.04.1 0
        500 http://archive.ubuntu.com/ubuntu/ precise-updates/main i386 Packages
        500 http://security.ubuntu.com/ubuntu/ precise-security/main i386 Packages
        100 /var/lib/dpkg/status
     4.8.9-1ubuntu2 0
        500 http://archive.ubuntu.com/ubuntu/ precise/main i386 Packages
$ sudo apt-get install libnspr4=4.10.10-0ubuntu0.12.04.1
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages will be upgraded:
  libnspr4
1 upgraded, 0 newly installed, 0 to remove and 140 not upgraded.
5 not fully installed or removed.
Need to get 0 B/141 kB of archives.
After this operation, 0 B of additional disk space will be used.
dpkg: error processing libnspr4 (--configure):
 libnspr4:amd64 4.10.7-0ubuntu0.12.04.1 cannot be configured because libnspr4:i386 is in a different version (4.10.10-0ubuntu0.12.04.1)
dpkg: error processing libnspr4:i386 (--configure):
 libnspr4:i386 4.10.10-0ubuntu0.12.04.1 cannot be configured because libnspr4:amd64 is in a different version (4.10.7-0ubuntu0.12.04.1)
dpkg: dependency problems prevent configuration of libnss3:
 libnss3 depends on libnspr4 (>= 4.8.6); however:
  Package libnspr4 is not configured yet.
dpkg: error processing libnss3 (--configure):
 dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of libnss3:i386:
 libnss3:i386 depends on libnspr4 (>= 4.8.6); however:
  Package libnspr4:i386 is not configured yet.
dpkg: error processing libnss3:i386 (--configure):
 dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of libnss3-1d:
 libnss3-1d depends on libnss3 (= 2:3.21-0ubuntu0.12.04.2); however:
 No apport report written because the error message indicates its a followup error from a previous failure.
                                                                                                           No apport report written because the error message indicates its a followup error from a previous failure.
                        Package libnss3 is not configured yet.
dpkg: error processing libnss3-1d (--configure):
 dependency problems - leaving unconfigured
Errors were encountered while processing:
 libnspr4
 libnspr4:i386
 libnss3
 libnss3:i386
 libnss3-1d
E: Sub-process /usr/bin/dpkg returned an error code (1)

Alguém pode me dizer como corrigir esse problema? Eu fiz algumas tentativas, mas não tenho ideia: (

    
por Sebastien Lorber 03.03.2016 / 11:56

2 respostas

6

Você deve garantir que as construções de 32 bits ( libnspr4:i386 ) e 64 bits ( libnspr4 ) de uma biblioteca estejam presentes na mesma versão.

Por alguma razão (apenas atualização parcial ou um PPA instalado talvez?) apenas uma arquitetura foi atualizada e a outra não, parece.

A compilação de 64 bits ainda está presa em uma versão mais antiga que nem é mais baixada. Nós o atualizamos para a mesma versão que a compilação de 32 bits do repositório updates/main :

sudo apt-get install libnspr4=4.10.10-0ubuntu0.12.04.1

Isso deve resolver os conflitos.

Atualização:

Como minha primeira tentativa não funcionou, agora vamos forçar a remoção de ambas as arquiteturas do pacote, deixando todos os pacotes que dependem deles instalados e, em seguida, reinstalando-os de forma limpa.

Você deve fechar todas as coisas em execução e não fazer nada entre a remoção e a instalação, porque eu não sei quais de seus aplicativos dependem disso e podem travar enquanto faltarem.

Em seguida, execute os seguintes comandos nesta sequência:

sudo apt-get autoclean
sudo dpkg --remove --force-depends libnspr4 libnspr4:i386
sudo apt-get install -f

Além disso, para manter o sistema de pacotes em boa forma e liberar algum espaço, recomendo também executar esses comandos. Eles removerão pacotes de instalação binários em cache desatualizados do seu disco e removerão pacotes antigos que não são mais necessários, incluindo alguns kernels antigos:

sudo apt-get autoclean
sudo apt-get autoremove
    
por Byte Commander 03.03.2016 / 12:34
2

O seu problema é que as versões i386 e amd64 dos pacotes têm que ser idênticas em ambas as arquiteturas, você precisa fazê-las corresponder. Em vez de tentar remover os pacotes, o que é uma má idéia, você pode baixar e instalar os dois:

apt-get download libnspr4:amd64 libnspr4:i386
sudo dpkg --force-depends-version -i libnspr4*.deb

Isso garantirá que ambos os pacotes sejam instalados sem problemas de dependência que você pode precisar corrigir posteriormente.

    
por Braiam 05.03.2016 / 04:16

Tags