Dependências não satisfeitas usando o aptitude para instalar bind9

1

Estou recebendo um erro ao tentar instalar o bind9 no Ubuntu 12.04 que eu fiz

sudo aptitude install bind9


The following NEW packages will be installed:
  bind9{b} 
0 packages upgraded, 1 newly installed, 0 to remove and 1 not upgraded.
Need to get 336 kB of archives. After unpacking 962 kB will be used.
The following packages have unmet dependencies:
 bind9 : Depends: libbind9-80 (= 1:9.8.1.dfsg.P1-4) but 1:9.8.1.dfsg.P1-4ubuntu0.5 is installed.
         Depends: libdns81 (= 1:9.8.1.dfsg.P1-4) but 1:9.8.1.dfsg.P1-4ubuntu0.5 is installed.
         Depends: libisc83 (= 1:9.8.1.dfsg.P1-4) but 1:9.8.1.dfsg.P1-4ubuntu0.5 is installed.
         Depends: libisccc80 (= 1:9.8.1.dfsg.P1-4) but 1:9.8.1.dfsg.P1-4ubuntu0.5 is installed.
         Depends: libisccfg82 (= 1:9.8.1.dfsg.P1-4) but 1:9.8.1.dfsg.P1-4ubuntu0.5 is installed.
         Depends: liblwres80 (= 1:9.8.1.dfsg.P1-4) but 1:9.8.1.dfsg.P1-4ubuntu0.5 is installed.
         Depends: bind9utils (= 1:9.8.1.dfsg.P1-4) but it is not going to be installed.
Internal error: the solver Install(avahi-daemon:i386 0.6.30-5ubuntu2 <libnss-mdns:amd64 0.10-3.2 -> {avahi-daemon:amd64 0.6.30-5ubuntu2 avahi-daemon:i386 0.6.30-5ubuntu2}>) of a supposedly unresolved dependency is already installed in step 21
Internal error: the solver Install(lsb-base:amd64 4.0-0ubuntu20 <avahi-daemon:i386 0.6.30-5ubuntu2 -> {lsb-base:amd64 4.0-0ubuntu20 lsb-base:amd64 4.0-0ubuntu20.2}>) of a supposedly unresolved dependency is already installed in step 37
The following actions will resolve these dependencies:

     Keep the following packages at their current version:
1)     bind9 [Not Installed]                              



Accept this solution? [Y/n/q/?] Y
No packages will be installed, upgraded, or removed.
0 packages upgraded, 0 newly installed, 0 to remove and 1 not upgraded.
Need to get 0 B of archives. After unpacking 0 B will be used.

como devo proceder aqui?

responda a um comentário abaixo

sudo apt-cache policy bind9 libbind9-80
[sudo] password for deel: 
bind9:
  Installed: (none)
  Candidate: 1:9.8.1.dfsg.P1-4
  Version table:
     1:9.8.1.dfsg.P1-4 0
        500 http://us.archive.ubuntu.com/ubuntu/ precise/main amd64 Packages
libbind9-80:
  Installed: 1:9.8.1.dfsg.P1-4ubuntu0.5
  Candidate: 1:9.8.1.dfsg.P1-4ubuntu0.5
  Version table:
 *** 1:9.8.1.dfsg.P1-4ubuntu0.5 0
        100 /var/lib/dpkg/status
     1:9.8.1.dfsg.P1-4 0
        500 http://us.archive.ubuntu.com/ubuntu/ precise/main amd64 Packages
    
por Registered User 09.10.2013 / 17:39

2 respostas

0

O problema é bastante simples, de alguma forma você instalou uma versão superior de algumas das dependências de ligação que não estão no repositório principal. A maneira de resolvê-lo é fazer com que o aptitude faça o downgrade dos pacotes.

sudo aptitude update
sudo aptitude install bind9=1:9.8.1.dfsg.P1-4 libbind9-80=1:9.8.1.dfsg.P1-4 libdns81=1:9.8.1.dfsg.P1-4 libisc83=1:9.8.1.dfsg.P1-4 libisccc80=1:9.8.1.dfsg.P1-4 libisccfg82=1:9.8.1.dfsg.P1-4 liblwres80=1:9.8.1.dfsg.P1-4
sudo aptitude safe-upgrade

Se você quiser fazer com que o aptitude resolva ele mesmo as dependências, você só precisa dizer n para a pergunta:

% bl0ck_qu0te%

Então o aptitude oferecerá outra solução, sendo o importante onde diz "downgrade". Como você pode ver a solução oferecida mantém o bind9 desinstalado, é por isso que você termina sem instalá-lo.

% bl0ck_qu0te%

apt-cache policy lista a origem e a versão de quaisquer pacotes, que no seu caso estavam apenas em /var/lib/dpkg/status , o que é interpretado como se o pacote existisse apenas localmente e em nenhum outro repositório. Um exemplo de um pacote que indica está nos repositórios e localmente:

apt-cache policy aptitude
aptitude:
  Installed: 0.6.8.1-2ubuntu2
  Candidate: 0.6.8.1-2ubuntu2
  Version table:
 *** 0.6.8.1-2ubuntu2 0
        500 http://archive.ubuntu.com/ubuntu/ raring/main amd64 Packages
        100 /var/lib/dpkg/status

Como você pode ver, a mesma versão está em /var/lib/dpkg/status e nos repositórios do Ubuntu.

    
por Braiam 09.10.2013 / 18:26
0

Pressione n quando perguntar se você aceita a solução (Y / n / q). O Aptitude oferecerá uma nova solução e, em seguida, atingirá y . Provavelmente funcionará!

Felicidades,

    
por anh_ng8 16.11.2015 / 06:13